The EtherCAT Input/Output Data Map, or I/O Data Map, allows the user to assign SubDevice input and output PDO data to RMC registers. The data can then be used like any RMC registers, such as in plots, user programs, and external communication.
SubDevice PDO data that is to be used within axes, such as position feedback or command setpoints, does not need to be added to the I/O Data Map. Rather, axis-specific data is assigned to axes in the Axis Parameters, and the assigned data can be accessed in the Axis Status Registers (such as Actual Position, Control Output, etc.).
If EtherCAT SubDevice PDO data is not assigned to the EtherCAT I/O Data Map, and is not assigned to axes via the Axis Parameters, the data cannot be accessed in the RMC via plots, user programs, etc.
Data Location
The I/O Data Map is located in the following registers:
Input Data: %MD120.0 - %MD120.255
Output Data: %MD122.0 - %MD122.255
When browsing for these registers in the Address Selection Tool or Expression Editor, browse to EtherCAT > Input Data or EtherCAT > Output Data.
Data Valid
The EtherCAT I/O Data Map includes Boolean values that indicate whether each corresponding register contains valid data. If the data is invalid, the Boolean value will be zero. If the data is valid, the Boolean value will be one. For EtherCAT Output data, invalid means that the data was not able to be applied. Reasons that input or output data is not valid include (1) no value mapped, (2) EtherCAT configuration is not loaded, (3) EtherCAT is not in OPERATE state, (4) EtherCAT link is down, (5) SubDevice is not present, and (6) SubDevice is not responsive.
The Data Valid bits are in 32-bit registers, with the bits corresponding to the given range of data registers. For example, in Input Data Valid register %MD121.1, bit 0 applies to Input Data register 32, bit 1 applies to Input Data register 33, etc.
Input Data Valid | Output Data Valid |
---|---|
%MD121.0: Registers 0 – 31 | %MD123.0: Registers 0 – 31 |
%MD121.1: Registers 32 – 63 | %MD123.1: Registers 32 – 63 |
%MD121.2: Registers 64 – 95 | %MD123.2: Registers 64 – 95 |
%MD121.3: Registers 96 – 127 | %MD123.3: Registers 96 – 127 |
%MD121.4: Registers 128 – 159 | %MD123.4: Registers 128 – 159 |
%MD121.5: Registers 160 – 191 | %MD123.5: Registers 160 – 191 |
%MD121.6: Registers 192 – 223 | %MD123.6: Registers 192 – 223 |
%MD121.7: Registers 224 – 255 | %MD123.7: Registers 224 – 255 |
Data Types
The EtherCAT I/O Data registers are 32 bit integers (DINT data type). Any EtherCAT data with fewer bits that is mapped to an I/O Data register will occupy the lowest bits of the I/O Data register.
Assigning EtherCAT PDO Data to the I/O Data Map
Before assigning PDO data to the EtherCAT I/O Data Map, the PDO data must have been configured, as described in the EtherCAT Process Data Object topic.
To assign PDO input or output data to the EtherCAT I/O Data Map:
In the EtherCAT Editor, select the MainDevice or a SubDevice, then select the Process Data tab.
If the Main Device is selected, the Process Data tab will list all the PDO data in the network. Selecting a SubDevice will list only PDO data for that SubDevice.
In the Process Data tab, in the Variables table, double-click the row containing the desired data. Do the following in the Edit Variable dialog:
Click the I/O Data Map Address box and choose the desired register address location. Registers that are already assigned do not appear in the list.
Enter a Tag Name. This the tag name that will appear in user programs, plots, etc. Spaces and special characters are not allowed, but the underscore character is.
The Variable Name box contains the name that appears only in the PDO Mapping and Process Data tabs. You can edit this if you wish.
Click OK.
The Data Map Address and Tag Name columns will now list the RMC register address and tag name of the data item.
In the EtherCAT Editor toolbar, click the Download to Controller button. Save the RMCTools project and update Flash.
Note that downloading the EtherCAT configuration will also download the Programming folder due to the possibility of the EtherCAT Editor generating tags used in User Programs.
Assigning Multiple Variables at Once
To assign multiple process data variables to the I/O Data Map at once:
In the Process Data tab, select multiple unassigned rows by clicking and dragging.
Click the Add to I/O Data Map button.
The variables will now be added to the I/O Data Map. To add tag names, individually double-click each row to open the Edit Variable dialog.
Unassigning Variables
In the Process Data tab, variables that have already been assigned can be unassigned by selecting the row or rows, then clicking the same button, now labeled Remove from I/O Data Map.
See Also
Process Data Diagnostics tab | Process Data Editor tab | Process Data Object| EtherCAT Input Data Values | EtherCAT Input Data Valid | EtherCAT Output Data Values | EtherCAT Output Data Valid
Copyright © 2024 Delta Computer Systems, Inc. dba Delta Motion