Einfaches Modbus-Netzwerk aufbauen

  1. Wählen Sie zwei Geräte aus dem Produktkatalog aus und ziehen Sie diese mit der Maus in die Netzwerkansicht (Kommunikationssicht).
  2. Geräte in die Netzwerkansicht ziehen
  3. Um Einstellungen oder Parameter der eingefügten Geräte zu ändern, klicken Sie auf das jeweilige Gerät, öffnen im Kontextmenü das Bedienfeld „Einstellungen“ und führen dort Ihre Änderungen durch.
  4. Bedienfeld „Einstellungen“ öffnen
  5. Verbinden Sie nun die Geräte. Klicken Sie in der Netzwerkansicht (Kommunikationssicht) bei einem der Geräte auf den grauen Konnektor (ETHERNET/Modbus) und halten Sie die Maustaste gedrückt.
  6. Um die Geräte miteinander zu verbinden, ziehen Sie die Verbindungslinie auf den gleichartigen Konnektor des zweiten Gerätes. Lassen Sie die Maustaste los, sobald ein grünes Pluszeichen erscheint.
  7. Netzwerkverbindungen herstellen
  8. Die Geräte sind verbunden. Die Verbindungsrichtung definiert dabei die Rolle des Gerätes. Die Verbindungsrichtung wird durch einen Pfeil dargestellt und verläuft vom Master zum Slave.

    Sie können die Geräterollen Master und Slave bei Bedarf nachträglich ändern:
  9. Klicken Sie dazu auf den Modbus-Konnektor eines der beiden Geräte.
  10. Klicken Sie im Kontextmenü auf [Kommunikationsbeziehung]
  11. Kommunikationsbeziehung auswählen
  12. Die aktuelle Kommunikationsbeziehung ist blau hinterlegt und wird an erster Stelle angezeigt.
  13. Bei Bedarf wählen Sie den zweiten Eintrag aus.
    In diesem Beispiel behalten Sie die Kommunikationsbeziehung bei.
  14. Auch das Protokoll der Verbindung können Sie spezifizieren.
  15. Um das Protokoll der Verbindung zu spezifizieren, klicken Sie dazu im Kontextmenü des Modbus-Konnektors auf die Schaltfläche [Protokoll].
  16. Protokoll auswählen
  17. Wählen Sie die gewünschte Verbindung aus. In diesem Beispiel wählen Sie „Modbus (TCP)“.
  18. Die Auswahlmöglichkeiten hängen von dem verwendeten Gerät ab. Falls Ihr Gerät als Router für netzfremde Geräte verwendet werden kann, ist an dieser Stelle beispielsweise auch „Portweiterleitung“ auswählbar (siehe Netzfremde Geräte verbinden (Portweiterleitung)).
    Sie haben die Rolle der Geräte und das verwendete Protokoll für die Verbindung festgelegt. Im Folgenden öffnen Sie den Modbus-Datenpunktkonfigurator. Mit dem Datenpunktkonfigurator legen Sie fest, welche Variablen des Slaves auf dem Master verfügbar sein sollen.
  19. Um den Modbus-Datenpunktkonfigurator der Verbindung zu öffnen, klicken in der Netzwerkansicht (Kommunikationssicht) doppelt auf die Gerätekachel des Slave-Gerätes.
  20. Die Gerätedetailansicht wird geöffnet. Der Modbus-Datenpunktkonfigurator öffnet sich darunter im Register „Modbus-Slave“.
    Die nachfolgende Abbildung zeigt den Modbus-Datenpunktkonfigurator nach dem Öffnen – Es wurden noch keine Variablen zur Kommunikation zwischen Master und Slave definiert.
  21. Modbus-Datenpunktkonfigurator
  22. Um Variablen anzulegen, klicken Sie mit der rechten Maustaste auf „Programmvariablen“.
  23. Klicken Sie im Kontextmenü auf die Schaltfläche [Hinzufügen].
  24. Neue Variable auf dem Slave anlegen
  25. Die Variable wurde als globale Variable in der Slave-Applikation angelegt und ist dort nutzbar.
    Die Tabellenzeile zeigt zunächst Standardwerte für den Modbus-Zugriff auf die neue Variable an.
  26. Neue Variable auf dem Slave (Standardwerte)
  27. Um die Standardwerte zu ändern, klicken Sie doppelt auf die einzelnen Felder „Richtung“, „Variable“, „Datentyp“ etc.
  28. Um Einstellungen bezüglich der Modbus-Adresse vorzunehmen, klicken Sie mit der rechten Maustaste auf die Zeile der neu erstellten Variable.
  29. Klicken Sie im Kontextmenü auf [Bearbeiten] und passen Sie bei Bedarf die Einstellungen an.
  30. Hinweis

    Weitere Informationen zu Generischen Datenpunkten

    Auf dieselbe Weise wie „Programmvariablen“ legen Sie auch „Generische Datenpunkte“ an. Auch für generische Datenpunkte und Modbus-Spezialregister gelangen Sie über die Schaltfläche [Bearbeiten] zu einem Dialogfenster mit weiteren Einstellmöglichkeiten, z. B. zum Einstellen von Funktionscodes.

    Generische Datenpunkte und Modbus-Spezialregister sind nicht über die Slave-Applikation verfügbar: Modbus-Spezialregister sind lediglich im Modbus-Stack des Slaves verfügbar und nur über Modbus zugängig. Es gibt Anwendungsfälle, in denen es sinnvoll ist, generische Datenpunkte zu verwenden. Sie können beispielsweise mehrere Datenpunkte zu einem Register zusammenfassen, um von verschiedenen Mastern zugreifen zu können, ohne für jeden Zugriff im Master manuell Kanäle anlegen zu müssen.

  31. Wechseln Sie zurück in die Netzwerkansicht (Kommunikationssicht).
  32. Im Folgenden öffnen Sie den Modbus-Feldbuskonfigurator. Hier werden hauptsächlich Verbindungseinstellungen vorgenommen, Modbus-Master-Variablen angezeigt und angelegt.
  33. Klicken Sie auf den Modbus-Konnektor eines der beiden verbundenen Geräte.
  34. Öffnen Sie den Modbus-Feldbuskonfigurator, indem Sie auf die Schaltfläche [Konfigurator] klicken.
  35. Der Modbus-Feldbuskonfigurator für den Master wird geöffnet.
    Der Konfigurator ist in zwei Spalten unterteilt: Auf der linken Seite werden die Variablen auf Seite des Masters dargestellt. Die rechte Seite zeigt die auf dem Slave vorhandenen und in der Slave-Applikation verwendeten Datenpunkte an. Der Baum stellt diese in einer hierarchischen Ansicht entsprechend der Programmstruktur dar.
  36. Wählen Sie den angelegten Slave-Datenpunkt in der rechten Spalte aus.
  37. Hinweis

    Einfache sowie komplexe Datentypen möglich!

    I/O-Module stellen Ihre Daten als Einzelvariablen zur Verfügung. Einige I/O-Module stellen Daten außerdem als Array/Struktur zur Verfügung. Je nachdem, wie tief Sie sich in der Baumstruktur des Feldbuskonfigurators befinden und an welcher Stelle Sie auf [Bereitstellen] klicken , können Sie für diese I/O-Module entweder auf die Einzelvariablen auf Arrays oder auf das gesamte I/O-Modul zugreifen.
    Diese Wahlmöglichkeit bietet sich, wenn ein Feldbuskoppler als Kopfstation dient, denn dieser leitet Daten unverändert von den I/O-Modulen über den Bus weiter und lässt einen vollen Zugriff auf die Datenstrukturen der I/O-Module zu.
    Controller hingegen haben die Aufgabe, Daten der I/O-Module zunächst vorzuverarbeiten und erst das Ergebnis über den Bus weiterzugeben. Applikationsvariablen („Programmvariablen“) werden innerhalb des Applikationsprogramms mit Daten der I/O-Module verknüpft und erst dann über den Bus kommuniziert. Die Konfiguration wird hierbei also nicht automatisch erstellt.

  38. Hinweis

    Tipp: I/O-Module mit allen Datenpunkten bereitstellen

    Einige I/O-Module*) können neben dem Bereitstellen einzelner Datenpunkte auch als Ganzes mit allen Datenpunkten für den Master bereitgestellt werden. Sie greifen einheitlich auf die Datenpunkte der I/O-Module zu, unabhängig davon, ob die I/O-Module direkt am Controller angereiht sind oder dezentral über Modbus angesprochen werden. Beim Bereitstellen der Datenpunkte werden automatisch Programmbausteine und Instanzen vorbereiteter Funktionsbausteine generiert, über welche der Datenaustausch realisiert wird. Diese Programmbausteine können Sie ohne weitere Anpassungen direkt in Ihrem Programm verwenden.

    *) Das Bereitstellen kompletter Datenstrukturen ist für diejenigen I/O-Module möglich, deren zugehörige Funktionsbausteine einen iPort für Verbindungen anbieten:
    0750-0636, 0750-0642, 0750-0643, 0753-1630, 0753-1631, 0753-0646, 0753-0647, 0753-0649, 075x-0482, 075x-0484, 075x-0493, 075x-0494, 075x-0495, 75x-0632, 075x-0635, 075x-0640, 075x-0644, 075x-0645, 075x-0650, 075x-0651, 075x-0652, 075x-0653, 075x-0655, 075x-0657, 075x-0658, 075x-0670, 075x-0671, 075x-0672, 075x-0673, 075x-0511, 075x-0633

  39. Klicken Sie im Kontextmenü des Datenpunktes auf [Bereitstellen].
  40. Neue Variable auf dem Master anlegen
  41. Entsprechend des Pfades (Namespace) in der Slave-Applikation wird der angelegte Slave-Datenpunkt in der Master-Applikation erzeugt. Er ist direkt auf dem Master verfügbar.

    Sie sehen den Slave-Datenpunkt (1), die erstellte Variable auf dem Master (2), das Auswahlfeld zur Anpassung des Datentyps (3), die Zykluszeit für die Aktualisierung der Variablen über Modbus (4) und die Art des Modbus-Zugriffs auf die Variablen (5).

    ReadOnly (RO): Master liest den Ausgang des Slaves
    WriteOnly (WO): Master schreibt auf den Eingang des Slaves
    ReadWrite (RW): Master liest den Ausgang / schreibt den Eingang des Slaves
  42. Neue Variable auf dem Master
  43. Öffnen Sie den Arbeitsbereich „Programmierung“ und das Hauptprogramm des Masters.
Hauptprogramm des Masters öffnen
Hauptprogramm des Masters öffnen

In der Applikation des Masters erfolgt der Zugriff auf die Variable „ModbusDataPoint“ wie in der folgenden Abbildung dargestellt.

Tipp: Die Eingabehilfe zur einfachen Auswahl der Variable öffnen Sie mittels Taste [F2].

Zugriff auf die Variable „ModbusDataPoint“ in der Master-Applikation
Zugriff auf die Variable „ModbusDataPoint“ in der Master-Applikation

Auf diese Weise wurde eine Variable in der Slave-Applikation deklariert, über Modbus zugänglich gemacht und in der Master-Applikation ausgelesen.

Weitere Informationen finden Sie unter: