Siemens SIMATIC S7 SPS als Modbus TCP-Server: Ein kurzes Tutorial
Die Siemens SIMATIC S7-1200 ist mehr als nur eine speicherprogrammierbare Steuerung (SPS); sie ist ein Eckpfeiler der industriellen Automatisierung. Das Modbus-Protokoll, bekannt für seine Einfachheit und leichte Implementierbarkeit, ist hier von großer Bedeutung, da es die industrielle Kommunikation und Datenübertragung in der Fabrikautomation ermöglicht. Durch die Konfiguration als Modbus-Server können Sie die Daten mit einem IoT gateway , um die Daten über die Produktionshalle hinaus zu übertragen und die Fernüberwachung zu realisieren, indem Sie die SPS-Daten sogar in die Cloud . In dieser Anleitung führen wir Sie durch den gesamten Prozess, von der Programmierung der SPS bis zur Simulation der Kommunikation mit einem Modbus-Client.
Sind Sie bereit, das volle Potenzial Ihrer Siemens S7-1200 auszuschöpfen? Dann legen wir los!
Einführung in Modbus und SPS
Modbus ist eines der am weitesten verbreiteten Protokolle in industriellen Umgebungen . Die meisten industriellen SPSen, darunter die Siemens SIMATIC S7-1200, unterstützen mehrere Kommunikationsprotokolle wie Profinet und Modbus. Modbus selbst existiert in zwei gängigen Varianten: Modbus RTU (basierend auf einer Master-Slave-Architektur über serielle Kommunikation) und Modbus TCP (mit Server-Client-Modell über Ethernet).
In diesem Tutorial zeigen wir Ihnen, wie Sie den Modbus TCP/IP S7 1200 als Server konfigurieren und mit Geräten in einem industriellen Netzwerk kommunizieren. Wir verwenden außerdem einen Modbus-Simulator, um die Einrichtung zu testen.
Anforderungen
Hardwareanforderungen
1. Siemens S7 SPS (wir verwenden das Modell S7-1212C DC/DC/DC, aber jede S7-Serie mit Modbus-Funktionalität funktioniert)
2. Profinet-/Ethernet-Kabel
3. Stromversorgung für die SPS
Softwareanforderungen
- TIA Portal V16 (für die Programmierung und Konfiguration von Siemens-SPSen)
- MODBUS ClientX (ein Modbus-TCP-Client zur Simulation der Kommunikation)
Hardware-Einrichtung
Schließen Sie zunächst das Netzteil an die Siemens SIMATIC S7-1200 SPS an. Verbinden Sie den Ethernet-Anschluss der SPS mithilfe eines Profinet- oder Ethernet-Kabels mit Ihrem PC oder Netzwerk-Switch. Diese Verbindung ist unerlässlich für die TCP/IP-Kommunikation zwischen der SPS und Ihrem Modbus-Client.
Konfiguration der S7-1200 SPS im TIA Portal
- Starten Sie das TIA Portal und erstellen Sie ein neues Projekt in der „Projektansicht“

- Wählen Sie „Gerät konfigurieren“ und dann „Neues Gerät hinzufügen“. Wählen Sie Ihr Siemens S7-1200-Modell und die richtige Firmware-Version aus, bevor Sie auf „Hinzufügen“ klicken

Im Projektbaum können Sie durch die Komponenten Ihres Projekts navigieren und diese verwalten, beispielsweise auf Eigenschaften und Konfigurationseinstellungen zugreifen.
Wichtiger Hinweis : Falls auf der SPS bereits ein Programm vorhanden ist, stellen Sie sicher, dass Sie dieselbe Firmware- und TIA Portal-Version verwenden. Andernfalls empfiehlt sich ein Upgrade auf die neueste verfügbare Version.
Einrichtung der S7-1200 SPS als Modbus-TCP-Server
- Navigieren Sie in der „Projektansicht“ zum Block „Haupt (OB1)“, um mit der Erstellung eines Kontaktplandiagramms zu beginnen.

- Im Fenster „Anweisungen“ auf der rechten Seite gehen Sie zu Kommunikation -> Sonstiges -> Modbus TCP .

Ziehen Sie die MB_SERVER- Anweisung in Ihr Kontaktplandiagramm:

- Erstellen Sie einen Datenblock:

Klicken Sie auf den neuen Datenblock und fügen Sie dann diese beiden Variablen hinzu:
- Daten : Ein Array vom Typ „Word“ zum Speichern von Modbus-Daten (z. B. Anfangswerte wie „21“, „4“ und „35“).
- Verbinden: Typ "TCON_IP_v4Geben Sie als Datentyp „“ ein, um die Modbus-TCP-Servereinstellungen zu konfigurieren. Direkt darunter erscheint eine Liste der Konfigurationsvariablen. Stellen Sie diese wie folgt ein:
- Der lokale Port sollte auf „502“ eingestellt werden, da dies der Standardport für die Modbus-TCP-Kommunikation ist.
- Die InterfaceID ist die Hardware-ID des Ethernet-Ports Ihrer SPS. Bei der TCP/IP-Kommunikation wird der Ethernet-Port verwendet, daher lautet die ID „64“. Sie finden die ID in der Gerätekonfiguration unter „Systemkonstanten“.

- ID ist die Slave-ID, wir haben „1“ eingetragen. Später müssen wir dieselbe ID im Slave-Simulator verwenden.
- Der Verbindungstyp sollte „11“ für TCP sein.
- Stellen Sie RemoteAddress auf die IP-Adresse Ihres PCs ein (diese finden Sie unter Windows mit ipconfig oder unter Linux/Mac mit ifconfig).
Der Datenblock sollte folgendermaßen aussehen:

- Zum Schluss weisen Sie die Variable " Data " dem MB_HOLD_REG des Modbus-Blocks und die Variable " Connect " dem CONNECT des Modbus-Blocks zu:

Laden Sie nun die Konfiguration auf die Siemens-SPS herunter, indem Sie mit der rechten Maustaste auf die SPS klicken und „Hardware und Software herunterladen“ auswählen. Bei erfolgreicher Installation fungiert die SPS als Modbus-TCP-Server und ist bereit zur Kommunikation.
Simulieren der Modbus-Kommunikation mit dem ModbusClientX-Tool
Lesen von Modbus-Daten mit ModbusClientX
Um zu überprüfen, ob Ihre SPS als Modbus-TCP-Server korrekt funktioniert, verwenden Sie das Tool ModbusClientX zur Simulation.
- Öffnen Sie ModbusClientX und wählen Sie Modbus TCP.
- Geben Sie die IP-Adresse Ihrer SPS ein und klicken Sie auf „Verbinden“

- Datenarray der SPS gespeicherten Datenwerte abzurufen

Wenn die von Ihnen festgelegten Werte (z. B. „21“, „4“, „35“) angezeigt werden, bestätigt dies, dass die Modbus-TCP-Kommunikation wie erwartet funktioniert.
Schreiben von Modbus-Daten mit ModbusClientX
ModbusClientX ermöglicht es Ihnen außerdem, Daten zurück an die SPS zu schreiben und so reale Szenarien zu simulieren, beispielsweise wenn industrielle Sensoren und Aktoren Daten senden.
- Doppelklicken Sie auf einen beliebigen Wert in der Spalte „Halteregister“, um ein Fenster zur Eingabe neuer Datenwerte zu öffnen. Halteregister sind für die Modbus-Kommunikation unerlässlich, da sie eine flexible Datenmanipulation in Siemens-SPSen ermöglichen und so die korrekte Abstimmung von Datenstrukturen und Parametern für eine erfolgreiche Kommunikation gewährleisten.
- Geben Sie Ihren Wert ein und klicken Sie auf „Auf Gerät schreiben“

Kehren Sie anschließend zum TIA Portal zurück und öffnen Sie den Datenblock im „Monitor-Modus“ (klicken Sie auf das Brillensymbol). Der neue Wert wird in der entsprechenden Variablen angezeigt und bestätigt das erfolgreiche Schreiben der Daten in die SPS

Verwendung eines IoT Gateway als Modbus-Client zum Abrufen von Sensordaten
Sobald Sie die Siemens S7-1200 als Modbus-Server konfiguriert haben, sind Sie der nahtlosen Datenerfassung Ihrer Sensoren mithilfe eines als Modbus-Client konfigurierten IoT gateway Teltonika TRB-140 oder eines Advantech ADAM 6717 . Dadurch kann das IoT gateway die SPS kontinuierlich nach Sensordaten abfragen und diese zur Echtzeitüberwachung und -analyse IoT Cloud-Plattform wie Ubidots

Schritt 1: Modbus-Register identifizieren
Zunächst müssen Sie sicherstellen, dass alle relevanten Sensordaten bestimmten Modbus-Registern in der SPS zugeordnet sind. Im MB_HOLD_REG IoT gateway ausgelesen werden können .
- Stellen Sie sicher, dass die Daten jedes Sensors korrekt einem einzelnen Halteregister zugeordnet sind.
- Modbus-Sensor oder Datenpunkt (z. B. Temperatur, Druck, Durchflussrate) entspricht
Schritt 2: IoT Gateway konfigurieren
Konfigurieren Sie nun das IoT gateway als Modbus-Client. In der Konfigurationsoberfläche des gateway:
- Stellen Sie die IP-Adresse des Modbus-Servers (der Siemens-SPS) ein.
- Stellen Sie sicher, dass das Modbus-TCP- Protokoll ausgewählt ist.
- Geben Sie die Portnummer (normalerweise 502 für Modbus TCP), um eine Verbindung zur SPS herzustellen.
- Definieren Sie den Bereich der Register, die das IoT gateway abfragen soll. Dieser sollte mit den Halteregistern übereinstimmen, die Sie in der SPS für Ihre Sensordaten eingerichtet haben.
- Legen Sie das Abfrageintervall nach Ihren Bedürfnissen fest (z. B. alle 5 Minuten)
Schritt 3: Daten an die Cloud oder ein anderes System senden
Nachdem die Modbus-Daten erfolgreich vom IoT gateway , können Sie das gateway , dass es diese Daten zur weiteren Verarbeitung, Speicherung oder Analyse an eine industrielle IoT Plattform oder ein internes Ziel (z. B. einen lokalen Server) weiterleitet. Die meisten IoT gateway bieten Optionen zum Senden von Daten über MQTT , HTTP oder andere Protokolle.
Durch die Integration eines IoT gateway als Modbus-Client ermöglichen Sie eine robuste, skalierbare und zentralisierte Überwachung Ihres gesamten Sensornetzwerks und nutzen so das volle Potenzial sowohl der Modbus-TCP-Kommunikation als auch der industriellen IoT Funktionen, wie z. B. die Erstellung cloudbasierter SCADA Systeme .

Bewährte Verfahren für die Modbus TCP/IP-Konfiguration
Nachdem Sie nun wissen, wie Sie Ihre S7-SPS als Modbus-Server einrichten, finden Sie hier einige Tipps für eine zuverlässige und effiziente Modbus-TCP-Konfiguration. Durch Befolgen dieser Richtlinien können Sie häufige Kommunikationsprobleme vermeiden und sowohl die Konfiguration als auch die Wartung Ihrer Siemens SIMATIC S7-1200-SPS vereinfachen.
- Verwenden Sie stets einheitliche Namenskonventionen für Ihre Datenblöcke, Register und Variablen.
- Testen Sie Ihre Modbus-TCP-Konfiguration mit einem Modbus-Serversimulator, bevor Sie sie in einer Produktionsumgebung einsetzen.
- Stellen Sie sicher, dass die Firmware-Versionen Ihrer Siemens-SPS und die Softwareversionen des TIA Portals kompatibel sind.
- Verwenden Sie die korrekte IP-Adresszuweisung und Portweiterleitung, wenn Sie die SPS in ein größeres Netzwerk integrieren.
- Dokumentieren Sie alle Konfigurationen und Einstellungen, um die Fehlersuche und Wartung zu vereinfachen.
Fazit und nächste Schritte
Mit diesem Tutorial haben Sie Ihre Siemens SIMATIC S7-1200 erfolgreich in einen Modbus-TCP-Server umgewandelt, der Daten von Modbus-Clients wie Modbus-Sensoren in einem industriellen Netzwerk lesen und schreiben kann. Im nächsten Schritt erweitern Sie diese Konfiguration durch die Integration eines industriellen IoT gateway . Dies ermöglicht die Fernüberwachung und -steuerung von SCADA Systemen . Entdecken Sie weiterhin das Potenzial der Modbus-Kommunikation zur Optimierung Ihrer industriellen Automatisierungsinfrastruktur.
Häufig gestellte Fragen
Unterstützt der S7-1200 Modbus TCP?
Ja, die Siemens S7-1200 unterstützt Modbus TCP vollständig und kann somit als Modbus-Server oder -Client innerhalb eines TCP/IP-Kommunikationsframeworks fungieren.
Unterstützt der S7-1500 Modbus TCP?
Ja, die Siemens S7-1500 unterstützt auch Modbus TCP und bietet damit erweiterte Kommunikationsmöglichkeiten in industriellen Umgebungen.
Welche IP-Adresse hat die S7-1200 SPS standardmäßig?
Die Standard-IP-Adresse der Siemens S7-1200 SPS ist üblicherweise 192.168.0.1 , diese kann jedoch während der Gerätekonfiguration geändert werden.
Welches Kommunikationsprotokoll wird in der S7-1200-SPS verwendet?
Die Siemens S7-1200 SPS unterstützt mehrere Kommunikationsprotokolle, darunter Profinet, Modbus TCP und Modbus RTU.
Was ist Modbus TCP?
Modbus TCP ist ein Protokoll zur Kommunikation über TCP/IP-Netzwerke. Es ermöglicht Modbus-Geräten den Datenaustausch über eine Ethernet-basierte Infrastruktur, die häufig in industriellen Automatisierungssystemen eingesetzt wird.
Sind Modbus RTU und RS-485 dasselbe?
Nein, Modbus RTU bezeichnet das Kommunikationsprotokoll, während RS-485 die physikalische Schicht ist, die für die serielle Datenübertragung in Modbus-RTU-Systemen verwendet wird.
Welches Kommunikationsprotokoll verwendet Siemens SPS?
Siemens-SPSen verwenden üblicherweise Profinet, Modbus TCP und OPC UA zur Kommunikation in industriellen Umgebungen.
Worin besteht der Unterschied zwischen Modbus RTU und Modbus RS-485?
Modbus RTU ist ein Kommunikationsprotokoll, während RS-485 der serielle Kommunikationsstandard ist, der typischerweise zur Implementierung von Modbus RTU in industriellen Geräten verwendet wird.