Figure 10 – Applied Motion ST10-C-CE User Manual
Page 33

33
920-0025 Rev K
3/5/2015
CANopen User Manual
0x1600~0x1603 RPDO mapping parameter
Contains the mapping for the PDOs the device is able to receive. The type of the PDO
mapping
parameter (21h) is described in 9.5.4 of CiA 301. The sub-index 0h contains the number
of valid entries within the mapping record. This number of entries is also the number of the
application variables which shall be transmitted/received with the corresponding PDO. The
sub-indices from 1h to number of entries contain the information about the mapped application
variables. These entries describe the PDO contents by their index, sub-index and length . All
three values are hexadecimal coded. The length entry contains the length of the object in bit
(1..40h). This parameter can be used to verify the overall mapping length. It is mandatory.
The structure of the entries from sub-index 1h - 40h is as follows:
Byte:
MSB
LSB
index (16 bit)
sub-index (8 bit)
object length (8 bit)
Figure 10: Structure of PDO Mapping Entry
If the change of the PDO mapping cannot be executed (e.g. the PDO length is exceeded
or the SDO client attempts to map an object that cannot be mapped) the device responds with
an Abort SDO Transfer Service.
Subindex 0 determines the valid number of objects that have been mapped. For changing
the PDO mapping first the PDO has to be deleted, the sub-index 0 must be set to 0 (mapping
is deactivated). Then the objects can be remapped. When a new object is mapped by writing
a subindex between 1 and 64, the device may check whether the object specified by index /
sub-index exists. If the object does not exist or the object cannot be mapped, the SDO transfer
must be aborted with the Abort SDO Transfer Service with one of the abort codes 0602 0000h
or 0604 0041h.
After all objects are mapped subindex 0 is set to the valid number of mapped objects.
Finally the PDO will be created by writing to its communication parameter COB-ID. When
subindex 0 is set to a value >0 the device may validate the new PDO mapping before
transmitting the response of the SDO service. If an error is detected the device has to transmit
the Abort SDO Transfer Service with one of the abort codes 0602 0000h, 0604 0041h or 0604
0042h.
When subindex 0 is read the actual number of valid mapped objects is returned. If data
types (Index 1h-7h) are mapped they serve as “dummy entries”. The corresponding data in
the PDO is not evaluated by the device. This optional feature is useful e.g. to transmit data to
several devices using one PDO, each device only utilising a part of the PDO. It is not possible
to create a dummy mapping for a TPDO.