Modbus/TCP-Server - Datenabfrage vom Modbus-Server
Dieses Kapitel bietet eine schrittweise Anleitung zum Abfragen von Daten des Modbus/TCP-Servers. Hier wird beispielhaft der WinCC OA Modbus/TCP-Treiber verwendet, analog dazu kann die Konfiguration anderer Modbus/TCP-Cleints durchgeführt werden.
Konfiguration Server-Projekt
-
Fügen Sie in der Konsole einen Manager WCCOAmodsrv hinzu. Erstellen Sie einen Server und legen Sie die benötigte erlaubte Verbindung für Ihren Client fest. Für dieses Beispiel wurden Server und erlaubte Verbindung so wie im Kapitel Parametrierung des Modbus/TCP-Servers beschrieben konfiguriert.
-
Öffnen Sie den Plantmodel Editor und legen Sie die benötigte View an. Für dieses Beispiel wurde eine View mit Namen "View_ModServer1" angelegt und dem Server zugewiesen. Anschließend werden per Klick auf "RTU erstellen" die Unterknoten erstellt und das Element "testDP" (mit Node-ID = 1 und zugewiesenem Datenpunkt vom Typ int) erstellt.
Die Daten von testDP in Speicherbereich 3 sollen anschließend vom Modbus/TCP-Treiber abgefragt werden.
Konfiguration Client-Projekt
-
Fügen Sie in der Konsole einen WCCOAmod Manager zur Konsole hinzu und konfigurieren Sie den Treiber entsprechend (siehe Parametrierung des Modbus/TCP-Treibers). Geben Sie den Hostnamen bzw. die IP-Adresse des Servers inklusive Portnummer an (in diesem Beispiel 192.168.34:502) und beachten Sie, dass die Unit-Adresse in diesem Beispiel der Knoten-ID von RTU1 (=1) entsprechen muss.
-
Öffnen Sie den PARA und fügen Sie einem DPE vom Typ int ein _address-Config hinzu. Konfigurieren Sie dieses wie folgt (siehe auch Definition der Peripherieadressen des Modbus/TCP-Treibers):
Die SPS-Nummer muss wie zuvor im Treiber-Konfigurationspanel angegeben werden (=1). Das in der CNS-View vom Server definierte Element testDP liegt im Speicherbereich 3 und muss daher über FC4 (read input registers) angesprochen werden (siehe Details zum Modbus/TCP-Server). Die Referenznummer entspricht der Node-ID von testDP (=1). Das ergibt die Referenzadresse M.1.4.1
-
Nach Aktivieren einer entsprechenden Pollgruppe wird der Wert von TestDP wird auf den Originalwert von Datenpunkt result geschrieben.