The document discusses CANopen PDO mapping, which describes which process variables are transmitted in PDO messages. It outlines the required PDO re-mapping procedure according to CiA 301, which involves disabling the existing PDO mapping, modifying the mapping, and then re-enabling it. The procedure must be followed to avoid inconsistencies between the transmitter and receiver mappings.
The document discusses CANopen PDO mapping, which describes which process variables are transmitted in PDO messages. It outlines the required PDO re-mapping procedure according to CiA 301, which involves disabling the existing PDO mapping, modifying the mapping, and then re-enabling it. The procedure must be followed to avoid inconsistencies between the transmitter and receiver mappings.
The document discusses CANopen PDO mapping, which describes which process variables are transmitted in PDO messages. It outlines the required PDO re-mapping procedure according to CiA 301, which involves disabling the existing PDO mapping, modifying the mapping, and then re-enabling it. The procedure must be followed to avoid inconsistencies between the transmitter and receiver mappings.
The document discusses CANopen PDO mapping, which describes which process variables are transmitted in PDO messages. It outlines the required PDO re-mapping procedure according to CiA 301, which involves disabling the existing PDO mapping, modifying the mapping, and then re-enabling it. The procedure must be followed to avoid inconsistencies between the transmitter and receiver mappings.
PDO mapping is one of the essential features of CANopen: it describes which
individual process variables in the data field of a PDO are transmitted. CiA 301 requires a dedicated re-mapping procedure.
T he Process Data Object (PDO) service allows
exchanging one or several process variables in one single CAN message. The PDO mapping parameter Disable PDO mapping by setting the sub-index 00h of the PDO mapping parameter to 00h. Modify PDO mapping by changing the values of describes which objects in the CANopen object dictionary the corresponding sub-indices of the PDO mapping are transmitted by the sender. The PDO receiver parameters. uses also a PDO mapping parameter, which specifies Enable PDO mapping by setting the sub-index 00h to the where to store the received process data in the CANopen number mapped process data. object dictionary. The PDO mapping parameter of the “Create” a TPDO by setting the valid bit to 0b of transmitter and the sender may use different pointers sub-index 01h of the TPDO communication parameter. (16-bit index and 8-bit sub-index) depending on the If the CANopen device detects that the index and sub- CANopen profile. index of the mapped object does not exist or the object can- In some simple devices, the user does not have the not be mapped during step 3, the CANopen device responds possibility to configure the PDO mapping parameters. This with the SDO abort transfer service (abort code: 0602 0000h is called static PDO mapping (take it or leave it). More or 0604 0041h). If the CANopen device detects that the sophisticated devices provide variable PDO mapping. This RPDO mapping is not valid or not possible during step 4, the means the system designer can re-configure the default CANopen device responds with the SDO abort transfer ser- PDO mapping or generate new PDOs. Normally, this is vice (abort code: 0602 0000h or 0604 0042h). This is tested done in the NMT pre-operational state, when the PDOs in the CANopen conformance test. are disabled. Of course, the user can also reconfigure the PDO mapping in Figure 1: Example of PDO mapping for CiA 401 the NMT operational state, but then it devices (eight digital values and one 16-bit-analog is necessary to avoid inconsistencies value) – application-specific TPDO mapping (left in the PDO mapping on the producer object dictionary) and corresponding application- and the consumer side. To avoid specific RPDO mapping (right object dictionary) this, the PDO must not be produced until the entire reconfiguration is finished. The CiA 301 application layer specification requires a dedicated re-mapping procedure: “Destroy” the TPDO by setting the valid bit to 1b of sub-index 01h of the TPDO communication parameter.
28 CAN Newsletter 2/2016
Normally, the corresponding RPDO mappings need has not been “destroyed” or the mapping has not been to be re-configured too. This should be done before the disabled. Note: The system designer is responsible for TPDO is enabled again. At least between step 4 and 5, the consistency of the TPDO and the RPDO mapping all related RPDO mappings should be reconfigured, if parameters. necessary. Of course, the user can also first re-map all RPDO mappings (either between step 1 and step 2 or between step 2 and step 3). By the way, the re-mapping in NMT operational state is called dynamic PDO mapping (e.g. in the CANopen
device is correctly implemented, the RPDO re-mapping
follows the same procedure as the TPDO re-mapping: Author “Destroy” the RPDO, disable the RPDO mapping, modify the RPDO mapping, enable the RPDO mapping, and Holger Zeltwanger finally “create” the RPDO. Of course, this should be done CAN in Automation for all TPDO-corresponding RPDOs, if the TPDO is sent [email protected] in multi- or broad-cast. www.can-cia.org If the CANopen device receives a PDO that has more data bytes than the number of mapped data bytes (length), then the CANopen device uses the first data bytes up to the length and sends an EMCY message. If a CANopen device receives a PDO with less data bytes than the number of mapped data bytes (length), then the CANopen device sends an EMCY message with the error code 8210 h. If the TPDO or RPDO re-mapping procedure is Related article not followed, the CANopen device should not change Holger Zeltwanger (CiA): Good to know: Optional is the mapping entries and abort the SDO write service. The device should do this, for example, if the PDO