S7-SoftSPS:Modbus TCP Konfiguration
Dieser Treiber ermöglicht es, dezentrale I/O über Ethernet/Modbus TCP an die S7-SoftSPS anzuschließen. Der Treiber unterstützt die in der Tabelle aufgelisteten Modbus TCP Telegrammtypen. Soll ein Slave mit der S7-SoftSPS betrieben werden, sollte sicher gestellt werden, dass dieser die aufgeführten Modbus-Telegramme unterstützt. Wenn möglich sollte die Modbus Funktion Read/Write Registers (0x17) verwendet werden, da diese Lesen und Schreiben in einem Telegramm durchführt. Unterstützt ein Slave dieses Telegramm nicht, so muss dieser als zwei Slaves angelegt werden. Die erste Konfiguration liest die Eingänge, die zweite schreibt die Ausgänge. Da dies nicht sehr effizient ist, sollte die Funktion Read/Write vorgezogen werden. Zusätzlich installiert der Treiber eine Status SFC/FC, mit der der Zustand der Modbus TCP Verbindung im SPS-Programm abgefragt werden kann.
Funktionsweise der Status SFC/FC
CALL SFC/FC 193
IN0 | := 1 | //INPUT INT |
RET_VAL | := MW 0 | //RESULT INT |
OUT1 | := MW 2 | //OUTPUT INT |
OUT2 | := MW 4 | //OUTPUT DWORD |
OUT3 | := MW 8 | //OUTPUT INT |
OUT4 | := MW 10 | //OUTPUT DWORD |
Parameter | Datentyp | Bedeutung |
---|---|---|
IN0 | INT | Slavenummer Format: 0,1,2,3,... dies entspricht der Slave Parametersatznummer wie in der Datei PLC43.INI konfiguriert |
RET_VAL | INT | Gibt bei vorhandener Parametrierung 0 zurück
Sonst 0x8090 |
OUT1 | INT | Bit 0 = 1 vorhandene Verbindung
Bit 1 = 1 vorhandener Fehler Bit 2...7 reserviert Bit 8...15 SPS-Zyklen seit letzter I/O-Baugruppen-Antwort (Zurückgesetzt mit Aufruf des SFCs) |
OUT2 | DWORD | Parametrierte IP-Adresse |
OUT3 | INT | Parametrierter Port |
OUT4 | DWORD | Windows-Fehler-Code |
Die wichtigsten Windows (32-Bit) Netzwerkfehlermeldungen:
0x271D / 10013d | Permission denied - Deutet auf eingeschränkte Rechte oder eine Firewall hin |
0x2745 / 10053d | Software caused connection abort - Wahrscheinlich fehlerhafte Netzwerkverbindung oder kein Slave unter der Adresse vorhanden. |
0x2746 / 10054d | Connection reset by peer. Der Slave hat die Verbindung getrennt. |
0x274C / 10060d | Connection timed out. Timeout auf der Netzwerkverbindung. |
0x274D / 10061d | Connection refused. Der Slave (oder ein Router dazwischen)hat die Verbindung verweigert. |
0x2751 / 10065d | No route to host. Die Verbindung zum Zielnetz kann nicht hergestellt werden. Netzwerkeinstellungen und Gateway/Routereinstellungen prüfen. |
Statuswort
Bei Erfolg ist das BIE des Statuswortes gesetzt, OR, STA und \ER gelöscht.
Bei Misserfolg sind BIE, OR, STA und \ER des Statuswortes gelöscht.