Not a bug

J1939 Source adress from integer

Richard Gagnardot 4 years ago in IQANdesign updated 4 years ago 5

It seems that it is not possible to link a math integer or integer paremeter as J1939 source adress in external function....

Satisfaction mark by Richard Gagnardot 4 years ago

Correct.  The channel needs to be placed in the initialization group, which isn't available in an external function.  J1939 devices are part of the system layout, which isn't included in an external function.

Understood, but in my case, I have to use 2 cooling pumps where the SA of the command message and the status message are determined by the hardware (resistors in the connector). So the two functions are identical except for the source address.


Hi Richard, just create two J1939 modules in this case the id is fixed. is for some reason you use one, disable the other

Not a bug

For reading information from the device (the status message in this case), the JFIN will be associated with the module it is located on in the system layout. After adding the instance of the external function, just drag the JFIN to the module matching the source address. 

For sending to the device (the command message in this case), the default setting on the JFOUT is to use the IQAN master  source address as the source address. 

If the sending of commands to the device was done with a J1939 PDU1 messages (the type that is designed to have destination address) it would have been easy, then you'd just drop the JFOUT of the module in the system layout. 

But in this case, when the cooling pump controller command has been designed as a broadcast PDU2 message from different source addresses, you need to set this as a constant or constant channel on the JFOUT. 

As Ed mentioned, constant channels are only available in the main project, not in externals. So you will need to duplicate the JFOUT