S7-1200 CANbus to engine ECU


#1

Looking to interface a SIemens S7-1200 with an engine ECU via CANbus/OBD2. Is this possible using the HMS module, what is involved from a programming point of view?

Thanks


#2

Hello,

I apologize for the delay. Could you give a little more detail on what kind of CAN protocol is utilized in this ECU?

Is it J1939? Does it use 11-bit or 29-bit CAN ids?

The CANopen CM module support CANopen and then can be used in a generic transparent mode. This transparent mode only supports 11-bit ID.

Thanks!

Nick


#3

Hello,

If you would like more information please feel free to ask here or your local HMS support office. Thanks!

Nick


#4

J1939 is a Canopen 2.0B framework, which I believe uses a 29bit identifier. Is there any way the PLC module can be extended to use 2.0B?


#5

Hello,

Unfortunately not, the CM CANopen module does not support CAN 2.0B. J1939 is actually a protocol that uses CAN bus. CANopen is a totally separate protocol that is unrelated to J1939.

Best regards,
Nick


#7

I guess I had my CAN’s mixed up. That’s too bad, our machinery runs off the s7-1200 family, it would be much easier to integrate our CAN communications into the same development interface instead of relying on 3rd part configuration tools.

I understand that CAN and CANOpen utilize two different data link layer standards. Out of curiosity, what are the differences?


#8

Hello,

Yes, sorry for the inconvenience.

CANopen is an protocol that sits on top of a CAN bus. So CANopen defines the object module and what certain messages and CAN IDs mean in the communication between devices. CAN describes what frames look like and how the physical bus works (termination, baud rates amount of data available.

Best regards,
Nick