Siemens SIMATIC S7 SPS als Modbus TCP-Server: Ein kurzes Tutorial
Die Siemens SIMATIC S7-1200 ist mehr als nur eine speicherprogrammierbare Steuerung (SPS); Es ist ein Eckpfeiler der industriellen Automatisierung. Das Modbus-Protokoll, das für seine Einfachheit und einfache Implementierung bekannt ist, ist hier von großer Bedeutung, da es die industrielle Kommunikation und Datenübertragung innerhalb der Fabrikautomation erleichtert. Durch die Konfiguration als Modbus-Server können Sie die Daten zur Fernüberwachung mit einem als Modbus-Client konfigurierten IoT gateway In diesem Leitfaden 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? Lass uns eintauchen!
Einführung in Modbus und SPS
Modbus ist eines der am weitesten verbreiteten Protokolle im industriellen Umfeld. Die meisten Industrie-SPS, einschließlich der Siemens SIMATIC S7-1200, unterstützen mehrere Kommunikationsprotokolle wie Profinet und Modbus. Modbus selbst gibt es in zwei gängigen Varianten: Modbus RTU (mit einer Master-Slave-Architektur über serielle Kommunikation) und Modbus TCP (mit einem Server-Client-Modell über Ethernet).
In diesem Tutorial zeigen wir, wie Sie den Modbus TCP IP S7 1200 als Server konfigurieren und mit Geräten in einem industriellen Netzwerk kommunizieren. Wir werden auch einen Modbus-Simulator verwenden, um den Aufbau zu testen.
Anforderungen
Hardwareanforderungen
1. Siemens S7-SPS (wir verwenden das DC/DC/DC-Modell S7-1212C, 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 Siemens SPS-Programmierung und Konfiguration)
- MODBUS ClientX (ein Modbus TCP-Client zur Simulation der Kommunikation)
Hardware-Setup
Schließen Sie zunächst die Stromversorgung an die Siemens-SPS SIMATIC S7-1200 an. Verwenden Sie ein Profinet- oder Ethernet-Kabel, um den Ethernet-Port der SPS mit Ihrem PC oder Netzwerk-Switch zu verbinden. Diese Verbindung ist wichtig, um die TCP/IP-Kommunikation zwischen der SPS und Ihrem Modbus-Client zu ermöglichen.
Konfiguration der S7-1200 SPS im TIA Portal
- Starten Sie 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 : Wenn die SPS bereits ein vorhandenes Programm enthält, stellen Sie sicher, dass Sie dieselbe Firmware und TIA Portal-Version verwenden. Andernfalls ist es am besten, auf die neueste verfügbare Version zu aktualisieren.
Einrichten der S7-1200 SPS als Modbus TCP Server
- Navigieren Sie zum Block „Main (OB1)“ in der „Projektansicht“, um mit der Erstellung eines Kontaktplans zu beginnen.
- Gehen Sie im rechten Fenster „Anleitung“ zu Kommunikation -> Andere -> Modbus TCP .
Ziehen Sie die MB_SERVER 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 „Wort“ zum Speichern von Modbus-Daten (z. B. Anfangswerte wie „21“, „4“ und „35“).
- Verbinden: Typ "TCON_IP_v4„ als Datentyp zum Konfigurieren der Modbus TCP-Servereinstellungen. Direkt darunter wird sofort eine Liste mit Konfigurationsvariablen angezeigt. Stellen Sie sie wie folgt ein:
- Der lokale Port sollte auf „502“ eingestellt sein, was der Standardport für Modbus TCP-Kommunikation ist.
- Die InterfaceID ist die Hardware-ID Ihres SPS-Ethernet-Ports. Bei der TCP/IP-Kommunikation verwenden wir den Ethernet-Port, daher wäre die ID „64“. Die ID finden Sie auf der Seite Gerätekonfiguration -> Systemkonstanten:
- ID ist die Slave-ID, wir haben „1“ geschrieben. Später müssen wir im Slave-Simulator dieselbe ID verwenden.
- Der Verbindungstyp sollte „11“ für TCP sein.
- Setzen Sie RemoteAddress auf die IP Ihres PCs (zu finden mit ipconfig unter Windows oder ifconfig unter Linux/Mac).
Der Datenblock sollte so aussehen:
- Zum Schluss verweisen Sie die Variable Data MB_HOLD_REG des Modbus-Blocks und die Variable Connect CONNECT des Modbus-Blocks:
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 Erfolg fungiert die SPS als Modbus TCP-Server und ist kommunikationsbereit.
Simulieren der Modbus-Kommunikation mit dem ModbusClientX-Tool
Modbus-Daten mit ModbusClientX lesen
Um zu überprüfen, ob Ihre SPS ordnungsgemäß als Modbus TCP-Server funktioniert, verwenden Sie das ModbusClientX-Tool für die Simulation.
- Öffnen Sie ModbusClientX und wählen Sie Modbus TCP.
- Geben Sie die IP-Adresse Ihrer SPS ein und klicken Sie auf „Verbinden“.
- Klicken Sie auf „Von 0 bis 9 lesen“, um die ersten 10 Datenwerte abzurufen, die im Datenarray in der SPS gespeichert sind:
Wenn die von Ihnen eingestellten 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
Mit ModbusClientX können Sie auch Daten zurück in die SPS schreiben und so reale Szenarien simulieren, z. B. wenn industrielle Sensoren und Aktoren Daten senden.
- Doppelklicken Sie auf einen beliebigen Wert in der Spalte „Holding Register“, um einen Bildschirm zu öffnen, in dem Sie neue Datenwerte eingeben können. Halteregister sind in der Modbus-Kommunikation von entscheidender Bedeutung, da sie eine flexible Datenbearbeitung innerhalb von Siemens-SPS ermöglichen und sicherstellen, dass Datenstrukturen und Parameter für eine erfolgreiche Kommunikation aufeinander abgestimmt sind.
- 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 erscheint in der entsprechenden Variablen und bestätigt das erfolgreiche Schreiben der Daten in die SPS:
Verwendung eines IoT Gateway als Modbus-Client zum Abfragen von Sensordaten
Sobald Sie die Siemens S7-1200 als Modbus-Server konfiguriert haben, sind Sie der nahtlosen Datenerfassung Ihrer Sensoren mithilfe eines IoT gateway , beispielsweise eines Teltonika TRB-140 oder eines Advantech ADAM 6717, . Auf diese Weise kann das IoT gateway die SPS kontinuierlich nach Sensordaten abfragen und diese zur Echtzeitüberwachung und -analyse IoT Cloud-Plattform wie Ubidots
Schritt 1: Identifizieren Sie die Modbus-Register
Zunächst müssen Sie sicherstellen, dass alle relevanten Sensordaten bestimmten Modbus-Registern innerhalb der SPS zugeordnet werden. Im MB_HOLD_REG Ihres Datenblocks haben Sie Variablen definiert, die den an Ihre SPS angeschlossenen Sensoren entsprechen. Die Daten jedes Sensors werden in spezifischen Halteregistern gespeichert, die vom IoT gateway .
- Stellen Sie sicher, dass die Daten jedes Sensors korrekt einem einzelnen Halteregister zugeordnet sind.
- Ordnen Sie diese Register zu, damit Sie wissen, welches Register jedem Modbus-Sensor oder Datenpunkt (z. B. Temperatur, Druck, Durchfluss) entspricht.
Schritt 2: Konfigurieren Sie das IoT Gateway
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) ein, um eine Verbindung zur SPS herzustellen.
- Definieren Sie den Registerbereich, den das IoT gateway abfragen muss. Dies sollte mit den Halteregistern übereinstimmen, die Sie in der SPS für Ihre Sensordaten eingerichtet haben.
- Stellen Sie das Abfrageintervall entsprechend Ihren Bedürfnissen ein (z. B. alle 5 Minuten).
Schritt 3: Daten an die Cloud oder ein anderes System senden
Nachdem die Modbus-Daten erfolgreich vom IoT gateway gateway nun so konfigurieren , dass es diese Daten zur weiteren Verarbeitung, Speicherung oder Analyse an eine Cloud-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 dabei das volle Potenzial sowohl der Modbus-TCP-Kommunikation als auch der industriellen IoT IoT Funktionen wie der Erstellung cloudbasierter SCADA .
Best Practices 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-Einrichtung. Durch Befolgen dieser Richtlinien können Sie häufige Kommunikationsprobleme verhindern und sowohl die Konfiguration als auch die Wartung Ihrer Siemens SIMATIC S7-1200-SPS optimieren.
- Verwenden Sie stets einheitliche Namenskonventionen für Ihre Datenblöcke, Register und Variablen.
- Testen Sie Ihr Modbus TCP-Setup mit einem Modbus-Serversimulator, bevor Sie es in einer Produktionsumgebung bereitstellen.
- Stellen Sie sicher, dass Ihre Siemens-SPS-Firmware- und TIA-Portal-Softwareversionen kompatibel sind.
- Verwenden Sie die richtige IP-Adresszuweisung und Portweiterleitung, wenn Sie die SPS in ein größeres Netzwerk integrieren.
- Dokumentieren Sie alle Konfigurationen und Einstellungen, um die Fehlerbehebung und Wartung zu erleichtern.
Fazit und nächste Schritte
Durch die Befolgung dieses Tutorials haben Sie Ihre Siemens SIMATIC S7-1200 erfolgreich in einen Modbus-TCP-Server verwandelt, der in der Lage ist, Daten über ein industrielles Netzwerk an Modbus-Clients, wie z. B. Modbus-Sensoren , zu lesen und zu schreiben. Der nächste Schritt besteht darin, dieses Setup durch die Integration mit einem industriellen IoT gateway , um eine Ferndatenüberwachung und -steuerung über SCADA -Systeme . Entdecken Sie weiterhin das Potenzial der Modbus-Kommunikation zur Verbesserung Ihrer industriellen Automatisierungsinfrastruktur.
FAQs
Unterstützt die S7-1200 Modbus TCP?
Ja, die Siemens S7-1200 unterstützt vollständig Modbus TCP und kann so als Modbus-Server oder -Client innerhalb eines TCP/IP-Kommunikationsrahmens fungieren.
Unterstützt die S7-1500 Modbus TCP?
Ja, die Siemens S7-1500 unterstützt auch Modbus TCP und bietet so erweiterte Kommunikationsmöglichkeiten in industriellen Umgebungen.
Wie lautet die Standard-IP-Adresse der S7-1200-SPS?
Die Standard-IP-Adresse der Siemens S7-1200-SPS lautet normalerweise 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 üblicherweise in industriellen Automatisierungssystemen verwendet wird.
Sind Modbus RTU und RS-485 dasselbe?
Nein, Modbus RTU bezieht sich auf das Kommunikationsprotokoll, während RS-485 die physikalische Schicht ist, die für die serielle Datenübertragung in Modbus RTU-Setups verwendet wird.
Welches Kommunikationsprotokoll verwendet die Siemens-SPS?
Siemens-SPS nutzen üblicherweise Profinet, Modbus TCP und OPC UA für die Kommunikation in industriellen Umgebungen.
Was ist 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 Industriegeräten verwendet wird.