Mapping zwischen Modbus und ADS
Das Standard-Mapping des Servers wird in der folgenden Tabelle für das erste Laufzeitsystem dargestellt:
Modbus-Bereiche |
Modbus-Adresse |
ADS-Bereich | |
---|---|---|---|
digitale Eingänge (Inputs) |
0x0000 - 0x7FFF |
Indexgruppe |
Indexoffset |
0xF021 - Prozessabbild der physikalischen Eingänge (Bit-Zugriff) |
0x0 | ||
0x8000 - 0x80FF |
Name der Variablen im SPS-Programm |
Datentyp | |
.mb_Input_Coils |
ARRAY [0..255] OF BOOL | ||
digitale Ausgänge (Coils) |
0x0000 - 0x7FFF |
Indexgruppe |
Indexoffset |
0xF031 - Prozessabbild der physikalischen Ausgänge (Bit-Zugriff) |
0x0 | ||
0x8000 - 0x80FF |
Name der Variablen im SPS-Programm |
Datentyp | |
.mb_Output_Coils |
ARRAY [0..255] OF BOOL | ||
Eingangs-Register ( Input Registers) |
0x0000 - 0x7FFF |
Indexgruppe |
Indexoffset |
0xF020 - Prozessabbild der physikalischen Eingänge |
0x0 | ||
0x8000 - 0x80FF |
Name der Variablen im SPS-Programm |
Datentyp | |
.mb_Input_Registers |
ARRAY [0..255] OF WORD | ||
Ausgangs-Register (Registers) |
0x0000 - 0x2FFF |
Indexgruppe |
Indexoffset |
0xF030 - Prozessabbild der physikalischen Ausgänge |
0x0 | ||
0x3000 - 0x5FFF |
0x4020 - SPS-Memory-Bereich |
0x0 | |
0x6000 - 0x7FFF |
0x4040 - SPS-Daten-Bereich |
0x0 | |
0x8000 - 0x80FF |
Name der Variablen im SPS-Programm |
Datentyp | |
.mb_Output_Registers |
ARRAY [0..255] OF WORD |
Der Server mappt diese auf die einzelnen Ads-Bereiche und ermöglicht den Zugriff auf das physikalische Prozessabbild und die SPS-Merker Bereiche.
Das Anpassen der Einstellung ermöglicht der Konfigurator.
Default XML
Die Standartkonfiguration sieht wie folgt aus:
<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>