S7-SoftSPS:Modbus TCP Konfiguration

Aus IBHsoftec Wiki
Wechseln zu: Navigation, Suche

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.