Übersicht
In Automatisierungs - und Steuerungssystemen wird das Modbus-TCP - Protokoll für die Kommunikation zwischen SPSs weit verbreitet. In diesem Artikel wird untersucht, wie die Modbus TCP-Kommunikation zwischen zwei S7 - 1200 SPS implementiert wird, wobei der Schwerpunkt auf den Programmierungsprozess und die Kommunikation der Clientseite liegt.
Laborumgebungseinstellungen
- Betriebssystem: WIN7 SP1 Professional 64 - Bit
- Programmierungssoftware: STEP7 Professional V13 SP1 Update 5
- SystemhardwareCPU1212C6ES7212 - 1AE40 - 0XB0 V4.1 und CPU1215C6ES7215 - 1AG40 - 0XB0 V4.1
Modbus TCP Kommunikation Grundkonfiguration
- Der ClientCPU: 1212C
- Der ServerCPU: 1215C
- IP Adresse: Der Client192.168.0.6Der Server192.168.0.4
- Port Nummer: Client 0 Server 502
- Hardware-Identifier: 64

Die Hardware-Identifier befindet sich in der Gerätekonfiguration, doppelklicken Sie auf die PROFINET-Schnittstelle und sehen Sie sie dann unter "Hardware-Identifier" in "Eigenschaften".
S7-1200 als Client-Programmierung und Kommunikationsprozess
- S7 - 1200 Clientseite erfordert den MB CLIENT-Befehlblock.
- Dieser Befehlsblock vervollständigt hauptsächlich die TCP-Verbindung zwischen Client und Server, das Senden von Befehlsnachrichten und die Empfangsantwort und die Steuerung der Trennung des Servers.
Aufruf MB_CLIENT
MB_CLIENT Befehl Block in Block > OB1 "in Programm-Segment aufrufen, wenn der Aufruf wird automatisch Hintergrund-DB generiert, klicken Sie auf OK

MB_CLIENT Fuß-Definition:
- REQ: Kommunikationsanforderung zwischen dem Server, Aufstieg Kante gültig.
- DISCONNECT: Mit diesem Parameter steuern Sie die Herstellung und Beendigung von Verbindungen zum ModbusTCP-Server. 0: Verbindungen herstellen; 1: Trennen.
- MB MODE: Wählen Sie den Modbus-Anforderungsmodus aus (Lesen, Schreiben oder Diagnostik).
- MB _ DATA _ ADDR: Die Startadresse der Daten, auf die die "MB _ CLIENT" - Anweisung zugegriffen wird.
- MB DATA LEN: Datenlänge: Die Anzahl der Bits oder Wörter, auf die Daten zugegriffen werden.
- MB _ DATA _ PTR: Der Zeiger auf das Modbus-Datenregister.
- CONNECT: Zeiger auf die Struktur der Verbindungsbeschreibung. Verwenden Sie den Datentyp TCON_IP_v4.
- DONE: Der letzte Job wurde erfolgreich abgeschlossen, der Ausgabeparameter DONE wird sofort auf "1" gesetzt.
- BUSY: Job-Status - Bit: 0: Keine "MB_CLIENT" - Aufgabe wird verarbeitet; 1: "MBCLIENT" - Job wird verarbeitet.
- ERROR: Fehler: 0: Kein Fehler: 1: Fehler aufgetreten, Fehlerursache Status anzeigen.
- STATUS: Detaillierte Statusinformationen der Anweisung.
Zeiger-Typ für den CONNECT-Pin
Erstellen einer TCON_IP_v4 - Struktur:
- Erstellen Sie einen globalenBlock DB2und definieren Sie darin eine TCON IP v4 - Datenstruktur, um die Kommunikationskonfiguration zu speichern.
- Doppelklicken, um DB2 zu öffnen, definieren Sie die Variablen mit dem Namen "aa", Datentyp ist TCON IP v4 "(TCON IP V4 in das Dialogfeld kopieren);
- klicken Sie auf die Taste" Enter ", die Datentypstruktur erstellt wurde

Die Pin-Definition der TCON IP v4 Datenstruktur ist wie folgt:

Hinweis:
- CONNECT-Pins müssen mit demSymbol AdresseDie Art und Weise
- TCON_IP_v4 ist ein Systemdatentyp, nicht im SPS-Datentyp erstellt
- LocalPort verwendet im AllgemeinenStandardwert 0, was bedeutet, dass der MB_DATA_PTR-Datenpuffer
erstellt wird. Die Erstellungsmethode kann auf Abbildung 2 bezogen werden, zusammen mit dem zuvor erstellten DB2 befindet sich im CPU-Block.
lokal mit dem Zufallsport
generiert zwei DB-Block - Namen:

2. Erstellt einen Word-Array - Datentyp, um Daten in der Kommunikation zu speichern; MB_DATA_PTR-Datenpufferstruktur:

Hinweis
- angegebene Datenpuffer kann ein DB-Block oder eine M-Speicher - Adresse sein;
- DB-Block kann ein optimierter Datenblock oder eine Standard-Blockstruktur sein;
- Bei optimierter Blockstruktur muss es sich um ein Array des grundlegenden Datentypes handeln;
- Bei Standardblockstruktur muss der Pin als Zeiger ausgefüllt werden;
- Der angegebene MB_DATA_PTR-Puffer muss mindestens MB_DATA_LEN-Bits (Eingangs - und Ausgabe-Bits) oder Wörter (Haltregister, Eingabe-Wörter) groß genug sein;
- In diesem Artikel wird ein Standard-Datenblock (Standard) als Beispiel programmiert.
Modifizierung der DB-Block - Attribute in die Standard-Block - Struktur:

Clientseite Befehl-Block - Programmierung abschließen
Ruft den MB_CLIENT-Block auf und liest den Wert der 2 Aufbewahrungsregister vom Server mit dem Funktionscode 03, MB_MODE = 0, MB_DATA_ADDR = 40001, MB_DATA_LEN = 2

Hinweis:
- Für dieses Beispiel ist der Partner ein weiteres S7-1200 und kann in der Tat auch in ein beliebiges Gerät getauscht werden, das Modbus-TCP - Server unterstützt, indem man nur den entsprechenden Wert in den Parameter-Pins und die korrekten Kommunikationsparameter in CONNECT festlegt.
- Wenn der S7-1200 als Modbus TCP-Client gleichzeitig mit mehreren Modbus TCP-Servern verbunden ist, müssen mehrere MB_CLIENT verwendet werden;
- Wenn eine Modbus TCP-Verbindung mehrere Kommunikationsaufträge enthält und jeder Job MB_CLIENT einmal aufruft, muss für jeden Aufruf derselbe Hintergrundblock verwendet werden, und CONNECT verwendet die gleichen Parameter
Download & Test
Nachdem die Programmierung abgeschlossen ist, laden Sie das gesamte Projekt auf die S7-1200 PLC. Sobald die Serverseite bereit ist, wird die Kommunikation durch das Auslösen des aufsteigenden Kanten des REQ-Pins des MB CLIENT-Befehlsblocks gestartet. Die gelesenen Daten werden in der DB-Block - Variable gespeichert, die vom MBDATA PTR-Pin angegeben wird.
Schlussfolgerungen
Mit den oben genannten Schritten kann die Modbus-TCP - Kommunikation zwischen zwei S7 - 1200 - SPS erfolgreich realisiert werden. Die Programmierung des Clients beinhaltet detaillierte Konfiguration von Befehlblöcken und die Definition von Datenstrukturen, die für eine effiziente und zuverlässige Kommunikation entscheidend sind. Diese Kommunikationsmethode ist in der industriellen Automatisierung sehr weit verbreitet und bietet eine stabile Plattform für den Datenaustausch zwischen Geräten.
Antwort veröffentlichen