|
Beschreibung Die SIMATIC S7-1200 ermöglicht über die Kommunikationsmodule CM 1241 RS485 und CM 1241 RS232 die Punkt-zu-Punkt-Kommunikation. Jede S7-1200 Steuerung kann mit bis zu drei Kommunikationsmodulen erweitert werden. Mit Hilfe der in STEP 7 (TIA Portal) integrierten MODBUS-Bibliothek können Sie jedes Kommunikationsmodul als MODBUS Master oder Slave definieren. Wenn Sie MODBUS Master wählen, können Sie
- über den CM 1241 RS232 (physikalisch bedingt) nur mit einem Slave kommunizieren.
- über den CM 1241 RS485 mit bis zu 32 Slaves nacheinander kommunizieren.
Anhand eines Beispielprojektes wird die Vorgehensweise zur Projektierung in STEP 7 (TIA Portal) V11 zur Kommunikation mit mehreren Slaves über den CM 1241 RS485 beschrieben.
Anleitung Vorgeführt wird die MODBUS-Kommunikation zwischen einem Master und einem Slave. Es wird abwechselnd in die Halteregister des Slaves geschrieben (Funktionscode 16) und aus den Halteregistern des Slaves gelesen (Funktionscode 03). Da es sich beim RS485 um eine Zweileiterschnittstelle (halb-duplex) handelt, muss das Schreiben und Lesen nacheinander ausgeführt werden. Über das gleiche Prinzip kann auch die Adresse des anzusprechenden Slaves zwischen zwei Aktionen (hier schreiben und lesen) geändert und so mit mehreren Slaves Daten ausgetauscht werden.

Bild 01
Die Kommunikationsmodule CM 1241 RS485 werden über eine PROFIBUS-Leitung miteinander verbunden. Über die Weiterführung der PROFIBUS-Leitung können bis zu 31 weitere MODBUS-Slaves mit dem Master verbunden werden. Die Projektierung erfolgt in STEP 7 (TIA Portal) und der Programmcode wird über den Switch CSM 1277 in die Steuerungen übertragen.
MB_COMM_LOAD Für die MODBUS-Kommunikation wurde auf beiden Seiten (Master und Slave) der Konfigurationsbaustein MB_COMM_LOAD aufgerufen.

Bild 02
Über den Baustein MB_COMM_LOAD wird das Kommunikationsmodul ausgewählt, die Kommunikationsparameter festgelegt und die Verknüpfung mit dem Master- oder Slaveparametern parametriert. Der Baustein MB_COMM_LOAD muss im ersten Programmzyklus (über Aktivierung des Systemmerkers M1.0 in den Hardwareeinstellungen oder Aufruf in Anlauf-OB 100) aufgerufen werden. Nach Einfügen des Kommunikationsmoduls in der Hardwarekonfiguration lässt sich der symbolische Name des Kommunikationsmoduls am Parameter PORT auswählen. Die Kommunikationsparameter BAUD (Übertragungsgeschwindigkeit) und PARITY (Parität) müssen für alle Teilnehmer gleich sein. Die Portkonfiguration der RS485-Schnittstelle in der STEP 7 (TIA Portal) -Gerätesicht ist hierbei irrelevant. Am Parameter MB_DB wird der Instanzdatenbaustein des Master- bzw. Slavebausteins übergeben und so das Kommunikationsmodul (Parameter PORT) als MODBUS-Master oder -Slave definiert.
MB_MASTER Mit dem Baustein MB_MASTER definieren Sie das mit dem Konfigurationsbaustein MB_COMM_LOAD gewählte Kommunikationsmodul als MODBUS-Master.

Bild 03
Über den Baustein MB_MASTER wird der anzusprechende MODBUS-Slave ausgewählt, der Funktionscode gewählt und der lokale Datenbereich festgelegt. Nachstehende Tabelle erläutert die Parameter:
| Parameter |
Beschreibung |
| REQ |
Aktivierung der Kommunikation |
| MB_ADDR |
MODBUS-RTU-Stationsadresse |
| MODE |
Auswahl der Übertragungsrichtung ("0" = Lesen, "1" = Schreiben, oder zusätzliche Diagnosefunktionen) |
| DATA_ADDR |
Angabe der MODBUS-Anfangsadresse |
| DATA_LEN |
Angabe der MODBUS-Datenlänge |
| DATA_PTR |
Definition der lokalen Empfangs- bzw. Sendedatenbereiche des Masters. Der Parameter DATA_PTR muss auf einen globalen Datenbaustein verweisen, der mit der deaktivierten Option "Nur symbolisch adressierbar" erstellt wurde. |
Der "MB_MASTER" muss im ersten Programmzyklus aufgerufen werden,
- über die Aktivierung des Systemmerkers M1.0 in den Hardwareeinstellungen,
- oder über den Aufruf im Anlauf-OB 100.
MB_SLAVE Mit dem Baustein MB_SLAVE definieren Sie das mit dem Konfigurationsbaustein MB_COMM_LOAD gewählte Kommunikationsmodul als MODBUS-Slave.

Bild 04
Über den Baustein MB_SLAVE wird die MODBUS-RTU-Stationsadresse festgelegt und der lokale Datenbereich für den Halteregister-Datentransfer bestimmt.
| Parameter |
Beschreibung |
| MB_ADDR |
Übergabe der MODBUS-RTU-Stationsadresse |
| MB_HOLD_REG |
Halteregister des Slaves. Der Parameter MB_HOLD_REG muss auf einen globalen Datenbaustein verweisen, der mit der deaktivierten Option "Nur symbolisch adressierbar" erstellt wurde. |
Bei mehreren zu übertragenden Registern (Wörtern) muss beim Parameter "MB_HOLD_REG" der symbolische Name eines Arrays oder Strucks, dass die vorgegebene Datenmenge des Masters (DATA_ADDR und DATA_PTR) abdeckt, übergeben werden. Das erste Wort dieses Arrays oder Strucks entspricht der MODBUS-Halteregisteranfangsadresse 40001.
Die Parameter können über die Ein- und Ausgänge der Bausteine beschaltet werden oder über Zugriff auf den jeweiligen Instanzdatenbaustein.
Beispielprojekt Das abwechselnde Schreiben/Lesen aus den Halteregistern des Slaves wird im Masterprojekt über eine Schrittkette realisiert.

Bild 05
- Im Initialisierungsschritt 0 wird der Konfigurationsbaustein MB_COMM_LOAD aufgerufen.
- Im Schritt 1 wird der MB_Master mit den Kommunikationsparametern fürs Schreiben in den Slave (MODE = 1 ) aufgerufen und ausgeführt (REQ = 1).
- Die Weiterschaltung zum Schritt 2 erfolgt durch die erfolgreiche (DONE) oder negative (ERROR) Rückmeldung des MB_MASTERs.
- Durch die Weiterschaltung wird die Ausführung des MB_MASTERs zurückgesetzt (REQ = 0).
- Im Schritt 2 werden die Kommunikationsparameter für das Lesen aus dem Slave (MODE = 0) mit Hilfe des MB_MASTERs in dem gleichen Instanzdatenbaustein aus Schritt 1 (Parameter MB_DB des Bausteins MB_COMM_LOAD) geschrieben.
- Die Ausführung und Weiterschaltung verläuft äquivalent zum Schritt 1.
Die Umsetzung eines Schritts (Netzwerk 6 und 7) mit Weiterschaltung (Netzwerk 8) zeigt das folgende Bild:

Bild 06
Über den Parameter MB_ADDR (siehe Netzwerk 6) kann so auch der anzusprechende Slave je Schritt geändert und damit Daten mit bis zu 32 Slaves ausgetauscht werden.
Download Die komprimierte Datei "STEP7_V11_Modbus_RTU.zip" enthält das Beispielprojekt "MODBUS_RTU_V11 SP2 Upd5.ap11" für den abwechselnden Datentransfer zwischen einem Master und einem Slave. Entpacken Sie die Datei "STEP7_V11_Modbus_RTU.zip" und öffnen Sie das Beispielprojekt "MODBUS_RTU_V11 SP2 Upd5.ap11" mit STEP 7 (TIA Portal) V11+SP2+Update5. Die Firmware der CPU-Baugruppen ist V2.2. Laden Sie die Projektordner ("Master" und "Slave") in die Steuerungen. Den Datentransfer können Sie über die Beobachtungstabellen nach verfolgen.
STEP7_V11_Modbus_RTU.zip ( 994 KB )
Hinweis Weitere Informationen zu den MODBUS-Bibliotheksoperationen finden Sie im SIMATIC S7-1200 Automatisierungshandbuch (Beitrags-ID 36932465).
Um die Bausteine Ihrer MODBUS-RTU-Bibliothek zu aktualisieren, gehen Sie wie folgt vor (Beitrags-ID 59421832).
|