Projektkonvertierung am Beispiel Modbus
Ausgangszustand:
In diesem Beispiel wird ein e!COCKPIT-Projekt konvertiert, welches aus einem PFC200 (750-8212) und einem per Modbus verbundenen Koppler (750-352) besteht. An den Koppler sind 3 I/O-Module gesteckt – ein 2-Kanal-Digitaleingangsmodul (750-400), ein 2-Kanal-Analogeingangsmodul (750-469) und ein 2-Kanal-Analogausgangsmodul (750-550). Die Datenpunkte dieser drei I/O-Module sehen Sie im Feldbuskonfigurator unter „Lokalbus-Datenpunkte“. Per Drag & Drop wurden diese Datenpunkte auf Master-Variablen gemappt.
Kurz und knapp:
Zusammenfassend werden Sie in der nachfolgenden Beschreibung in CODESYS folgende Schritte ausführen: Sie löschen das Slave-Gerät und aktualisieren das Master-Gerät. Dabei bleiben globale Modbus-Variablen erhalten. Sie bauen anschließend die Modbus-Struktur mit Master und Slave im Gerätebaum neu auf und bilden das E/A-Abbild nach (Kanäle, Länge der Ein-/Ausgangsdaten je nach I/O-Modulen). Sie weisen dann die vorhandenen, globalen Modbus-Variablen neu zu.
- Löschen Sie zunächst das Slave-Gerät. Hier sind keine Daten enthalten, die Sie benötigen werden.
- Die benötigten Modbus-Variablen werden generell global angelegt. Im Gerätebaum finden Sie unter „Application“ > „Modbus“ eine Struktur, die Ihnen diese global gespeicherten Variablen anzeigt:
- Für den Slave, den Sie neu anlegen werden, werden Sie diese Variablen wiederverwenden und den Ein-/Ausgangsdaten Ihrer I/O-Module in CODESYS zuordnen.
- Klicken Sie zunächst mit der rechten Maustaste auf das Gerät und wählen Sie Gerät aktualisieren..., um die Gerätebeschreibung für das Gerät zu laden.
- Wählen Sie Ihr Gerät in der Liste aus und klicken Sie auf die Schaltfläche [Gerät aktualisieren].
- Die Feldbuselemente werden entfernt. Die globalen Variablen bleiben jedoch erhalten.
- Legen Sie nun den Master und den Slave neu an. Klicken Sie dazu mit der rechten Maustaste auf das Gerät und wählen Sie Gerät anhängen....
- Lassen Sie das Dialogfenster für die nächsten drei Schritte geöffnet und klicken Sie jeweils auf [Gerät anhängen], um den Feldbus „Ethernet“ sowie den darunter gehängten Master und den Slave einzufügen:
- Wählen Sie im Dialogfenster zunächst den Feldbus „Ethernet“ aus.
- Klicken Sie im Gerätebaum auf das neue Element „Ethernet“ und wählen Sie im Dialogfenster den Modbus-Master aus.
- Klicken Sie im Gerätebaum auf das neue Element „Modbus_TCP_Master“ und wählen Sie im Dialogfenster den Modbus-Slave aus. - Auf diese Weise entsteht im Gerätebaum die folgende Struktur:
- Klicken Sie doppelt auf den Slave (Element „Modbus_TCP_Slave“).
- Die Konfiguration wird geöffnet.
- Klicken Sie auf „Modbus Slave-Kanal“ und dort unten rechts auf die Schalfläche [Kanal hinzufügen...].
- Stellen Sie Kanal, Zugriffstyp und die Länge für das Lesen und Schreiben entsprechend Ihrer verwendeten I/O-Module ein.
Hier wird beispielsweise das „READ Register“ auf die Länge 3 eingestellt (1 x 2-Kanal-DI + 1 x 2-Kanal AI), das „WRITE Register“ auf die Länge 2 (2-Kanal-AO). - Klicken Sie auf „Modbus TCP Slave E/A-Abbild“.
- Sie sehen den angelegten Kanal und die angelegten Variablen. Auf diese werden Sie die globalen Variablen der I/O-Module mappen bzw. neu zuordnen.
- Klicken Sie dazu im jeweiligen Variablenfeld auf die im hinteren Bereich eingeblendete Schaltfläche [...], um die Eingabehilfe zu öffnen.
- Unter „Application“ > „Modbus“ > „FC_ETHERNET_G3_tcp“ finden Sie die globalen Variablen zur Auswahl.
- Bilden Sie auf diese Weise der Reihe nach Ihren Slave aus dem e!COCKPIT-Projekt nach.
- Damit ist die Konvertierung abgeschlossen.
Hinweis
Beachten Sie die folgenden Einschränkungen in CODESYS gegenüber e!COCKPIT:
• Modbus RTU und UDP werden derzeit im Konfigurator nicht unterstützt. Sie können MODBUS-Funktionen für RTU und UDP jedoch über die IEC-Bibliothek „WagoAppPlcModbus“ nutzen.
• Spezifische TCP/IP-Parameter (Keep Alive, Type of Service) werden nicht unterstützt.
• Der Funktionscode FC22 (Maskierung von Registern) wird nicht unterstützt.
• Ebenso der Funktionscode FC66 (Abfrage größerer Datenmengen in einem Request).
• Gerätespezifische Sonderregister werden nicht unterstützt.
• Der MODBUS-Dienst ist nur mit laufender SPS-Applikation verfügbar.