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>