Modbus-TCP - Kommunikation zwischen zwei SPS S7 - 1200

kostenlosKostenloses technisches Material

Dieser Inhalt ist direkt lesbar und eignet sich für das Grundlagenlernen und die Suche.

Modbus-TCP - Kommunikation zwischen zwei SPS S7 - 1200

Ü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
Modbus-TCP - Kommunikation zwischen zwei SPS S7 - 1200插图

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

Modbus-TCP - Kommunikation zwischen zwei SPS S7 - 1200插图1

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
Modbus-TCP - Kommunikation zwischen zwei SPS S7 - 1200插图2

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

Modbus-TCP - Kommunikation zwischen zwei SPS S7 - 1200插图3

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:

Modbus-TCP - Kommunikation zwischen zwei SPS S7 - 1200插图4

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

Modbus-TCP - Kommunikation zwischen zwei SPS S7 - 1200插图5

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:

Modbus-TCP - Kommunikation zwischen zwei SPS S7 - 1200插图6

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

Modbus-TCP - Kommunikation zwischen zwei SPS S7 - 1200插图7

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.

Sollte man diese Informationen für ein echtes Projekt verwenden?

Gehen Sie zum Tool Center, um Nachrichten zu analysieren, CRC-Prüfungen und Geräte-Debugging zu erledigen, oder senden Sie Anforderungen für Auswahl - und Zugangsvorschläge.

Ingenieur Mitglied

Verwandeln Sie diesen Artikel in ein umsetzbares Debuggermaterial

Erweiterte Nachrichtenanalyse, Paket-Downloads, Codebeispiele, Engineering-Szenarien und Priority-Technischer Support sind für die Real-Projekt - Bereitstellung möglich.

Unbegrenzte Werkzeuge
Datenpaket und Codepaket
Vollständige Engineering Case-Basis
Vorrangiger Zugang zum technischen Support

Antwort veröffentlichen

Ihre E-Mail - Adresse wird nicht öffentlich gemacht. Erforderliche Elemente wurden verwendet * markiert.