Why using RTRs is not advised in CANopen?
RTR means Remote Transmission Request - a CAN frame requesting another node to send a requested frame.
CiA, especially the Special Interest Group CANopen is not recommending using RTR Messages. You may ask: why?
The CiA has a paper explaining the contras and giving advice for better solutions. CiA 802 V1.1.0: CANopen application note - CAN remote frames: Avoiding of usage (IGCO_802v01010000.pdf)
It can be downloaded free of charge after a registration at CiA specifications.
In short the main topics:
- The number of transmit messages buffers supporting CAN remote frames is limited on most so-called Full CAN controllers.
- Implementation of a CAN driver handling RTR is much more complex. On some controllers impossible.
- Some CAN controllers react different on the 'data length' code in the RTR frame and the data frame. This is due to differences in the CAN implementation.