Beitragsliste anzeigen
STEP 7 (TIA Portal) -- S7-Programm erstellen -- Programmablauf erstellen
Wie können im TIA Portal Alarme von der S7-300/400 in die S7-1500 migriert werden?
Warum muss in STEP 7 (TIA Portal) V12 hinter einem Sprungbefehl die Anweisung SET eingefügt werden, um eine Erstabfrage sicher zu stellen?
Wo gibt es in STEP 7 (TIA Portal) V11 ein Programm für die S7-1200, das verschiedene Bitmuster zeitgesteuert rotieren oder blinken lässt?
Programmierempfehlungen für S7-1200 und S7-1500 mit STEP 7 (TIA Portal) V12
Wie kann in STEP 7 (TIA Portal) V11 aus beliebig vielen eingelesenen Werten ein laufender arithmetischer Mittelwert berechnet werden?
Wie kann in STEP 7 (TIA Portal) V11 der minimale und maximale Grenzwert für einen Temperaturbereich berechnet werden?
Wie können in STEP 7 (TIA Portal) V11 Gradmaß und Bogenmaß wechselseitig ineinander umgewandelt werden?
Wie können in STEP 7 (TIA Portal) V11 die Rückgabewerte vom Parameter "RETVAL" nacheinander in einem DB zwischen gespeichert werden?
Wie kann mit STEP 7 (TIA Portal) V11 der Abstand "D" zwischen zwei Punkten in einem rechtwinkligen Koordinatensystem berechnet werden?
Wie kann in STEP 7 (TIA Portal) V11 ein Sollwert mit Rampenfunktion festgelegt werden?
Wie realisieren Sie eine MODBUS-RTU-Kommunkation mit STEP 7 (TIA Portal) für die SIMATIC S7-1200?
Wie kann in STEP 7 (TIA Portal) V11 ein Ausgangssignal vom Datentyp "Bool" nach jeder positiven Flanke invertiert werden?
Wie kann in STEP 7 (TIA Portal) V11 innerhalb einer Bandbreite zwischen -2147483648 und +2147483647 vorwärts und rückwärts gezählt werden?
Wie können 64 Bit-Gleitpunktzahlen in STEP 7 V11 mit einer SIMATIC S7-300/400 CPU verarbeitet werden?
S7-1200 Kommunikationsmodule -- Kommunikation projektieren und programmieren -- MODBUS RTU
Wie realisieren Sie eine MODBUS-RTU-Kommunkation mit STEP 7 (TIA Portal) für die SIMATIC S7-1200?
Wie realisieren Sie eine MODBUS-RTU-Kommunkation mit STEP 7 (TIA Portal) für die SIMATIC S7-1200?
Bestellnummer:

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

  1. Im Initialisierungsschritt 0 wird der Konfigurationsbaustein MB_COMM_LOAD aufgerufen.
  2. 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).
  3. 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).

 Beitrags-ID:47756141   Datum:2013-03-15 
Dieser Artikel...hat mir geholfenhat mir nicht geholfen                                 
mySupport
My Documentation Manager 
Newsletter 
CAx-Download-Manager 
Support Request
Zu diesem Beitrag
Drucken
PDF erstellen 
Beitrag versenden
QuickLinks
Kompatibilitäts-Tool 
Hilfe
Online Hilfe
Guided Tour