PDO Restrictions and Compiler Errors
Redundant PDO Entries
It is possible within the KAS IDE"Integrated development environment" An integrated development environment is a type of computer software that assists computer programmers in developing software. IDEs normally consist of a source code editor, a compiler and/or interpreter, build-automation tools, and a debugger to have the same PDO entry occur in multiple PDOs (or even in a single PDO). A PDO entry is uniquely defined by an index and a subindex. The name of the entry is irrelevant in regards to identification.
In the example below, the entry defined by index 0x6040
, subindex 0
, appears in the Rx PDOs 0x1600
and 0x1604
. Similarly, the entry 0x3470
, subindex 4
appears in two different PDOs.
- A redundant Rx PDO entry will generate a compiler error. For example, the redundant Rx PDO illustrated above would generate the following compiler error:
EtherCAT: ERROR: In AKD_1, PDO object index 0x6040, subIndex 0 is redundant. It is in the following PDO(s): 0x1600, 0x1604
- Attempting to export the ENI file will fail with the error:
Failed to export ENI file, check the logs for more details.
- A redundant Tx PDO entry will generate a compiler warning, such as the example below:
EtherCAT: Warning : In AKD_1, PDO object index 0x3470, subIndex 4 is redundant. It is in the following PDO(s): 0x1A04, 0x1B23
- A redundant Tx PDO entry will not prevent a successful compilation nor will it generate an error when exporting the ENI file.
Restrictions for AKD Devices
The KAS IDE compiler enforces the following restrictions to the editable PDOs for AKD devices:
- The maximum byte count for the content of an individual PDO (both selected and unselected) is 8 bytes. The PDO content Size field will be highlighted in red if the Editable PDO content size is greater than 8 bytes.
- The total maximum byte count for the content of all Tx PDOs (both selected and unselected) is 32 bytes.
- The total maximum byte count for the content of all Rx PDOs (both selected and unselected) depends upon the firmware.
Firmware Version Byte Limit Notes v1-17 or later 32 bytes This is the byte limit when the EtherCATEtherCAT is an open, high-performance Ethernet-based fieldbus system. The development goal of EtherCAT was to apply Ethernet to automation applications which require short data update times (also called cycle times) with low communication jitter (for synchronization purposes) and low hardware costs parameter ECAT.LEGACYREV is set to 0. v1-16 or later 20 bytes This is the byte limit when the EtherCAT parameter ECAT.LEGACYREV is set to 1. v1-15 or earlier 20 bytes - The total byte count for the content of all selected Tx PDOs must be even. This does not apply to AKD2G devices.
- The total byte count for the content of all selected Rx PDOs must be even. This does not apply to AKD2G devices.
- The object 0x00 can be used to pad the PDO to get the total byte count to an even value.
Compiler errors will be generated if these restrictions are not met. Example compiler errors:
In AKD_1, the size of Rx PDO 0x1600 is greater than the limit: 9 > 8
In AKD_1, the total byte count for all editable Rx PDOs is greater than the limit: 39 > 32
In AKD_1, the total byte count for all editable Rx PDOs that are assigned is not even: 29
Restrictions for AKD2G Devices
The KAS IDE compiler enforces the following restrictions to the editable PDOs for AKD2G devices:
- PDOs have a size constraint of 128 bytes per PDO.
- The total maximum byte count for the content of all Rx PDOs (both selected and unselected) is 512 bytes [(128 per PDO) x 4 = 512 bytes].
- The total maximum byte count for the content of all Tx PDOs (both selected and unselected) is 512 bytes [(128 per PDO) x 4 = 512 bytes].
- There is a limitation to the number of PDO objects, based on the the Sample Rate / Cycle Time.
Sample Rate Cycle Time Max. PDOs 4kHz 250μs 14 Rx, 14 Tx 2kHz >500μs 30 Rx, 30 Tx
Restrictions for All Other Devices
The KAS IDE compiler enforces the following restriction to the editable PDOs for all devices:
- The maximum byte count for the content of an individual PDO (both selected and unselected) is 64 bytes.
Compiler errors will be generated if these restrictions are not met. Example compiler errors:
In Device_1, the size of Tx PDO 0x1A16 is greater than the limit: 66 > 64