A-B PLC und Modbus-Kommunikationsprotokoll und Dokumentation

kostenlosKostenloses technisches Material

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

A-B PLC und Modbus-Kommunikationsprotokoll und Dokumentation

Abstract: Die Anwendung von 3100 / 3150 - MCM-Modul für die Implementierung von AB PLC und M0DBUS-Netzwerk - Kommunikationsmethode, die Methode verwendet M0DBUS-Protokoll, durch die Entwicklung von AB PLC-Anwendungen, um die Master-Slave - Struktur-Netzwerk - Kommunikation zu realisieren.

I. Einleitung

Die derzeitige industrielle Steuerungssituation verwendet eine große Anzahl von SPS und verschiedenen intelligenten Instrumenten für die Produktionsprozesssteuerung. Mit der Erweiterung der Steuerungskapazität und der Komplexität der Steuerungsfunktion sind oft mehrere SPS und eine bestimmte Anzahl von Peripheriegeräten erforderlich, um ein Steuerungssystem zu bilden.

M0DBUS ist ein serielles Übertragungsprotokoll, das von der amerikanischen Firma M0DIC0N entwickelt wurde, um die Master-Slave - Befehl-Responsive - Kommunikation zu implementieren. Als Protokoll für industrielle Kommunikation und verteilte Steuerungssysteme wurde es von mehreren Unternehmen mit SPS und intelligenten Instrumenten unterstützt.

Allen-Bradley ist einer der führenden Hersteller von programmierbaren Controllern in den USA mit fortschrittlichen Kommunikations - und Datenverarbeitungsfunktionen. In der Wasseraufbereitung wird eine Vielzahl programmierbarer Controller für die Produktionsprozesssteuerung verwendet, von denen die SPS von A-B einen erheblichen Anteil ausmachen.

Da verschiedene Hardwarehersteller verschiedene industrielle Kommunikations - und verteilte Steuerungssystemprotokolle unterstützen, um AB PLC und M0DBUS-Instrumenten zu bilden, um das Steuerungsnetzwerk zu realisieren, um die Netzwerkverbindung der Geräte zu realisieren, gibt es ein gegenseitiges Kommunikationsprotokoll-Konvertierung Problem.

Das Modul 3100 / 3150 - MCM ist ein M0DBUS-Kommunikationsschnittstellenmodul von PR0s0FT TECHN0L0GY, das auf einem AB PLC-Universal - Framework installiert ist. Das Modul ermöglicht die Kommunikation zwischen AB PLC und M0DBUS-Feldgeräten, wodurch die Kommunikationsfähigkeit von AB PLC verbessert wird, die Vernetzung von AB PLC und M0DBUS-Netzwerk flexibel realisiert und komplexe Steuerungsanforderungen erfüllt.

Basierend auf dem Entwurf des dezentralen Steuerungssystems für die Pumpenstation in der Wasserleitung, beschreibt dieser Artikel die Implementierungsmethode der SPS der sLC-Serie von AB über das 3150 - MCM-Modul und die Netzwerkverbindung von M0DBUs.

II. Systemnetzwerkprogramm

Das dezentrale Steuerungssystem für die Pumpenstation in der Wasserleitung realisiert nicht nur die allgemeine Logiksteuerung, sondern verfügt auch über numerische Verarbeitung und Netzwerkkommunikation einschließlich analoger Funktionen. In der praktischen Anwendung vor Ort verwendet das System das Motorschutzgerät sepam2000 das MODBUS-Kommunikationsprotokoll, das aus den Bedürfnissen der Systemsteuerungsfunktion erforderlich ist, um die Unterstützung des MODBUS-Protokolls in der AB PLC zu realisieren. Mit dem Modul 3150 - MCM haben wir ein Netzwerk von M0DBUS-Geräten aufgebaut.

Die Netzwerkstruktur des Systems folgt den Spezifikationen des M0DBUS-Protokolls, verwendet Standard-einfache Master-Slaven - Busstruktur, mit der PLC als Host initiiert die Kommunikation, mehrere Motor-Schutzgeräte Sepam2000 als Slave, jeder Slave muss vor der Übertragung auf das zulässige Signal vom Host warten. Der Host kann Informationen von einem Slave in der Kommunikationskette senden und empfangen, während der Slave immer passiv ist und bereit ist, auf die Kommunikation vom Host zu antworten.

Bitte, Die Netzwerkstruktur der Gerätebene ist wie in Abbildung 1 dargelegt.

A-B PLC und Modbus-Kommunikationsprotokoll und DokumentationAbbildung

III. Einführung in sepam2000 und M0DBUS-Protokoll

Als Motorschutzgerät bietet der sepam2000 alle Funktionen für Schutz, Messung, Steuerung, Kommunikation und mehr.

Die Kommunikation zwischen dem sepam2000 und dem Fernüberwachungssystem erfolgt über das M0DBUs-Protokoll.

M0DBUs Kommunikation verwendet eine Art Master / Slave-Datenübertragung, in der Master-Slaven - Struktur der Kommunikationsmethode, gibt es einen Master, mehrere Slaves, Master kann mit jedem Slave für die bidirektionelle Kommunikation, aber zwischen den Slaves kann nicht kommunizieren. Die Kommunikation zwischen dem Host und jedem Slave ist in Form von Request / Response Frame. Jede Kommunikation wird vom Host initiiert, ohne Handschütteln erforderlich. Nachdem der Host einen Anforderungsrahmen gesendet hat, wartet der Slave auf die Rückgabe des Antwortrahmen, bis die Antwortzeit abgelaufen ist. Slaves können nur auf die Anfrage des Hosts antworten, indem sie Daten bereitstellen oder entsprechend handeln.

Das M0DBUs-Protokoll definiert das Format der Anforderung des Hosts, einschließlich: Adressierung der Anforderung, Funktionscodierung der erforderlichen Aktionen, Datenübertragung und Fehlerprüfung. Die Adressierung in der Anforderung (dh der Adresscode) liefert die Adresse des Slaves, der die Host-Nachricht empfängt, und der Slave entscheidet, ob die Anforderung anzunehmen oder nicht, und der Benutzer muss die Adresse jedes Slaves festlegen. Die Funktionscodierung teilt mit, welche Aktionen der angegebenen Adresse von Slaves ausgeführt werden. Das Datenfeld enthält zusätzliche Informationen, die für die Ausführung von Aufgaben vom Slave erforderlich sind. Zum Beispiel bedeutet der Funktionscode 03 das Lesen des Hold-Registers des Slaves und die Rückgabe des Inhalts, und die Informationen in dem Datenbereich müssen dem Slave sagen, von welchem Register aus das Lesen beginnen soll und die Anzahl der Register, die gelesen werden müssen. Das Feld Fehlerprüfung bietet dem Slave eine Methode zur Überprüfung der Integrität der Informationen. In ähnlicher Weise ist das Format der Antwort die Struktur des MODBUs-Protokolls, die Funktionscodierung der Slave-Antwort entspricht der Funktionscodierung der akzeptierten Anfrage, das Datenfeld enthält die Daten, die nach der Anfrage zurückgegeben werden, und das Fehlerprüfungsfeld ermöglicht es dem Host, zu bestätigen, ob der Inhalt der Informationen gültig ist.

Das M0DBUs-Protokoll hat 24 Funktionscodierungen, aber nicht alle sind für sepam2000 geeignet, in der Praxis unterstützt sepam2000 nur die folgenden begrenzten Funktionen:

01 Ausgabe-Status lesen

02 Eingangszustand lesen

03 Inhalte des internen Registers lesen

04 Eingabe-Registerinhalte lesen

05 Erzwungen eines einzelnen Ausgangszustands

06 Aktualisierung einzelner Registerinhalte

07 Ausnahme-Ereignis - Status lesen

08 Diagnosetest

11Zähler und Statuswörter lesen

15Multiple Ausgabezustände erzwingen

16Multiple Registerinhalte aktualisieren

Wenn der Host den Inhalt des Slave-Registers 2 sepam20000805h - 080Ah lesen möchte, muss die Funktion03 aufgerufen werden. Frame-Format für Host-Anfrage und Slave-Antwort lautet wie folgt:

Request Frame:

AdresseFunktionsnummerDatenstart-Register - AdresseRegisteranzahlFehlerprüfungfeld
2030C0506CRC16

Antwortrahmen:

Adresse Funktion Nr.ByteszahlDatenregister (0805)...Datenregister (080A)Fehlerprüfungfeld
2030CData1...Data6CRC16

Wenn der Host den Inhalt des Registers 0810h des Slaves 2 sepam2000 aktualisieren und den Registerinhalt auf 1000 setzen möchte, muss die Funktion 06 aufgerufen werden. Das Frame-Format für die Host-Anfrage und die Slave-Antwort lautet wie folgt:

Request Frame:

AdresseFunktionsnummerRegister-AdresseEinstellungswertFehlerprüffeld
2060C0E1000CRC16

Response Frame: (Return the request frame)

AdresseFunktionsnummerRegister-AdresseEinstellungswertFehlerüberprüfungsfeld
2060C0E1000CRC16

Das Frame-Format und die von sepam2000 ausgeführten Funktionen sind klar definiert und können nicht willkürlich geändert werden. Im Kommunikationsprozess sollte sichergestellt werden, dass die korrespondierenden Beziehungen zwischen dem Master und dem Slave korrekt sind. Darüber hinaus kann der Benutzer die entsprechenden Kommunikationsparameter wie die Übertragungs-Baud - Rate, die Zeichenparität, die Anzahl der Stoppbits und andere Einstellungen entsprechend den tatsächlichen Bedürfnissen konfigurieren.

4. Implementierung des M0DBUs-Protokolls in AB PLC

1. Kommunikationssteuerung des MCM-Moduls

PR0s0FT TECHN0L0GY Das 3100 / 3150 - MCM-Kommunikationsmodul entspricht einer Netzwerkschnittstelle, und die SPS ist über das MCM-Modul mit dem M0DBUs-Bus verbunden. Das MCM-Modul ermöglicht die schnelle und zuverlässige Implementierung des M0DBUs-Protokolls in der AB PLC.

Mit dem Kommunikationsmodul 3100 / 3150 - MCM können Benutzer zwischen dem Host - oder Slave-Modus wählen. Wenn das MCM-Modul als Host eingestellt ist, steuert es die Anschluss an den Slave-Bus, unterstützt das M0DBUs-Protokoll (01, 02, 03, 04, 05, 06, 15, 16) 8 Funktionscodierungen, kann bis zu hundert benutzerdefinierte Anforderungsanweisungen senden und unterstützt die Ausgabe von Anfragen in 4 "Broadcast-Modus. Wenn ein MCM-Modul als Slave bezeichnet wird, reagiert es auf die Anfrage des Hostes und unterstützt die neun Funktionscodierungen des M0DBUs-Protokolls (01, 02, 03, 04, 05, 06, 08, 15, 16). Gleichzeitig unterstützt das Kommunikationsmodul 3100 / 3150 - MCM sowohl die Übertragungsmodi AsCII als auch RTU, ob im Master - oder Slave-Modus.

Wenn AB PLC das Kommunikationsmodul 3100 / 3150 - MCM als Host-Modus konfiguriert hat, verwendet die SLC einen periodischen Scan-Modus, um Daten mit dem Slave in der Reihenfolge der angeforderten Anweisungen auszutauschen. Während jedes Scans verwendet der Prozessor eine logische Schreibbefehl, um die Daten aus dem Host-Speicher an die einzelnen Slaves an den Sendenpuffer im Kommunikationsmodul 3100 / 3150 - MCM auszugeben, das Modul basierend auf den gespeicherten Funktionsbefehlen an den angegebenen Slaves zu senden: Die Daten, die nach der Antwort des Slaves zurückgegeben werden, wird das 3100 / 3150 - MCM-Kommunikationsmodul zuerst im Empfangspuffer gespeichert, und dann wird das PLC mit logischen Lesebefehl die Daten in den entsprechenden Eingangsdatenspeicher verschieben. Das bedeutet, dass die Daten im Host und Slave periodisch aktualisiert werden. Der gesamte Datenprozess ist in Abbildung 2 dargestellt:

A-B PLC und Modbus-Kommunikationsprotokoll und DokumentationAbbildung1

2. MCM-Modul und M0DBUs Hardware-Verbindung

Das MCM-Modul verwendet eine Standardkommunikationsschnittstelle, die mit Rs232C kompatibel ist, aber in der praktischen Anwendung aufgrund der Realisierung von Multipoint-Kommunikation verwendet Rs485. Abbildung 3 zeigt die Verbindung des seriellen 9 - Kern-Anschlusses des 3150 - MCM-Moduls mit dem M0DBUS

A-B PLC und Modbus-Kommunikationsprotokoll und DokumentationAbbildung2

3. Pufferverwaltung des MCM-Moduls

Zwischen dem PLC und dem MCM-Modul wird die Datenübertragung über die Eingangs - und Ausgabe-Image - Dateien des Moduls durchgeführt. Wenn der PLC Daten schreibt, schreiben Sie die Daten in die Ausgabe-Image - Datei, und dann 3100 / 3150 - MCM Kommunikationsmodul die Daten auf den entsprechenden Puffer-Positionen zuzuordnen: Wenn der PLC Daten liest, basierend auf der Zuordnungsadresse, aus der Eingabe-Image - Datei liest die entsprechenden Adressen in der Modul-Puffer. Die Datenübertragungseinheit für die Bilddatei ist ein 50 - Byte-Datenblock, und die PLC muss einen Datenblock auf einmal schleifen.

MCM Puffer nach der Größe der Datenübertragungseinheit, in mehrere Blöcke unterteilt, und eine Kennzeichnung, mit der Blocknummer korrespondiert, und unterteilt in drei Bereiche, die jeweils für Daten, Anweisungen, Parameter Einstellungen. Der Datenspeicher beginnt mit der Blocknummer 0 und endet mit der Blocknummer 79, in der Mitte gibt es 4000 Bytes Platz, um empfangene Daten und gesendete Daten zu speichern, ist der Ort, an dem Host und Slave Daten austauschen: Befehlsspeicher von Block 80 bis Block 99, insgesamt 1000 Bytes, für die Speicherung im Host-Modus, die Funktionsbefehltabelle des Moduls, jedes Scan, Reihenfolge nach Funktionsbefehlllliste an den Slave-Anfragen Frames: 255 Block Nummer die ersten 40 Bytes sind speziell definiert als Module Einstellungen Parameter Speicher, für die Initialisierung des Moduls.

Im Kommunikationsprozess müssen Sie zunächst den Host initialisieren, dh den Puffer-Inhalt des 255 - Block-Nummern zu konfigurieren, hauptsächlich die Einstellung des Kommunikationsports, die detaillierte Aufteilung des Moduls Puffer definieren. Es wurden folgende Parameter eingestellt:

(1) Definieren Sie zwei unabhängige Kommunikationsschnittstellen-Einstellungen für das MCM-Kommunikationsmodul Enthält: Auswahl des Host - oder Slave-Modus, Definition von Zeichen-Paritäten, Anzahl der Stoppbits, Übertragung der Baudrate, Antwortverzögerung und andere Parameter.

(2) Das Definiert den Datenspeicher, in dem die empfangenen Daten im Puffer des Moduls gespeichert werden. Enthält: die Anfangsblocknummer des Empfangsdaten-Speichers, die Anzahl der aufeinanderfolgenden Blöcke des Speichers.

(3) Der Datenspeicher, in dem die Sendendaten im Puffer des Moduls gespeichert werden. Enthält: die Startblocknummer des Datenspeichers und die Anzahl der aufeinander folgenden Blöcke des Speichers.

(4) Der Befehlsspeicher im Puffer des Moduls wird definiert. Da der Befehlsspeicher mit der Zahl 80 Block beginnt, müssen Sie nur die Anzahl der Blöcke für den Speicher angeben.

4. Funktionsbefehle für das MCM-Modul

Wenn sich das MCM-Modul im Hostmodus befindet, wird die Liste der Funktionsbefehle im Befehlsspeicher im Modulpuffer gespeichert. Wenn der Host eine Anforderung an den Slave ausgibt, liest das Modul Funktionsbefehle einzeln aus dem Befehlsspeicher und sendet die Daten im M0DBUs-Anforderungsframeformat.

Die spezifischen Inhalte jeder Funktionsbefehl im Befehlsspeicher sind wie folgt:

1Modul Kommunikationsport Auswahl
2Die Adresse des Flughafens. Der Slave vergleicht beim Empfang der Daten den Wert der Adresse der Station mit der empfangenen Station-Adresse, um zu bestimmen, ob die Informationen an die Station gesendet wurden. Der Host vergleicht beim Empfang die empfangene Station-Adresse mit der gesendeten Station-Adresse, um festzustellen, ob es sich um eine korrekte Slave-Antwort handelt.
3antwortet. Das ist die Datenlänge der Anfangsdatenadresse
4- Quelladresse des Slaves handelt, der die Anweisung
5im Puffer, die der Host sendet oder empfängt. Die Anzahl der Bytes der Daten, die der Host senden oder empfangen möchte
6Zieladresse. Das bedeutet, dass die Registrierungsadresse
7der Daten vom Typ der Daten empfangen oder reagiert werden soll. Eine Gleitkommazahl, die angibt, ob die gelesenen oder geschriebenen Daten doppelte oder einzelne Byte sind
8Polling-Zeit

Wenn der Host das Slave-Register 2 sepam2000 an der Kommunikationsschnittstelle 1 lesen möchte Der Inhalt von 0805h - 080Ah wird in sechs aufeinanderfolgenden Bytes ab dem 50. Byte des Modulpuffers gespeichert,

Die Funktionsbefehle sind wie folgt:

PortnummerSlave-AdresseFunktionscodeQuelle-AdresseDatenlängeZiel-AdresseTyp Zeit
123506080500

5 Die Entwicklung von AB PLC-Kommunikationsprogrammen

Bei der Ausführung des Programms muss der MCM-Status im ersten Scan-Zyklus festgelegt werden, dh das MCM-Modul initialisiert.

Im Kommunikationsprogramm legt die SLC in der Eingangs - und Ausgabe-Image - Datei den aktuellen und nachfolgenden Lesen-Schreibzeiger für den MCM-Puffer fest, die auf die aktuelle MCM-Puffer - Blocknummer und die nachfolgende Puffer-Blocknummer verweisen. Wenn sich der MCM in einem Zustand der Datenübertragung befindet, d. h. I1: 1 / 0 = 1, 00: 1 / 0 = 0, entscheidet die PLC den aktuellen Lesen - und Schreibzeiger und ruft die entsprechende Lese - und Schreiblogikbefehle auf. Wenn der Zeiger auf den Datenspeicher zeigt, der Daten empfängt, empfängt die SPS Daten vom MCM-Modul: Wenn der Zeiger auf den Datenspeicher zeigt, der Daten sendet, sendet die SPS Daten an das MCM-Modul: Wenn der Zeiger auf den Befehlspeicher zeigt, sendet die SPS Funktionsbefehle an das MCM-Modul. Die Übertragung eines Datenblocks wird jedes Mal durchgeführt und nach der Übertragung wird der nachfolgende Lese - und Schreibzeiger den aktuellen Lese - und Schreibzeiger überschreibt, wodurch der nächste Datenblock im nächsten Scanzyklus übertragen wird. Automatisches periodisches Scannen der PLC, gemäß der programmierten Funktionsanweisung an die Eingangs - / Ausgangsdaten des Slaves zu senden / zu empfangen, um die Anforderungen der Datenübertragung zu erfüllen

Basierend auf den logischen Anweisungen der PLC und dem Kommunikationsprinzip des MCM wird das Host-Kommunikationsprogramm in Abbildung 4 gezeigt.

Strukturenrahmen.

A-B PLC und Modbus-Kommunikationsprotokoll und DokumentationAbbildung3

V. Schlusswort

Nach dem Debugger vor Ort wurde eine Verbindung zwischen einem AB-PLC und 13 sEPAM2000 - M0DBUs-Netzwerk realisiert. Die praktische Anwendung belegt, dass diese Methode der Systemstruktur ist einfach, die Anwendung bequem, kann die komplexen Steuerungsbedürfnisse erfüllen.

Relevante Etiketten
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.