This topic describes how the transmit and receive PDO messages are added and configured
To export PDOs into a PDF or Excel file, press SHIFT + ALT + S.
To search PDOs, press CTRL + F.
To add a PDO message,
Select the CAN channel from the tabs
Then select icon from the Transmit PDOs section or
icon from the Receive PDOs section for manually added receive PDO
Then add the variables that should be transmitted.
To delete a PDO message,
Select the PDO message
Then select icon from the Transmit PDOs section or
icon from the Receive PDOs section
To change the variable's location on the PDO message, drag-and-drop the variable to the new location.
MultiTool Creator provides two ways of adding variables to a PDO message:
adding variables on the Object Dictionary tab and then adding them to the PDO message
adding variables directly on the PDO tab (automated definition to the OD)
The following chapters describe these two ways in more detail.
An object dictionary variable can be seen on the PDO tab's list when the index properties have Variable Type RAM and PDO Mapping selected. To add an existing variable to a PDO message:
Open the device's PDO tab and select the correct CAN channel
Add a PDO
Drag-and-drop the variable from the variable list to the PDO message (see the image below)
In addition to the Object Dictionary tab, variables can be created directly to a PDO message on the PDO tab. These variables are automatically added to the Object Dictionary as RAM parameters.
Giving a variable name and data type on the PDO tab creates a new variable into the Object Dictionary. The OD index depends on the defined data type. MultiTool Creator reserves the indexes from 5FFFh to 5FB0h for PDO Variables.
PDO Variables have the following properties:
Variable Type: RAM
Access Type: RW
Index Type: SingleVariables
PDO Mapping: TRUE
Name: Auto of Type {datatype}
Description: Automatically created {datatype} variables
To add a PDO Variable,
Open the device's PDO tab and select the correct CAN channel
Add a PDO
Select an empty byte, start typing a variable name and press ENTER
In case of the Object Dictionary already has similar variable names, MultiTool Creator suggests them on a drop-down menu
If there is no existing variable, a dialog is opened (see the image below). A description of the variable can be added. Select the Data Type and click Create New Variable
The created PDO Variable is automatically added to the Object Dictionary
|
PDO Properties are always configured in the device where the PDO message was created:
Automatically generated PDOs are shown with lighter font.
Select an automatic generated PDO to show its properties.
Selecting the transmitters name in the generated RPDO properties, navigates to the transmitter's PDO.
|
The following table describes the configurable fields of each PDO.
Fields with (*) are hidden by default. Click Advanced.. to show them in PDO Properties section.
Property |
Description |
Name |
PDO name |
COB-ID |
COB-ID (Communication Object ID) is an unique identifier for PDO message that also determines the priority of the message. It can be edited on the PDO Message Properties or directly on the Transmit/Receive PDOs table.
|
Is Manual* |
When the Is Manual is not selected: the COB-ID is automatically generated according to the CANopen predefined connection set using the Application Node-ID and the Node-ID Offset for PDOs given on the CAN tab. Predefined connection set defines a pattern for message identifiers. For example, the transmit PDO COB-ID pattern is:
When the Is Manual is selected: the COB-ID can be set manually to the COB-ID field
|
Is Extended*
|
When the Is Extended is selected: 29 bit (extended) COB-IDs are used
When the Is Extended is not selected: 11 bit (standard) COB-IDs are used
If the COB-ID exceeds 7FFh, Is Extended is automatically selected.
|
DLC |
Data Length Code, the length of the data field in bytes.
|
Transmission Type* |
Transmission Type can be Sync, Manual and Async.
Sync: The PDO is transferred synchronously and cyclically. The PDO is sent/received after the Sync Count amount of SYNC messages has been received
Manual: Asynchronous transmission. Manufacturer specific functionality, sending the PDO can be triggered from application. Sending is triggered by setting a CANopen PDO Boolean variable CAN1_CANopenDevice_TPDOS[x].i_TriggerSend to TRUE (x = the PDO number).
Async: Asynchronous transmission. The PDO is sent according to the Event Time and Inhibit Time
|
Transmitter settings* |
CANopen slave unit RPDO messages are added as TPDOs of another selected unit. Settings under Transmitter settings are used in the TPDO of the transmitter |
Transmitter settings -> Transmission Type* |
Transmission Type can be FromRPDO, Sync, Manual and Async.
If FromRPDO is selected, the transmitter uses the same transmission type and sync count that is selected for the RPDO.
For more information about the other settings, see Transmission Type
|
Transmitter settings -> Sync Count* |
Sync Count defines the amount of SYNC messages that is required before sending/receiving the PDO message. Values between 1...240 (dec) allowed.
If From RPDO is selected in the Transmitter settings -> Transmission Type, the transmitter uses the same sync count that is selected for the RPDO.
|
Transmitter settings -> Event time* |
Event Time defines the time that elapses between two consecutively transmitted messages.
When the Event Time is set to 0 ms, the PDO is sent when the variable value changes.
|
Transmitter settings -> Inhibit time* |
Inhibit time defines the minimum time that has to elapse between two consecutively transmitted messages of a PDO service to avoid blocking the bus with messages.
The message is sent only as often as the Inhibit Time defines, even if the variable values are changing more often.
|
Sync Count* |
Sync Count defines the amount of SYNC messages that is required before sending/receiving the PDO message. Values between 1...240 (dec) allowed.
|
Event Time* |
Event Time defines the time that elapses between two consecutively transmitted messages. When the Event Time is set to 0 ms, the PDO is sent when the variable value changes.
|
Inhibit Time* |
Inhibit time defines the minimum time that has to elapse between two consecutively transmitted messages of a PDO service to avoid blocking the bus with messages. The message is sent only as often as the Inhibit Time defines, even if the variable values are changing more often.
|
Receive Timeout* |
Receive Timeout defines the timeout for the receiver (0 = not in use). If the RPDO is not received within the given time period, the timeout flag in the receiver device is enabled and RPDO content is reset to zero.
For more information, see Epec Programming and Libraries Manual (available in Epec Extranet), section Libraries > CANopen > POUs > PDO > CANopenPDO (FB).
|
Enabled* |
Enabled field is only configurable when
and
Enabled defines the PDO to be disabled or enabled in the master device’s code template. If unchecked, the PDO will not be sent to the bus (in case of TPDO) or it will not be received by the receiver device (in case of RPDO).
|
RTR Enabled* |
RTR Enabled field is visible only when configuring slave PDOs that are EDS imported. The field is editable when the slave has a master device with a library version with the feature enabled (NetworkManager.lib version 1.2.5 or newer, NetworkManager.library version 3.2.4.8 or newer). RTR Enabled defines whether the PDO can be requested using RTR message (remote transmission request). |
Communication parameters read only* |
Communication parameters read only field is visible only when configuring slave PDOs that are EDS imported. If Communication parameters read only is selected, the PDO communication parameters (COB-ID, transmission type, event time, inhibit time, Sync count) cannot be changed. |
Mappings read only* |
Mappings read only field is visible only when configuring slave PDOs that are EDS imported. This field is automatically selected and cannot be unselected if Communication parameters read only is selected. If Mappings read only is selected, the PDO mappings cannot be changed. |
Write Configuration* |
Write Configuration field is visible only when configuring slave PDOs that are EDS imported. This field is disabled if Communication parameters read only is selected.
Write Configuration defines if the PDO configuration is added to the master device’s code template.
|
When configuring a transmit PDO, the Received By setting can be used to define the devices that receive the PDO. The Received By list shows all the devices in the same network.
Selecting the devices from the Received By list adds
the transmit PDO to be received by the other device(s)
the PDO variables to the receiving device's OD
For example,
Transmit PDO is added to Display device on the PDO tab
in the PDO's Received By settings, Cabin device is selected (see the following image)
on the Cabin Configuration > PDO tab, the Display PDO is listed to Receive PDOs table with Is Received selection (see the following image)
Also, the Display PDO variables (Buttons, CalibrationMode) are automatically added to the Cabin OD with the prefix Display_
The Receive PDOs section on the PDO tab lists all the PDOs and SRDOs that are transmitted on the same network. The following table describes the Receive PDO properties:
Property |
Description |
Is Received |
In Is Received column it is possible to select/unselect the receive PDO messages. Selecting Is Received adds the PDO variables to the OD with the prefix DeviceName_ and to the receiving device's Receive PDOs list. Select a unit name to open its settings.
|
Transmitter |
The device sending the PDO. Unknown transmitter means that the PDO is manually added. Selecting Transmitter adds the PDO variables to the OD with the prefix DeviceName_ and adds the corresponding TPDO to the transmitter device's Transmit PDOs list.
|
The Variable Properties show the variable definition: Name, Data Type and Bits selection. Editing the Variable Properties is only allowed for PDO Variables (created directly on the PDO tab), not for the variables that are created on the Object Dictionary tab.
Property |
Description |
||||||||||||||||||||||||||||||||||||||||||||
Name |
Name of the OD variable.
|
||||||||||||||||||||||||||||||||||||||||||||
DataType |
The Data Type is one of CODESYS' variable types:
A STRING type variable are initialized as STRING(79), 79 characters long variables. STRING type variables cannot be mapped into PDO. A BOOL type variable can have values TRUE or FALSE, 8 bits of memory space will be reserved. BOOL type variables cannot be mapped into PDO.
|
||||||||||||||||||||||||||||||||||||||||||||
Bits |
When Bits is selected, the bit variables are generated to CODESYS code according to selected Data Type. The variable names for the bits can be edited here too.
|
MultiTool Creator does not restrict the use of access types but CANopen standard does. According to the standard the OD variables that can be mapped to TPDO can have only access types RO, CONST and RWR. RDPO supports only types WO and RWW. RWR and RWW are used for objects that can be read and written via SDO.
Epec Oy reserves all rights for improvements without prior notice.
Source file 7_9_4_TPDO.htm
Last updated 21-Feb-2025