Default-Configuration
The standard settings are shown in the following table:
Modbus areas | Modbus address | ADS area | |
---|---|---|---|
Digital inputs | 0x0000 - 0x7FFF | Index group | Index offset |
0xF021 - process image of the physical inputs (bit access) | 0x0 | ||
0x8000 - 0x80FF | Name of the variables in the PLC program | Data type | |
.mb_Input_Coils | ARRAY [0..255] OF BOOL | ||
Digital outputs (coils) | 0x0000 - 0x7FFF | Index group | Index offset |
0xF031 - process image of the physical outputs (bit access) | 0x0 | ||
0x8000 - 0x80FF | Name of the variables in the PLC program | Data type | |
.mb_Output_Coils | ARRAY [0..255] OF BOOL | ||
Input registers | 0x0000 - 0x7FFF | Index group | Index offset |
0xF020 - process image of the physical inputs | 0x0 | ||
0x8000 - 0x80FF | Name of the variables in the PLC program | Data type | |
.mb_Input_Registers | ARRAY [0..255] OF WORD | ||
Output registers | 0x0000 - 0x2FFF | Index group | Index offset |
0xF030 - process image of the physical outputs | 0x0 | ||
0x3000 - 0x5FFF | 0x4020 - PLC memory area | 0x0 | |
0x6000 - 0x7FFF | 0x4040 - PLC data area | 0x0 | |
0x8000 - 0x80FF | Name of the variables in the PLC program | Data type | |
.mb_Output_Registers | ARRAY [0..255] OF WORD |
The server enables the access to the physical process image and maps the plc data area.
Default XML
The default configuration with optional comments for a better explanation:
Configuration>
<!-- Modbus TCP port, default = 502-->
<Port>502</Port>
<!-- optional IP configuration for Modbus TCP server-->
<IpAddr/>
<Mapping>
<InputCoils>
<MappingInfo>
<!-- AdsPort: TwinCAT2 PLC1 = 801, PLC2 = 811...-->
<AdsPort>801</AdsPort>
<StartAddress>0</StartAddress>
<EndAddress>32767</EndAddress>
<!-- IndexGroup 61473 = 0xF021 -> physical plc inputs %IX -->
<IndexGroup>61473</IndexGroup>
<!-- Bit offset-->
<IndexOffset>0</IndexOffset>
</MappingInfo>
<MappingInfo>
<AdsPort>801</AdsPort>
<!-- Modbus input coils -->
<StartAddress>32768</StartAddress>
<EndAddress>33023</EndAddress>
<VarName>.mb_Input_Coils</VarName>
</MappingInfo>
</InputCoils>
<OutputCoils>
<MappingInfo>
<AdsPort>801</AdsPort>
<EndAddress>32767</EndAddress>
<!-- IndexGroup 61489 = 0xF031 -> physical plc outputs %QX -->
<IndexGroup>61489</IndexGroup>
<!-- Bit offset-->
<IndexOffset>0</IndexOffset>
</MappingInfo>
<MappingInfo>
<AdsPort>801</AdsPort>
<!-- Modbus output coils-->
<StartAddress>32768</StartAddress>
<EndAddress>33023</EndAddress>
<VarName>.mb_Output_Coils</VarName>
</MappingInfo>
</OutputCoils>
<InputRegisters>
<MappingInfo>
<AdsPort>801</AdsPort>
<StartAddress>0</StartAddress>
<EndAddress>32767</EndAddress>
<!-- IndexGroup 61472 = 0xF020 -> physical plc input register %I -->
<IndexGroup>61472</IndexGroup>
<!-- Byte offset-->
<IndexOffset>0</IndexOffset>
</MappingInfo>
<MappingInfo>
<AdsPort>801</AdsPort>
<!-- Modbus input registers -->
<StartAddress>32768</StartAddress>
<EndAddress>33023</EndAddress>
<VarName>.mb_Input_Registers</VarName>
</MappingInfo>
</InputRegisters>
<OutputRegisters>
<MappingInfo>
<AdsPort>801</AdsPort>
<StartAddress>0</StartAddress>
<EndAddress>12287</EndAddress>
<!-- IndexGroup 61488 = 0xF030 -> physical plc output register %Q -->
<IndexGroup>61488</IndexGroup>
<!-- Byte offset-->
<IndexOffset>0</IndexOffset>
</MappingInfo>
<MappingInfo>
<AdsPort>801</AdsPort>
<StartAddress>12288</StartAddress>
<EndAddress>24575</EndAddress>
<!-- IndexGroup 16416 = 0x4020 -> plc memory area %M -->
<IndexGroup>16416</IndexGroup>
<!-- Byte offset-->
<IndexOffset>0</IndexOffset>
</MappingInfo>
<MappingInfo>
<AdsPort>801</AdsPort>
<StartAddress>24576</StartAddress>
<EndAddress>32767</EndAddress>
<!-- IndexGroup 16448 = 0x4040 -> plc data area -->
<IndexGroup>16448</IndexGroup>
<!-- Byte offset-->
<IndexOffset>0</IndexOffset>
</MappingInfo>
<MappingInfo>
<AdsPort>801</AdsPort>
<!-- Modbus output registers -->
<StartAddress>32768</StartAddress>
<EndAddress>33023</EndAddress>
<VarName>.mb_Output_Registers</VarName>
</MappingInfo>
</OutputRegisters>
</Mapping>
</Configuration>