Technical FAQs

Ask a Question

Reading and Writing SDOs from a M340 PLC via CANopen without programmed logic.

Goals and Symptoms

M340, CANopen

Causes and Fixes

It is possible to read/write SDOs to/from a supported CAN device connected to a M340 PLC.
This is accomplished by tools located in the configuration of the CAN Device while online with Unity Pro Software.

First while connected online and running with Unity open the supported CAN device from the Configuration tree.


Next double click on the device name and then on the CANopen tab.



To do a Read SDO choose this under the Request to send menu. Then chose the Index and Subindex of the SDO you want to read.

Notice the Parameter Name and Parameter Size of the SDO are displayed.
Press send and the current value of the SDO is displayed in the Response Received section in Hex.

Note: The format is LSB (Least Significant Byte) first then MSB (Most Significant Byte) last. If you are reading a double word then the LSW (Least Significant Word) is first followed by the MSW (Most Significant Word).


In this example the Response Received is 4D01. Flip the Bytes we get 014D Hex which converts to 333 or 33.3 seconds for Acceleration

To Write an SDO the process is pretty much the same with some exceptions.
First chose Write SDO from the Request to send menu. Again chose the Index and Subindex of the SDO you want to Write to.

But know the Value section is not grayed out and needs to be filled in. You must input this value in HEX with the LSB first followed by the MSB

Example: Let say we want to write 100.0 seconds to the Acceleration. We would need to send a Value of 1000 DEC which converts into 3E8 HEX putting the LSB first and then the MSB we get E803.

Press send to Write to the SDO.



Note: These are one time reads/writes (not continuous) if you want to continually read/write to an SDO you will need to do so via the PLC program or by other means.


Was this helpful?
What can we do to improve the information ?