Is there a time limit for a node to respond to a message? Is there a difference between PDO and SDO messages in terms of response time? Or does this only depend on how the Master gets implemented?
Is there any documentation about this?
Is there a time limit for a node to respond to a message? Is there a difference between PDO and SDO messages in terms of response time? Or does this only depend on how the Master gets implemented?
Is there any documentation about this?
Copyright © 2021 Jogjafile Inc.
Generally, no. CiA 301 says (Annex A, informative):
Furthermore, CANopen separates data and supervision, so checking if nodes are alive should be done with the Heartbeat protocol separately.
It is reasonably in most applications to implement a timeout, especially on mission-critical data. My general recommendation for control systems (automotive/industrial) that is used to steer some manner of machine or is otherwise safety-related, is to use PDO inhibit time and event timer on the PDO producer, to have it send out data cyclically every 10ms or 100ms.
And then the PDO consumer should have a corresponding timeout after which it enters a safe mode/error state. Some safety-related protocols expect data to arrive within a certain time window even - neither too late nor too early. It all depends on the specific application, how fast it needs to be reacting and if there are safety-related aspects or not.