I have a Codesys compatible PLC with several CANopen sensors. Three of them periodically goes in heartbeat timeout, but I found from logging the canbus, that it is caused by the CANopen master sending NMT reset (0000 2 81 xx) messages to one of the sensors peridically. The CANopen library contains implicit functions blocks that are called by the configuration, so I have difficulty determining why it happens. I have added the CAN_DEBUG in compile define, but that did not yield any valuable information regarding this issue. Can anyone provide more debugging information? Thank you
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have a Codesys compatible PLC with several CANopen sensors. Three of them periodically goes in heartbeat timeout, but I found from logging the canbus, that it is caused by the CANopen master sending NMT reset (0000 2 81 xx) messages to one of the sensors peridically. The CANopen library contains implicit functions blocks that are called by the configuration, so I have difficulty determining why it happens. I have added the CAN_DEBUG in compile define, but that did not yield any valuable information regarding this issue. Can anyone provide more debugging information? Thank you
"CANopen Manager -> General -> NMT error behavior" is perhaps set to "Stop Slave"?
Shame that there isn't a "Do nothing" option...
Thank you for your reply. That is actually set to reset slave.