Sie sind auf Seite 1von 11

FAQ 04/2018

Wie realisieren Sie eine


MODBUS-RTU-
Kommunikation?
SIMATIC S7-1200 FW V4.2 / STEP 7 V14 (TIA Portal)

https://support.industry.siemens.com/cs/ww/de/view/47756141
Dieser Beitrag stammt aus dem Siemens Industry Online Support. Es gelten die
dort genannten Nutzungsbedingungen (www.siemens.com/nutzungsbedingungen).

Security- Siemens bietet Produkte und Lösungen mit Industrial Security-Funktionen an, die den
hinweise sicheren Betrieb von Anlagen, Systemen, Maschinen und Netzwerken unterstützen.
Um Anlagen, Systeme, Maschinen und Netzwerke gegen Cyber-Bedrohungen zu sichern,
ist es erforderlich, ein ganzheitliches Industrial Security-Konzept zu implementieren (und
kontinuierlich aufrechtzuerhalten), das dem aktuellen Stand der Technik entspricht. Die
Produkte und Lösungen von Siemens formen nur einen Bestandteil eines solchen
Konzepts.
Der Kunde ist dafür verantwortlich, unbefugten Zugriff auf seine Anlagen, Systeme,
Maschinen und Netzwerke zu verhindern. Systeme, Maschinen und Komponenten sollten
nur mit dem Unternehmensnetzwerk oder dem Internet verbunden werden, wenn und
soweit dies notwendig ist und entsprechende Schutzmaßnahmen (z.B. Nutzung von
Firewalls und Netzwerksegmentierung) ergriffen wurden.
Zusätzlich sollten die Empfehlungen von Siemens zu entsprechenden Schutzmaßnahmen
beachtet werden. Weiterführende Informationen über Industrial Security finden Sie unter
http://www.siemens.com/industrialsecurity.
Die Produkte und Lösungen von Siemens werden ständig weiterentwickelt, um sie noch
sicherer zu machen. Siemens empfiehlt ausdrücklich, Aktualisierungen durchzuführen,
sobald die entsprechenden Updates zur Verfügung stehen und immer nur die aktuellen
Produktversionen zu verwenden. Die Verwendung veralteter oder nicht mehr unterstützter
Versionen kann das Risiko von Cyber-Bedrohungen erhöhen.
Um stets über Produkt-Updates informiert zu sein, abonnieren Sie den Siemens Industrial
Security RSS Feed unter http://www.siemens.com/industrialsecurity.
Siemens AG 2017 All rights reserved

Inhaltsverzeichnis
1 Beschreibung ................................................................................................. 3
1.1 Anleitung ........................................................................................... 3
1.2 Anweisungsbibliothek „MODBUS ( RTU)“ .......................................... 4
1.2.1 Modbus_Comm_Load ....................................................................... 5
1.2.2 Modbus_Master ................................................................................. 6
1.2.3 Modbus_Slave................................................................................... 7
1.3 Beispielprojekt ................................................................................... 9

MODBUS-RTU-Kommunkation mit STEP 7 (TIA Portal) für S7-1200


Beitrags-ID: 47756141, 2.0, 02/20178 2
1 Beschreibung

1 Beschreibung
Die SIMATIC S7-1200 ermöglicht über die CPU-Erweiterung mit den Schnittstellen
RS422, RS485 und RS232 die Punkt-zu-Punkt-Kommunikation. Jede S7-1200
Steuerung kann mit bis zu drei Kommunikationsmodulen (+ ein RS485
Kommunikationsboard) 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, ergibt
sich die maximale Anzahl unterstützter Modbus-Slaves wie folgt:
über den CM 1241 RS232 (physikalisch bedingt) nur mit einem Slave
über RS422 (via CM 1241 RS422/RS485) mit bis zu 10 Slaves nacheinander
über RS485 (via CM oder CB 1241 RS485) mit bis zu 32 Slaves nacheinander
Anhand eines Beispielprojektes wird die Vorgehensweise zur Projektierung in
STEP 7 (TIA Portal) V15 zur Kommunikation mit mehreren Slaves über den CM
1241 RS485 beschrieben.

1.1 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 bei RS485 um eine Zweileiterschnittstelle (halb-
Siemens AG 2017 All rights reserved

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.

Abbildung 1-1

MODBUS-Master MODBUS-Slave
CM 1241 (RS422/485)

CM 1241 (RS422/485)

CSM
CPU 1211C CPU 1211C
1277

STEP 7
(TIA Portal)

MODBUS-RTU-Kommunkation mit STEP 7 (TIA Portal) für S7-1200


Beitrags-ID: 47756141, 2.0, 02/20178 3
1 Beschreibung

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.

1.2 Anweisungsbibliothek „MODBUS ( RTU )“


Die erforderlichen Bausteine finden Sie in STEP 7 (TIA Portal) bei den
Kommunikationsanweisungen unter "Kommunikationsprozessor" im Ordner
"MODBUS ( RTU )":

Abbildung 1-2
Siemens AG 2017 All rights reserved

MODBUS-RTU-Kommunkation mit STEP 7 (TIA Portal) für S7-1200


Beitrags-ID: 47756141, 2.0, 02/20178 4
1 Beschreibung

1.2.1 Modbus_Comm_Load

Für die MODBUS-Kommunikation wird auf beiden Seiten (Master und Slave) der
Konfigurationsbaustein „Modbus_Comm_Load“ aufgerufen.

Abbildung 1-3
Siemens AG 2017 All rights reserved

Über den Baustein „Modbus_Comm_Load“ wird das Kommunikationsmodul


ausgewählt, die Kommunikationsparameter festgelegt und die Verknüpfung mit
dem Master- oder Slaveparametern parametriert. Der Baustein
„Modbus_Comm_Load“ muss im ersten Programmzyklus (beispielsweise über das
Initialisierungsbit „Initial_Call“ eines zyklischen OBs oder als Aufruf im 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 Parameter „MB_DB“ des Instanzdatenbausteins des
Master- bzw. Slavebausteins übergeben und so das Kommunikationsmodul
(Parameter PORT) als MODBUS-Master oder -Slave definiert.
Zusätzlich muss noch in den Instanzdaten des „Modbus_Comm_Load“ der
statische Parameter MODE an die Duplex-Betriebsart (vorzugsweise über den
Startwert) angepasst werden (0 = Vollduplex (RS232), 1 = Vollduplex (RS422)
Vierdraht-Betrieb, 4 = Halbduplex (RS485) Zweidraht-Betrieb).

MODBUS-RTU-Kommunkation mit STEP 7 (TIA Portal) für S7-1200


Beitrags-ID: 47756141, 2.0, 02/20178 5
1 Beschreibung

Abbildung 1-4

1.2.2 Modbus_Master

Mit dem Baustein „Modbus_Master“ definieren Sie das mit dem


Konfigurationsbaustein „Modbus_Comm_Load“ gewählte Kommunikationsmodul
als MODBUS-Master.

Abbildung 1-5
Siemens AG 2017 All rights reserved

Über den Baustein „Modbus_Master“ wird der anzusprechende MODBUS-Slave


ausgewählt, der Funktionscode gewählt und der lokale Datenbereich festgelegt.
Nachstehende Tabelle erläutert die Parameter:

MODBUS-RTU-Kommunkation mit STEP 7 (TIA Portal) für S7-1200


Beitrags-ID: 47756141, 2.0, 02/20178 6
1 Beschreibung

Tabelle 1-1
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, bei dem das Attribut
"Optimierter Bausteinzugriff" deaktiviert ist.

Hinweis Eine ausführliche Beschreibung der Anweisung „Modbus_Master“ finden Sie im


Handbuch „SIMATIC S7-1200 Automatisierungssystem“.

1.2.3 Modbus_Slave

Mit dem Baustein „Modbus_Slave“ definieren Sie das mit dem


Siemens AG 2017 All rights reserved

Konfigurationsbaustein „Modbus_Comm_Load“ gewählte Kommunikationsmodul


als MODBUS-Slave.

Abbildung 1-6

Über den Baustein „Modbus_Slave“ wird die MODBUS-RTU-Stationsadresse


festgelegt und der lokale Datenbereich für den Halteregister-Datentransfer
bestimmt.

MODBUS-RTU-Kommunkation mit STEP 7 (TIA Portal) für S7-1200


Beitrags-ID: 47756141, 2.0, 02/20178 7
1 Beschreibung

Tabelle 1-2
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, bei dem das Attribut "Optimierter Bausteinzugriff"
deaktiviert ist.

Übergeben Sie am Parameter „MB_HOLD_REG“ ein Array vom Datentyp "Word".


Der Größe des Arrays am Parameter "MB_HOLD_REG" muss die vorgegebene
Datenmenge des Masters (DATA_ADDR und DATA_PTR) abdecken.
Das erste Wort dieses Arrays entspricht der Anfangsadresse 40001 des MODBUS-
Halteregisters.

Hinweis Eine ausführliche Beschreibung der Anweisung „Modbus_Slave“ finden Sie im


Handbuch „SIMATIC S7-1200 Automatisierungssystem“.
Siemens AG 2017 All rights reserved

MODBUS-RTU-Kommunkation mit STEP 7 (TIA Portal) für S7-1200


Beitrags-ID: 47756141, 2.0, 02/20178 8
1 Beschreibung

1.3 Beispielprojekt
Das abwechselnde Schreiben/Lesen aus den Halteregistern des Slaves wird im
Masterprojekt über eine Schrittkette realisiert.

Abbildung 1-7

0
Modbus_Comm_Load

1
Modbus_Master

• MODE=1
• REQ=1
Siemens AG 2017 All rights reserved

Modbus_Master.BUSY

Modbus_Master.DONE

3
Modbus_Master

• MODE=0
• REQ=1

Modbus_Master.BUSY

Modbus_Master.DONE

1. Im Initialisierungsschritt 0 wird der Konfigurationsbaustein


„Modbus_Comm_Load“ aufgerufen.
2. Im Schritt 1 werden die zuschreibenden Daten in den DATA_PTR kopiert und
der „Modbus_Master“ mit den Kommunikationsparametern fürs Schreiben in
den Slave (MODE = 1) aufgerufen und ausgeführt (REQ = 1).

MODBUS-RTU-Kommunkation mit STEP 7 (TIA Portal) für S7-1200


Beitrags-ID: 47756141, 2.0, 02/20178 9
1 Beschreibung

– Die Weiterschaltung zum Zwischenschritt 2 erfolgt durch die Ausführungs-


Rückmeldung (BUSY) des „Modbus_Master“s.
– Die Weiterschaltung zum Schritt 3 erfolgt durch die erfolgreiche
Rückmeldung (DONE) des „Modbus_Master“s.
– Durch die Weiterschaltung wird die Ausführung des „Modbus_Master“s
zurückgesetzt (REQ = 0).
3. Im Schritt 3 werden die Kommunikationsparameter für das Lesen aus dem
Slave (MODE = 0) dem „Modbus_Master“ übergeben.
– Die Ausführung und Weiterschaltung verläuft äquivalent zum Schritt 1 mit
Zwischenschritt 4.
– Nach erfolgreicher Rückmeldung (DONE) des „Modbus_Master“s müssen
die gelesenen Daten aus dem DATA_PTR gesichert (kopiert) werden.
Die Umsetzung einer Aktion (hier das Lesen der Daten aus dem Slave mit
Speicherung) zeigt das folgende Bild:

Abbildung 1-8
Siemens AG 2017 All rights reserved

Mit zusätzlicher Änderung des Parameters MB_ADDR über die Variable


„Process“.modbusMaster.mbAddr könnten Sie so im Netzwerk 7 auch einen
anderen Slave ansprechen.
Bei eventuell auftretenden Fehlern (ERROR) wird der STATUS in der Variablen
„Process“.modbus___.errorStatus gespeichert.

MODBUS-RTU-Kommunkation mit STEP 7 (TIA Portal) für S7-1200


Beitrags-ID: 47756141, 2.0, 02/20178 10
1 Beschreibung

Weitere Informationen zur STATUS-Auswertung erhalten Sie in der TIA-Portal


Online-Hilfe über F1.
Siemens AG 2017 All rights reserved

MODBUS-RTU-Kommunkation mit STEP 7 (TIA Portal) für S7-1200


Beitrags-ID: 47756141, 2.0, 02/20178 11

Das könnte Ihnen auch gefallen