I/O Data¶
The I/O data section can use two different formats according to the module parameter “I/O Mapping Structure” (see hardware description: AC500 Device Description (Hardware)
Fixed I/O mapping
In case of fixed I/O mapping each module has a predefined register range for each Inputs and Outputs.
Dynamic I/O mapping
In case of dynamic I/O mapping the mapping is build according to the actual configuration.
The dummy output at the end of the I/O data section can be used to retrigger the bus supervision and has no effect on the HW outputs.
Fixed I/O Mapping
In case of fixed I/O mapping the following predefined register table is used:
Register (hex) | Description | Readable by MODBUS function code | Writeable by MODBUS function code |
---|---|---|---|
1000 | Inputs CI | 3, 4, 23 | x |
1100 | Inputs 1.EXP | 3, 4, 23 | x |
… | … | x | |
1A00 | Inputs 10.EXP | 3, 4, 23 | x |
2000 | Outputs CI | 3, 23 | 6, 16, 23 |
2100 | Outputs 1.EXP | 3, 23 | 6, 16, 23 |
… | … | ||
2A00 | Outputs 10.EXP | 3, 23 | 6, 16, 23 |
2B00 | Dummy output | 3, 23 | 6, 16, 23 |
If a certain expansion module has no inputs or outputs the corresponding registers remain empty.
Dynamic I/O Mapping
In case of dynamic mapping only the start addresses of inputs and outputs are predefined:
Register (hex) | Description | Readable by MODBUS function code | Writeable by MODBUS function code |
---|---|---|---|
1000 | Inputs CI | 3, 4, 23 | x |
… | … | x | |
2000 | Outputs CI | 3, 23 | 6, 16, 23 |
… | … | ||
2B00 | Dummy output | 3, 23 | 6, 16, 23 |
The register addresses of the connected expansion modules are calculated dynamically based on the number of inputs and outputs of the previous modules (each module starts directly on the next register after the previous module).
The register addresses of each module can be read out via the common device register (see MODBUS Communication Interface Module).
Comparative Example for Fixed and Dynamic Mapping
The difference between fixed mapping and dynamic mapping is shown in the following table.
For this comparison a cluster with CI522, AX522, DC532, AX521, DC523, DC532, AO523, AI523, DI524, AX522 and DC523 is used.
Fixed Mapping | Dynamic Mapping | |||||||
---|---|---|---|---|---|---|---|---|
Register (hex) | Description | Type | Data | Register (hex) | Description | Type | Data | |
1000 | Inputs CI | 8 DC, 8 DI, FC | 4 BYTE + 4 WORD | 1000 | Inputs CI | 8 DC, 8 DI, FC | 4 BYTE + 4 WORD | |
1100 | Inputs AX522 | 8 AI | 8 WORD | 1006 | Inputs AX522 | 8 AI | 8 WORD | |
1200 | Inputs DC532 | 16 DI, 16 DC | 4 BYTE | 100E | Inputs DC532 | 16 DI, 16 DC | 4 BYTE | |
1300 | Inputs AX521 | 4 AI | 4 WORD | 1010 | Inputs AX521 | 4 AI | 4 WORD | |
1400 | Inputs DC523 | 24 DC | 3 BYTE | 1014 | Inputs DC523 | 24 DC | 3 BYTE | |
1500 | Inputs DC532 | 16 DI, 16 DC | 4 BYTE | 1016 | Inputs DC532 | 16 DI, 16 DC | 4 BYTE | |
1600 | Inputs AO523 | — | — | — | Inputs AO523 | — | — | |
1700 | Inputs AI523 | 16AI | 16 WORD | 1018 | Inputs AI523 | 16AI | 16 WORD | |
1800 | Inputs DI524 | 32 DI | 4 BYTE | 1028 | Inputs DI524 | 32 DI | 4 BYTE | |
1900 | Inputs AX522 | 8 AI | 8 WORD | 102A | Inputs AX522 | 8 AI | 8 WORD | |
1A00 | Inputs DC523 | 24 DC | 3 BYTE | 1032 | Inputs DC523 | 24 DC | 3 BYTE | |
2000 | Outputs CI | 8 DC, 8DO, FC | 4 BYTE + 8 WORD | 2000 | Outputs CI | 8 DC, 8DO, FC | 4 BYTE + 8 WORD | |
2100 | Outputs AX522 | 8 AO | 8 WORD | 200A | Outputs AX522 | 8 AO | 8 WORD | |
2200 | Outputs DC532 | 16 DC | 2 BYTE | 2012 | Outputs DC532 | 16 DC | 2 BYTE | |
2300 | Outputs AX521 | 4 AO | 4 WORD | 2013 | Outputs AX521 | 4 AO | 4 WORD | |
2400 | Outputs DC523 | 24 DC | 3 BYTE | 2017 | Outputs DC523 | 24 DC | 3 BYTE | |
2500 | Outputs DC532 | 16 DC | 2 BYTE | 2019 | Outputs DC532 | 16 DC | 2 BYTE | |
2600 | Outputs AO523 | 16 AO | 16 WORD | 201A | Outputs AO523 | 16 AO | 16 WORD | |
2700 | Outputs AI523 | — | — | — | Outputs AI523 | — | — | |
2800 | Outputs DI524 | — | — | — | Outputs DI524 | — | — | |
2900 | Outputs AX522 | 8 AO | 8 WORD | 202A | Outputs AX522 | 8 AO | 8 WORD | |
2A00 | Outputs DC523 | 24 DC | 3 BYTE | 2032 | Outputs DC523 | 24 DC | 3 BYTE |
Process Data Structure CI521-MODTCP
I/O data (Inputs 19 BYTEs)
Signal | DATA TYPE | Description |
---|---|---|
AI0 | WORD | Input value of the 1:sup:st analogue input |
AI1 | WORD | Input value of the 2:sup:nd analogue input |
AI2 | WORD | Input value of the 3:sup:rd analogue input |
AI3 | WORD | Input value of the 4:sup:th analogue input |
DI | BYTE | Input value of the DI channels |
Fast counter actual value counter 1 | DWORD | Fast Counters |
Fast counter actual value counter 2 | DWORD | |
Fast counter state counter 1 | BYTE | |
Fast counter state counter 2 | BYTE |
I/O data (Outputs 23 BYTEs)
Signal | DATA TYPE | Description |
---|---|---|
AO0 | WORD | Output value of the 1:sup:st analogue input |
AO1 | WORD | Output value of the 2:sup:nd analogue input |
DO | BYTE | Output value of the DO channels |
Fast counter start value counter 1 | DWORD | Fast Counters |
Fast counter end value counter 1 | DWORD | |
Fast counter start value counter 2 | DWORD | |
Fast counter end value counter 2 | DWORD | |
Fast counter control counter 1 | BYTE | |
Fast counter control counter 2 | BYTE |
Process Data Structure CI522-MODTCP
I/O data (Inputs 12 BYTEs)
Signal | DATA TYPE | Description |
---|---|---|
DC | BYTE | Input value of the DC channels |
DI | BYTE | Input value of the DI channels |
Fast counter actual value counter 1 | DWORD | Fast Counters |
Fast counter actual value counter 2 | DWORD | |
Fast counter state counter 1 | BYTE | |
Fast counter state counter 2 | BYTE |
I/O data (Outputs 20 BYTEs)
Signal | DATA TYPE | Description |
---|---|---|
DC | BYTE | Output value of the DC channels |
DO | BYTE | Output value of the DO channels |
Fast counter start value counter 1 | DWORD | Fast Counters |
Fast counter end value counter 1 | DWORD | |
Fast counter start value counter 2 | DWORD | |
Fast counter end value counter 2 | DWORD | |
Fast counter control counter 1 | BYTE | |
Fast counter control counter 2 | BYTE |