The data exchange between remote MotionLinx-Ai and MotionLinx-IO devices and the PC based TwinCAT controller is CANOpen over EtherCAT (CoE). This protocol provides for cyclic data exchange between a “Master” controller (PC based TwinCAT) and multiple “Slave” devices (MotionLinx-Ai / MotionLinx-IO modules). The data object types supported by MotionLinx-Ai and MotionLinx-IO modules are CoE Process Data Objects (PDOs) and Service Data Objects (SDOs).

Process Data Objects (PDO)

PDOs are subdivided into Transmit and Receive types:
  • Transmit PDOs send data from the MotionLinx-Ai / MotionLinx-IO modules to the Master Controller
  • Receive PDOs send data from the Master Controller to the MotionLinx-Ai / MotionLinx-IO modules
For the MotionLinx-Ai module there are 2 Transmit PDOs and 3 Receive PDOs. Each PDO has a number of SubIndex objects that are fundamental data types such as SINT, INT, DINT, etc. It is these SubIndexes that are assigned to variable tags and used in your program logic.

For more details see:
MotionLinx-Ai Transmit PDOs
MotionLinx-Ai Receive PDOs
For the MotionLinx-IO module there are 1 Transmit PDO and 1 Receive PDO.

For more details see:
MotionLinx-IO Transmit PDO
MotionLinx-IO Receive PDO

Service Data Objects (SDO)

SDOs are used for data that is not intended to be cyclic like PDOs. The use of SDOs can be thought of as “lower priority” and are invoked on an “as needed” basis. For example, setting up the initial configuration or the reading of non-transitory data from the module are typical SDOs provided. SDOs can be read or write.

MotionLinx-Ai SDOs
MotionLinx-IO SDO