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.

Modbus-Projekt in e!COCKPIT
Modbus-Projekt in e!COCKPIT

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.

  1. Löschen Sie zunächst das Slave-Gerät. Hier sind keine Daten enthalten, die Sie benötigen werden.
  2. 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:
  3. Globale Variablen über Modbus
  4. 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.
  5. 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.
  6. Wählen Sie Ihr Gerät in der Liste aus und klicken Sie auf die Schaltfläche [Gerät aktualisieren].
  7. Die Feldbuselemente werden entfernt. Die globalen Variablen bleiben jedoch erhalten.
  8. 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....
  9. 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.
  10. Auf diese Weise entsteht im Gerätebaum die folgende Struktur:
  11. Modbus-Master mit -Slave
  12. Klicken Sie doppelt auf den Slave (Element „Modbus_TCP_Slave“).
  13. Die Konfiguration wird geöffnet.
  14. Klicken Sie auf „Modbus Slave-Kanal“ und dort unten rechts auf die Schalfläche [Kanal hinzufügen...].
  15. „Modbus Slave-Kanal“ hinzufügen
  16. 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).
  17. Klicken Sie auf „Modbus TCP Slave E/A-Abbild“.
  18. Sie sehen den angelegten Kanal und die angelegten Variablen. Auf diese werden Sie die globalen Variablen der I/O-Module mappen bzw. neu zuordnen.
  19. Klicken Sie dazu im jeweiligen Variablenfeld auf die im hinteren Bereich eingeblendete Schaltfläche [...], um die Eingabehilfe zu öffnen.
  20. Unter „Application“ > „Modbus“ > „FC_ETHERNET_G3_tcp“ finden Sie die globalen Variablen zur Auswahl.
  21. Mapping durchführen
  22. Bilden Sie auf diese Weise der Reihe nach Ihren Slave aus dem e!COCKPIT-Projekt nach.
  1. Variablen zugewiesen
  2. 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.