Fremdgerät (Master) mit Controller (Slave) verbinden
Das prinzipielle Vorgehen entspricht größtenteils der Beschreibung unter Controller (Master) mit Feldbuskoppler (Slave) verbinden. Der Hauptunterschied besteht darin, dass Sie in e!COCKPIT lediglich die Konfiguration der Modbus-Datenpunkte im Datenpunktkonfigurator des Controllers (Slave) vornehmen. Die Projektierung der Verbindungen erfolgt in der Software der überlagerten Fremdsteuerung.
Geräte in der Kommunikationssicht platzieren
- Wählen Sie einen Controller aus dem Produktkatalog aus und ziehen Sie diesen mit der Maus in die Netzwerkansicht (Kommunikationssicht).
- Fremdgeräte werden in e!COCKPIT durch generische Geräte repräsentiert, die Sie ebenfalls im Produktkatalog finden:
Wählen Sie im Ordner „Sonstige Kommunikationsteilnehmer“ des Produktkataloges unter „Modbus (TCP)“ oder „Modbus (UDP)“ den generischen Modbus-Master („Generic_Modbus_Master“) und ziehen Sie ihn ebenfalls in die Netzwerkansicht.

Verwendete I/O-Module in der Gerätedetailansicht konfigurieren
Hinweis: Für das Fremdgerät ist die Gerätedetailansicht nicht verfügbar.
- Ö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.
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.
- Fremdgerät (Master):
Tendenziell sind für Fremdgeräte keine Einstellungen möglich. Werden Einstellungen angezeigt, die verändert werden können, dann dienen diese lediglich der Kommunikation mit dem Controller, sie werden aber nicht im Fremdgerät selbst geändert. - Controller (Slave):
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.
Applikation programmieren
- Wählen Sie den Controller (Slave) 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.
- Legen Sie nun fest, welche Datenpunkte der Slave über den Feldbus bereitstellen soll. Sie haben folgende Möglichkeiten, die im Folgenden erläutert werden:
• Bereits bestehende Variablen aus der Applikation verwenden
• Variablen von I/O-Modulen verwenden
• Generische Datenpunkte anlegen
• Angelegte Datenpunkte für die Fremdsteuerung bereitstellen
Bereits bestehende Variablen aus der Applikation verwenden:
Da in diesem Fall ein programmierbares Gerät als Slave verwendet wird, bestehen die Datenpunkte des Slaves u. a. aus Variablen der Slave-Applikation. Diese können direkt aus der Applikation ausgewählt und angelegt werden.
- Klicken Sie im Kontextmenü auf [Hinzufügen aus Programm].
- Wählen Sie eine bestehende Variable aus der Applikation des Slaves aus.
- Hinweis: Einfache Datentypen werden direkt über Modbus übertragen, während komplexe Datentypen (u. a. Strukturen) auf Word-Arrays abgebildet werden. Diese werden dann stellvertretend über Modbus übertragen. Sofern der verwendete Datentyp global im Projekt bekannt ist, kann der Master direkt auf die Einzelelemente der komplexen Variablen zugreifen, obwohl Modbus einen solchen Datentyp selbst nicht verwendet (siehe auch Zugriff auf einfache und komplexe Datentypen).
- Übernehmen Sie diese mit [OK].
- Wählen Sie die Kommunikationsrichtung aus (Eingang, Ausgang oder Ein-/Ausgang).
- Sie können den neuen Datenpunkt verwenden.
Variablen von I/O-Modulen verwenden:
- Um Variablen von I/O-Modulen in Ihrer Applikation zu verwenden, wechseln Sie zunächst im Datenpunktkonfigurator zum Register „Lokalbus E/A-Abbild“.
- Wählen Sie in der Gerätedetailansicht das I/O-Modul aus, auf dessen Variablen Sie zugreifen möchten.
- Legen Sie Variablen für die einzelnen Kanäle der I/O-Module an (hier „var1“ und „var2“).
- Diese Variablen stehen global zur Verfügung.
- Wechseln Sie zurück in den Datenpunktkonfigurator. Klicken Sie dazu auf den Controller und dann auf das Register „Modbus-Slave“.
- Klicken Sie im Kontextmenü von „Programmvariablen“ auf [Hinzufügen].
- Ein neuer Datenpunkt „ModbusDataPoint“ wird angelegt.
- Wechseln Sie in die Applikation des Slaves und weisen Sie dem erstellten Datenpunkt die Lokalbus-Variable des I/O-Moduls zu.
Hinweis
Variablen von I/O-Modulen immer über neu angelegte Datenpunkte abbilden!
Verwenden Sie für Variablen von I/O-Modulen die Schaltfläche [Hinzufügen] (wie zuvor beschrieben) und nicht [Hinzufügen aus Programm].
Sie könnten die Variable zwar auch mittels [Hinzufügen aus Programm] auswählen (die Variable wird unter „Programmvariablen“ angezeigt), jedoch ist auf diesem Weg kein Zugriff möglich, da bereits über den Lokalbus auf die Variable zugegriffen wird.
Wenn Sie auf [Code erzeugen] klicken, wird eine entsprechende Fehlermeldung im Meldungsfenster ausgegeben: var1: map to existing variable with address is not allowed!
Verwenden Sie aus diesem Grund [Hinzufügen aus Programm] nur für Applikationsvariablen, nicht für Variablen von I/O-Modulen.
Generische Datenpunkte anlegen:
Es gibt Anwendungsfälle, bei denen es sinnvoll ist, generische Datenpunkte zu verwenden. Sie können beispielsweise mehrere Datenpunkte zu einem Register zusammenfassen. Sie können dann von verschiedenen Mastern aus zugreifen, ohne für jeden Zugriff im Master manuell Kanäle anlegen zu müssen.
- Um neue generische Datenpunkte zu erstellen, klicken Sie im Kontextmenü von „Generische Datenpunkte“ auf [Hinzufügen].
- Passen Sie bei Bedarf den Datentyp und die Modbus-Adresse an.
- Klicken Sie im Kontextmenü der Variable auf [Bearbeiten] und passen Sie bei Bedarf weitere Einstellungen an, z. B. Einstellungen zu Funktionscodes.
Hinweis: Generische Datenpunkte sind nicht über die Slave-Applikation verfügbar.
Angelegte Datenpunkte für die Fremdsteuerung bereitstellen:
Im Register „MODBUS-SLAVE“ des Menübandes können Sie die angelegten Datenpunkte gesammelt in eine CSV-Datei exportieren, um die Daten auf diese Weise für das Fremdgerät verfügbar zu machen:
- Wählen Sie dazu den Slave aus.
- Klicken Sie im Register „MODBUS-SLAVE“ des Menübandes auf die Schaltfläche [Export].
- Eine CSV-Datei wird erstellt.
Verbindung zwischen Master und Slaves konfigurieren
Die Projektierung der Verbindungen nehmen Sie nicht in e!COCKPIT, sondern in der Software der überlagerten Fremdsteuerung vor.
- Importieren Sie die zuvor in e!COCKPIT erstellte CSV-Datei in Ihrer Fremdsteuerung. Gegebenenfalls wird dafür zunächst eine Konvertierung in ein unterstütztes Format notwendig sein.