Hallo Christian,
habe gerade meinen Modbus SL (RS 485) zum Laufen bekommen.
War nicht ganz ohne. Hat mich einiges an Nerven gekostet, aber dabei habe ich zumindest die Philosophie der Modbus Projektierung in IPS verstanden, glaube ich zumindest!?
Sehe gerade, dass Werner dir schon geantwortet hat. Egal, ich gebe meinen Senf einfach noch dazu …
Vorab, Modbus TCP habe ich in IPS noch nicht projektiert, aber ich denke nachfolgende Vorgehensweise führt ans Ziel
Schau dir zunächst die Spec „Implementation Technical Note.pdf“ (Beitrag 1 von paresy) an. Du musst den Modbus TCP am WE erst aktivieren. Das „Wie“ wird dort beschrieben.
Zur Projektierung Modbus TCP in IPS (von „unten“ nach „oben“)
Schritt 1 => I/O Instance (Kommunikationskanal)
Erzeuge einen „Client Socket“.
Hier kannst du unter „Host“ die IP des Teilnehmers (WR) eingeben und bei Port „502“ ein. Ist der Modbus TCP Standard Port.
In der erwähnten WR Doku steht zum Port einmal „1502“ und zwei Seiten weiter „502“!? Habe ich nicht verstanden. Probiere „502“
Damit hast du dann die unterste Ebene (Kommunikationsebene) eingerichtet.
Schritt 2 => Splitter Instance (Datenaufbereiter )
Erzeuge hier eine „Modbus Gateway“ Instanz. Bei „Modus“ muss „Modbus TCP“ eingestellt werden (Ist der IPS Default-Wert).
Die Server ID (Eigentlich „Unit Identifier“, in der Spec zum WR „Device ID“ ) ist für Modbus Gateways oder Modbus TCP Server mit verschiedene Serverbereiche relevant. Entspricht bei Gateways der Modbus SL Adresse des Teilnehmers am RS485 Bus. Das nur zu Info.
In der Doku zu dem WR steht „1“. Also hier die „1“
WICHTIG, du musst oben in der Reihe von „Instanzkonfiguration“ auf „Schnittstelle ändern“ gehen und prüfen, ob die unter Schritt 1 erzeugte I/O Instance ausgewählt ist!
Hier kannst du auch über die Experten Einstellung die Abfrage der Daten in Blöcken einstellen, aber das würde ich, wenn überhaupt, später machen! Bei Modbus SL durchaus sinnvoll, bei Modbus TCP eigentlich egal. Ist bei der Ersteinrichtung aber nur eine Fehlerquelle mehr.
Schritt 3 => Geräte Instanz (Mapping auf die Gerätevariablen)
Jetzt müsstest du hier eine „Modbus Geräte“ Instanz anlegen. Ich denke, das hast du schon getan, da hier ja auch die Vorlagen importiert werden.
WICHTIG, hier musst du oben in der Reihe von „Instanzkonfiguration“ auf „Gateway ändern“ gehen und prüfen, ob die unter Schritt 2 erzeugte „Splitter Instanz“ ausgewählt ist.
Bzgl. Abfragezyklus scheiben sie in der WR Doku, dass nach 2 Sek die TCP Verbindung durch den WR geschlossen wird. Macht zwar nix, würde sie aber trotzdem < 2Sek einstellen
Um Modbus Funktion Codes musst du dich nicht mehr kümmern, die sind in der Vorlage enthalten.
Und los geht’s (hoffentlich) => I/O Instanz aus Schritt 1 starten und Werte checken.
Das müsste eigentlich funktionieren!? Habe es, wir erwähnt, noch nicht gemacht, aber so würde ich an die Sache rangehen.
Hoffe es klappt …
VG Teckie