Controller (Master) mit Controller (CODESYS V2) (Slave) verbinden
Das prinzipielle Vorgehen entspricht größtenteils der Beschreibung unter Controller (Master) mit Feldbuskoppler (Slave) verbinden. Der Hauptunterschied besteht darin, dass Controller als Slave verwendet werden, die mit CODESYS V2 und nicht mit e!COCKPIT programmiert werden. Sie können bestehende Controller mit CODESYS V2-Projekten in ein Modbus-Netzwerk in e!COCKPIT integrieren und auf dessen I/O-Module zugreifen, nicht jedoch auf die Programmvariablen.
Geräte in der Kommunikationssicht platzieren
- Wählen Sie die Controller aus dem Produktkatalog aus und ziehen Sie diese mit der Maus in die Netzwerkansicht (Kommunikationssicht).

Verwendete I/O-Module in der Gerätedetailansicht konfigurieren
- Öffnen Sie die Gerätedetailansicht (wahlweise grafisch oder tabellarisch), indem Sie doppelt auf den Controller klicken.
- Ordnen Sie die verwendeten I/O-Module analog zu Ihrer Hardware an, indem Sie diese aus dem Produktkatalog hinter das Gerät ziehen.
- Parametrieren Sie die I/O-Module bei Bedarf, indem Sie diese auswählen und jeweils im Bedienfeld „Einstellungen“ Änderungen vornehmen.
- Wechseln Sie zurück zur Netzwerkansicht.
- Verfahren Sie ebenso mit dem zweiten Gerät.
Geräte verbinden
- Klicken Sie in der Netzwerkansicht (Kommunikationssicht) bei einem der Geräte auf den grauen Konnektor (ETHERNET/Modbus) und halten Sie die Maustaste gedrückt.
- 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.
- Die Geräte sind verbunden. An dem Pfeil der Verbindungslinie erkennen Sie die automatisch zugewiesene Rolle der Geräte: Die Verbindungslinie beginnt beim Master und endet beim Slave.

Protokoll für die Verbindung festlegen
- Um das Protokoll für die Verbindung festzulegen, klicken Sie im Kontextmenü des Modbus-Konnektors oder der Verbindung auf die Schaltfläche [Protokoll].
- Wählen Sie die gewünschte Verbindung aus (in diesem Beispiel „Modbus (TCP)“).
Die Auswahlmöglichkeiten hängen von den verwendeten Geräten ab.
Geräteeinstellungen im Bedienfeld „Einstellungen“ festlegen
Einstellungen oder Parameter der eingefügten Geräte ändern Sie im Bedienfeld „Einstellungen“. Das Bedienfeld ist standardmäßig geöffnet. Ist dies nicht der Fall, öffnen Sie es über das Kontextmenü des Gerätes und die Schaltfläche [Einstellungen].

- Selektieren Sie das Gerät in der Netzwerkansicht.
- Register, Eingabemasken und Auswahlfelder innerhalb des Bedienfeldes „Einstellungen“ sind gerätespezifisch. Angezeigte Einstellmöglichkeiten hängen vom Inhalt der jeweiligen Gerätebeschreibungsdatei ab.
- Nehmen Sie allgemeine Einstellungen bezüglich Gerät, SPS und Lokalbus in den ersten Registern vor. Ändern Sie beispielsweise die IP-Adresse.
- Nehmen Sie Modbus-Einstellungen im Register „Modbus“ vor.
- Verfahren Sie ebenso mit dem zweiten Gerät.
Applikation programmieren
Im Folgenden erstellen Sie eine Applikation für den Controller (hier: PFC200, 750-8204). Beachten Sie, dass der CODESYS V2-kompatible Controller (hier: 750-881) nicht mit e!COCKPIT (CODESYS V3) programmiert werden kann.
- Wählen Sie den Controller (Master) aus.
- Öffnen Sie das Bedienfeld „Programmstruktur“, indem Sie im Register „ANSICHT“ des Menübandes auf die Schaltfläche [Programmstruktur] klicken.
- Erstellen Sie Ihr Programm (im Hauptprogramm „PLC_PRG“ oder in einer POU).
- Kompilieren und validieren Sie Ihr Programm im Register „PROGRAMM“ mittels [Übersetzen].
Slave konfigurieren
Die Konfiguration des Slaves nehmen Sie im Datenpunktkonfigurator vor.
- Um zum Datenpunktkonfigurator zu gelangen, klicken Sie doppelt auf die Gerätekachel des Slave-Gerätes.
- Die Gerätedetailansicht wird geöffnet. Der Modbus-Datenpunktkonfigurator öffnet sich im Register „Modbus-Slave“ der Gerätedetailansicht.
- Für den Controller (CODESYS V2), der in diesem Fall als Slave verwendet wird, dient der Datenpunktkonfigurator in erster Linie dazu, Datenpunkte umzubenennen und bestehende Datenpunkte anzuzeigen.
Unter „Programmvariablen“ ist ein direktes „Hinzufügen aus Programm“ nicht verfügbar, da kein direkter Zugriff auf die Applikationsvariablen der älteren CODESYS V2 möglich ist. Sie können jedoch PFC-Variablen und Variablen aus dem Merkerbereich des Controllers (CODESYS V2) manuell anlegen und verwenden: - Klicken Sie dazu mit der rechten Maustaste auf „Programmvariablen“ und auf [Hinzufügen].
- Passen Sie unter „IEC 61131-Adresse“ die Adresse der Variablen aus der CODESYS V2-Applikation an.
- Die Adresse beschreibt den direkten Speicherzugriff zu der angegebenen Speicherstelle. Hilfe zu Adressangaben in CODESYS erhalten Sie in der CODESYS Onlinehilfe, Index „Speicherbereich“.
- Die Modbus-Adresse wird automatisch berechnet und angezeigt.
- Optional: Falls erforderlich, können Sie im Datenpunktkonfigurator zusätzlich generische Datenpunkte hinzufügen. Diese benötigen Sie beispielsweise, wenn Sie in bestimmter Weise (mittels Funktionscodes) auf vorhandene Datenpunkte zuzugreifen möchten, die eine beliebige Position im bestehenden Modbus- Prozessabbild repräsentieren. Zum Anlegen und Bearbeiten generischer Datenpunkte, siehe Szenario Controller (Master) mit Controller (Slave) verbinden unter „Generische Datenpunkte anlegen“.
Verbindung zwischen Master und Slaves konfigurieren
Die Verbindung zwischen Master und Slaves konfigurieren Sie im Feldbuskonfigurator. Hier werden hauptsächlich Verbindungseinstellungen vorgenommen, zu übertragende Variablen angezeigt und neue Variablen angelegt.
- Klicken Sie auf den Modbus-Konnektor eines der beiden verbundenen Geräte.
- Öffnen Sie den Modbus-Feldbuskonfigurator, indem Sie auf die Schaltfläche [Konfigurator] klicken.
- Der Feldbuskonfigurator wird geöffnet. Die Verbindung wird im Kopfbereich des Konfigurators angezeigt. Falls mehrere Slaves mit einem Master verbunden sind, können Sie die Auswahl unter „Selektierte Verbindung“ ändern.
- Der Feldbuskonfigurator ist in zwei Spalten unterteilt:
Auf der linken Seite werden die Variablen dargestellt, die über den Bus vom Slave zum Master übertragen werden.
Die rechte Seite zeigt die auf dem Slave verfügbaren Datenpunkten an. Neben „Programmvariablen“ werden „Generische Datenpunkte“ und weitere Standardvariablen angezeigt, die automatisch jedem Modbus-Slave zur Verfügung stehen („WAGO Modbus special register“). - Wählen Sie in der rechten Spalte einen Slave-Datenpunkt aus, auf den der Master zugreifen soll.
Tipp: Mit gedrückter Steuerungstaste wählen Sie mehrere Datenpunkte aus. - Klicken Sie im Kontextmenü des Datenpunktes auf [Bereitstellen].
- Die Variable wird in der Master-Applikation erzeugt. Damit wird die Verbindung zum Slave-Datenpunkt hergestellt.
- 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 - Passen Sie ggf. die Zykluszeit (Spalte T [ms]) auf die benötigte Zykluszeit an.
- Sie können die Master-Variable nun in der Applikation des Masters verwenden.
Auf Datenpunkte zugreifen
- Öffnen Sie die Programmstruktur und das Hauptprogramm des Masters.
- In der Applikation des Masters erfolgt der Zugriff auf die Variable, wie in der folgenden Abbildung dargestellt.
- Tipp: Die Eingabehilfe zur einfachen Auswahl der Variable öffnen Sie mittels Taste [F2].
- Auf diese Weise wurde ein vorhandener Slave-Datenpunkt über Modbus zugänglich gemacht und in der Master-Applikation ausgelesen.