Author Topic: Transmitting J1939 Messages  (Read 14579 times)

Offline clindhorst2

  • PLUS+1 User
  • **
  • Posts: 8
  • Karma: +0/-0
Transmitting J1939 Messages
« on: April 18, 2016, 05:08:26 AM »
Hello all,

I Thought I would give this a shot. I do not know how to transmit CAN using the J1939 standard. I'm having a hard time deciphering what they need as the inputs. I am fairly new to the Plus +1 family. I would like an example that helps point out where things need to go.

Thanks

Offline FluidPowerTom

  • PLUS+1 Guru
  • *****
  • Posts: 363
  • Karma: +33/-0
Re: Transmitting J1939 Messages
« Reply #1 on: April 18, 2016, 06:23:41 PM »
First you'll want to grab the J1939 Function Block library here http://powersolutions.danfoss.com/products/plus-1-software/plus-1-function-block-library/.  Scroll down the page until you see it.

What message are you trying to transmit?  Are you very familiar with CAN and J1939 and just new to PLUS1?
Controls Engineer
Hydra-Power Systems

Offline clindhorst2

  • PLUS+1 User
  • **
  • Posts: 8
  • Karma: +0/-0
Re: Transmitting J1939 Messages
« Reply #2 on: April 19, 2016, 03:35:54 AM »
I'm trying to transmit simple engine things like: engine speed, engine oil temperature, etc. I have a file that states the things needed to identify messages like the SPN, PNG, and byte position. I haven't had chance to download the function block yet. I didn't know if those would tell me what I needed to know or not.

Offline FluidPowerTom

  • PLUS+1 Guru
  • *****
  • Posts: 363
  • Karma: +33/-0
Re: Transmitting J1939 Messages
« Reply #3 on: April 19, 2016, 08:05:55 PM »
Gotcha.  The engine ECU will most likely be transmitting that data already, so you will just need to receive it.  There are premade function blocks for that in that library such that you don't really have to worry about byte position or any of the nuts and bolts.  You just place the necessary function blocks (ex:  EEC1 for engine RPM) and connect it in the GUIDE software.  It will already have, for example, engine RPM scaled from the correct bytes from the CAN bus.  The J1939 Function Blocks Library also includes a User Manual which you can open after installing it.  The pdf for the manual is at the top of the list of function blocks within GUIDE.
« Last Edit: April 19, 2016, 08:11:34 PM by FluidPowerTom »
Controls Engineer
Hydra-Power Systems

Offline clindhorst2

  • PLUS+1 User
  • **
  • Posts: 8
  • Karma: +0/-0
Re: Transmitting J1939 Messages
« Reply #4 on: April 19, 2016, 09:41:08 PM »
My engine does not have an ECU on it so I'm using Danfoss as an engine ECU.  I don't know if I can do this. I'm thinking I can.

Offline FluidPowerTom

  • PLUS+1 Guru
  • *****
  • Posts: 363
  • Karma: +33/-0
Re: Transmitting J1939 Messages
« Reply #5 on: April 19, 2016, 10:14:45 PM »
With some limitations the Danfoss ECU can absolutely transmit J1939 messages that will be the same as if they were sent from an engine ECU.
Controls Engineer
Hydra-Power Systems

Offline clindhorst2

  • PLUS+1 User
  • **
  • Posts: 8
  • Karma: +0/-0
Re: Transmitting J1939 Messages
« Reply #6 on: April 20, 2016, 03:35:15 AM »
I would like them to sent across the CAN to be read by an OBDII connector so I can read stuff on the fly. I don't have the funds to buy a display screen.

Offline FluidPowerTom

  • PLUS+1 Guru
  • *****
  • Posts: 363
  • Karma: +33/-0
Re: Transmitting J1939 Messages
« Reply #7 on: April 21, 2016, 08:18:10 PM »
That's possible with PLUS+1 controllers.  These controllers will allow you to receive and transmit any CAN protocol since they allow you to manually construct the CAN message.  I recommend reading from some of the many sources about CAN message structure and how it is done with the J1939 and OBDII protocols.  The programming part actually probably won't take too much time as long as you're familiar with PLUS+1 GUIDE, CAN message structure, binary, and hexadecimal.
Controls Engineer
Hydra-Power Systems