Siemens S7 - 200 Modbus RTU Kommunikationsmethode

kostenlosKostenloses technisches Material

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

Siemens S7 - 200 Modbus RTU Kommunikationsmethode

S7 - 200 unterstützt das Modbus RTU-Kommunikationsprotokoll durch:

  • Port 0 auf der S7 - 200 - CPU Unterstützt Modbus RTU-Sklavenmodus über die Skriptbibliothek
  • Port 0 und 1 auf der S7 - 200 - CPU (Port 0 und Port 1) Unterstützt Modbus RTU-Modus

Die Implementierung der S7 - 200 - CPU-Kommunikationsanschluss ist die RS485 - Halbduplex-Kommunikation, die Verwendung der S7 - 200 - Free-Port - Funktion.
Das Modbus-Kommunikationsprotokoll wird über den Free-Port - Modus des S7 - 200 - CPU-Kommunikationsanschlusses implementiert und kann über langsame Kommunikationsgeräte wie drahtlose Datenfunkstationen übertragen werden. Dies erleichtert die Aufstellung eines einfachen drahtlosen Kommunikationsnetzes zwischen den S7 - 200.
Weitere Informationen finden Sie im entsprechenden Abschnitt des S7 - 200 Systemhandbuchs (Oktober 2002 oder neuer).

Unterstützt der S7 - 200 den Modbus-ASCII - Kommunikationsmodus?

Das Siemens S7 - 200 bietet keine vorhandene Befehlsbibliothek für die oben genannten Modelle, die Benutzer selbst im Free-Port - Modus programmieren müssen.

Modbus RTU Master

Modbus RTU Master Command Library

Siemens stellt in Micro / WIN V4.0 SP5 die Modbus RTU-Masterstation - Protokollbibliothek (Siemens Standard Library Directive) vor.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung
Abbildung 1. Standard-Befehlbibliothek von Siemens (Micro / WIN V4.0 SP5)

Hinweis:

1. Die Funktionalität der Modbus RTU Master-Befehlbibliothek wird durch den Aufruf von vorgeschriebenen Programmierfunktionen im Benutzerprogramm realisiert, die für Port 0 und Port 1 gültig sind. Diese Befehlsbibliothek wird die Kommunikationsschnittstelle für die Arbeit im freien Port-Modus einstellen.

2. Die Modbus RTU Master Command Library verwendet einige Benutzerinterruptionsfunktionen und kann bei der Programmierung von anderen Programmen Interrupts in Benutzerprogrammen nicht deaktiviert werden.

3. Die Modbus-RTU - Master-Bibliothek hat Anforderungen an die CPU-Version. Die CPU-Version muss 2.00 oder 2.01 sein (d. h. die Bestellnummer 6ES721 * - ***23-0BA *), S7 - 200 CPUs vor Version 1.22 (einschließlich Version 1.22) werden nicht unterstützt.

Die Modbus-RTU - Master-Befehlbibliothek ermöglicht das Lesen und Schreiben von digitalen, analogen E / A - und Haltenregistern von Modbus-RTU - Slaves.

Um die Modbus-RTU - Master-Bibliothek zu verwenden, müssen Sie folgende Schritte ausführen:

1.Installation der Standard-Befehlbibliothek von Siemens

2.Benutzerprogramm wie angefordert Schreiben Aufruf der Modubs RTU-Befehlbibliothek

Modbus RTU-Befehlbibliothek Funktionsprogramm

Aufruf des Modbus RTU-Befehlbibliothek Initialisierung und Steuerung Subroutins

Aufruf des MBUS_CTRL mit SM0.0 für die Initialisierung der BF-Befehlbibliothek, Und aktivieren Sie die Funktionssteuerung:

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung1
Abbildung 2 Modbus-RTU - Master-Initialisierungs - und Steuerungs-Subroutine mit SM0.0 aufrufen

Die Bedeutung der Parameter ist wie folgt:

a. EN-Aktivieren: Es muss sichergestellt werden, dass jeder Scan-Zyklus aktiviert ist (mit SM0.0)

b. Modus: Bei 1 aktiviert Modbus-Protokoll; bei 0 wird das System-PPI - Protokoll

C. Baud-Baud - Rate: Unterstützte Kommunikations-Baud - Rate sind 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200.

d. Parity-Prüf: Auswahl der Prüfmethode

0 = Keine Prüfung
1 = Singularity-Test
2 = Parity-Test

E. Timeout: Die Zeit, bis die Master-Station auf eine Antwort der Slave-Station wartet, in Millisekunden, wobei der typische Einstellungswert 1000 Millisekunden (1 Sekunde) beträgt und der zulässige Einstellungsbereich 1 - 32767 liegt.
Hinweis: Dieser Wert muss groß genug festgelegt werden, um eine Antwortzeit für die Slave-Station zu gewährleisten.

f. Done Done: Die Initialisierung ist abgeschlossen und wird automatisch auf 1 gesetzt. Mit diesem Bit kann ein MBUS_MSG-Lese - Schreibvorgang gestartet werden (siehe Routine).

g. Error Initialisierungsfehlercode (nur gültig, wenn Done-Bit 1 ist):

0 = Kein Fehler
1 = Prüfauswahl illegal
2 = Baudrate-Auswahl illegal
3 = Modus-Auswahl illegal

Ruft das Modbus-RTU - Master-Lese - und Schreib-Subprogramm MBUS_MSG auf, um eine Modbus-Anfrage zu senden;

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung2
Abbildung 3. Aufrufen Sie Modbus RTU-Master - Lesen und Schreiben-Subroutine

Die Bedeutung der Parameter ist wie folgt:

a. EN aktiviert: Nur eine Lese - und Schreibfunktion (d.h. MBUS_MSG) kann gleichzeitig aktiviert werden

Hinweis: Es wird empfohlen, dass jede Lese - und Schreibfunktion (d. h. MBUS_MSG) mit dem Done-Bit der vorherigen MBUS_MSG-Befehl aktiviert wird, um sicherzustellen, dass alle Lese - und Schreibbefehle-Schleife ausgeführt werden (siehe Routine).

b. Bit First Read and Write Request: Jede neue Lese - und Schreibanforderung muss mit einem Impuls ausgelöst werden.

c. Slave-Slave - Station-Adresse: Optional Bereich 1 - 247

d. RW-Adressen: 0 = Lesen, 1 = Schreiben

Achtung:

1. Schaltervolumen-Ausgang und Haltregister unterstützen Lese - und Schreibfunktionen

2. Schaltervolumen-Eingang und Analogvolumen-Eingang unterstützen nur Lesefunktionen

e. Addr Lesen und Schreiben der Datenadresse der Slave-Station:

Wählen Sie den zum Lesen und Schreiben verwendeten Datentyp

00001 bis 0xxxx - Schaltvolumen-Ausgang

10001 bis 1xxxx - Schaltvolumen-Eingang

30001 bis 3xxxx - Analogvolumen-Eingang

40001 bis 4xxxx - Halten Register

f. Count Anzahl der Daten (Bits oder Wörter)

Hinweis: Die maximale Datenmenge, die ein Modbus-Hoster lesen / schreiben kann, beträgt 120 Wörter (meint jede MBUS_MSG-Befehl)

g Dataptr-Datenzeiger: 1. Wenn es sich um einen Lesebefehl handelt, werden die gelesenen Daten in diesen Bereich gelegt

Wenn Sie einen Befehl schreiben, legen Sie die zu schreibenden Daten in diesen Bereich ein.

h. Done Done Bit Lesen und Schreiben Funktion Abschluss Bit

i. Fehlercode: Der Fehlercode ist nur gültig, wenn der Done-Bit 1 ist

0 = kein Fehler

1 = Antwortüberprüfungsfehler

2 = Nicht verwendet

3 = Empfangszeitüberschreiten (Slave nicht antwortet)

4 = Anforderungsparameterfehler (Slave-Adresse, Modbus-Adresse, Count, RW)

5 = Modbus / Free Port nicht aktiviert

6 = Modbus ist mit einer anderen Anforderung beschäftigt

7 = Antwortfehler (Antwort ist nicht die angeforderte Aktion)

8 = Antwort CRC-Checksumme - Fehler

-

101 = Der Slave unterstützt die angeforderte Funktion nicht
102 = Der Slave unterstützt keine Datenadresse
103 = Der Slave unterstützt diesen Datentyp nicht
104 = Ausfall des Slave-Geräts
105 = Der Slave hat die Nachricht erhalten, aber die Antwort wurde verzögert
106 = Der Slave ist beschäftigt, Die Nachricht wurde abgelehnt
107 = Der Slave hat die Nachricht abgelehnt
108 = Slave-Speicher - Parity-Fehler

Häufige Fehler:

Wenn mehrere MBUS_MSG-Befehle gleichzeitig aktiviert werden, verursacht es Fehler 6

Der Bibliothekspeicher wird an anderen Stellen des Programms wiederverwendet, manchmal verursacht es Fehler 6

Zu lange Einstellung des Slave-Delay - Parameters verursacht Master-Fehler 3

Slave-Station wird ausgeschaltet oder nicht ausgeführt, Netzwerk-Ausfälle verursachen Master-Fehler Nr. 3

Zuweisung von Speicher für Bibliotheksbefehle im V-Datenbereich der CPU

Die Modbus Master-Bibliothek benötigt einen globalen V-Speicher von 284 Bytes.

1.3Über Modbus RTU-Master - Protokoll und - Adresse

Dies ist die offizielle Beschreibung der Standardbibliothek von Siemens.

Wechseln zwischen Modbus RTU Master und PPI:

Die Modbus RTU Master-Protokoll - Bibliothek lässt die Schnittstelle im Freie-Port - Modus arbeiten und kann nicht mit Micro / WIN-Software kommunizieren. Um wieder auf das PPI-Protokoll zu wechseln, können Sie:

  1. Setzen Sie den Mode-Eingang der MBUS_CTRL-Befehl auf Logik "0"
  2. Setzen Sie den Zulassungsmodus-Schalter der CPU auf die Position STOP

Ausführungszeit der Modbus RTU Master-Bibliothek:

Die MBUS_CTRL-Befehl der Modbus RTU Master-Bibliothek benötigt keine lange Ausführung. MBUS_ benötigt 1,11 ms für die Initialisierung und nimmt nur 0,41 ms für jeden nachfolgenden Scanzyklus ein.

Der Aufruf der MBUS_MSG-Subroutine verlängert die Verarbeitungszeit. Die meiste Zeit wird für die Berechnung der CRC-Check verwendet. Jedes Lesen und Schreiben eines Wortes benötigt 1,85 ms Scanzeit. Bei den meisten Daten (Lesen und Schreiben von 120 Wörtern) erhöht sich die Scanzeit um 222 ms. Die Zeit des Leses wird hauptsächlich für den Empfang von Daten verbraucht; die Zeit des Schreibvorgangs wird hauptsächlich für das Senden von Daten verbraucht.

Modbus-Adresse

Normalerweise besteht eine Modbus-Adresse aus fünf Ziffern, einschließlich des anfänglichen Datentyps und der anschließenden Offset-Adresse. Die Modbus Master-Bibliothek zugeordnet die Standardmodbus-Adressen in die sogenannten Modbus-Funktionsnummern, die Daten von Slave-Stationen lesen und schreiben. Die Modbus Master-Bibliothek unterstützt folgende Adressen:

  • 00001 - 09999: Digitale Menge Ausgabe (Spule)
  • 10001 - 19999: Digitale Menge Eingang (Kontakt)
  • 30001 - 39999: Eingabedatenregister (normalerweise analoge Eingabe)
  • 40001 - 49999: Datenlagerregister

Unterstützte Funktionen von der Modbus Master-Bibliothek

Um das Lesen und Schreiben der oben genannten Modbus-Adressen zu unterstützen, muss die Modbus Master-Bibliothek die folgenden Funktionen von Slaves unterstützen:

Tabelle 1. Funktionen, die von der Station unterstützt werden müssen

Modbus-AdresseLesen / SchreibenFunktionen, die vom Slave unterstützt werden müssen
00001 - 09999 Digitale Ausgabe读Funktionscode 1
00001 - 09999 Digitale Menge Export写Funktionscode 5: Single-Ausgabepunkt
Funktionscode 15: Multi-Ausgabepunkt
10001 - 19999 Digitale Eingabe读Funktionscode 2
10001 - 19999 Digitale Eingabe写-
30001 - 39999 Eingangsregister读Funktionscode 4
30001 - 39999 Eingangsregister写-
40001 - 49999 Aufbewahrungsregister读Funktionscode 3
40001 - 49999 Aufbewahrungsregister写Funktion 6: Schreib-Single - Register-Einheit
Funktion 16: Schreib-Multi - Register-Einheit

Zuordnung von Modbus-Adressen und S7 - 200 - Speicher-Adressen

Wenn der S7 - 200 über die Modbus-Master - und Slave-Bibliotheken kommuniziert, sind Modbus-Adressen und Speicher-Adressen im S7 - 200 ähnlich zuordnen.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung3

Modbus-Adressen - Zuordnung Beispiel:

Bit-Adressen (0xxxx und 1xxxx) werden immer in Bytes verpackt. Das am wenigsten relevante Bit im ersten Byte entspricht der Startadresse der Modbus-Adresse. Wie folgt:

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung4

Abbildung 4.. Beispiel für eine numerische Adresszuordnung

1.4 Modbus-RTU - Host-Routine

Um die Programmierung der Modbus-Masterstation besser zu verstehen, können Sie sich auf die folgende Routine beziehen.

Beispiel 1: Mehrere MBUS_MSG-Befehle ausführen,

Hinweis

  • 1. Diese Routine wird mit Micro / WIN V4.0 SP5 gespeichert.
  • 2. Diese Routine greift nur auf eine Slave-Station auf, wenn Sie auf eine andere Slave-Station zugreifen, können Sie durch Ändern der Slave-Adresse.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung5Modbus-RTU - Master-Befehlbibliothek - Anwendungsroutine

Beispielprogramm 2: Wiederholte Aktivierung einzelner MBUS_MSG-Befehl:

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung5Modbus-RTU - Master-Befehl - Zugriffsablauf-Polling - Anwendungsroutine

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung6Achtung:Der Autor und der Eigentümer dieser Bibliothek / dieses Programms übernehmen keine Verantwortung für die Funktionalität und Kompatibilität der Software. Die Nutzung der Software erfolgt ausschließlich auf eigenes Risiko des Benutzers. Da es kostenlos ist und keine Garantie, Fehlerkorrektur und Hotline-Support bietet, müssen die Benutzer nicht den technischen Support und den Service von Siemens kontaktieren.

1.5 Häufig gestellte Fragen

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung7Hat die Modbus-RTU - Master-Bibliothek Anforderungen an die CPU-Version und warum tritt bei der Kompilierung eines Beispielprogramms auf 4 - Fehler?

Die Modbus-RTU - Master-Bibliothek hat Anforderungen an die CPU-Version, die CPU-Version 2.00 oder 2.01 sein muss (d.h. die Bestellnummer 6ES721 * - ***23-0BA *), die S7 - 200 CPUs vor Version 1.22 (einschließlich Version 1.22) nicht unterstützt werden.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung7Wie kann die CPU über den gleichen Kommunikationsanschluss überwacht werden, nachdem die Modbus-Befehlbibliothek gestartet wurde?

Die Modbus-Befehlbibliothek verwendet die Freie-Port - Kommunikationsfunktion der CPU, und die Kommunikationsanschlüsse, die im Freie-Port - Modus arbeiten, können nicht mit der PPI-Programmierung von Micro / WIN überwacht werden. Wenn die Kommunikation bereits besetzt ist, können Sie in Betracht ziehen:

  • Ein Kommunikationsmodul (z. B. EM277, CP243 - 1, EM241 usw.) erweitert einen Programmieranschluss.
  • Beenden Sie den Free-Port - Modus, um den Modus-Schalter auf der CPU von RUN auf STOP zu wählen; oder halten Sie den RUN-Zustand, um den Modbus-Modus der Befehlsbibliothek mit dem Programm zu stoppen (siehe Befehlsbibliothek-Anwendung)

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung7 Wie verstehe ich den Unterschied zwischen Modbus-Adresse und Funktionscode?

Modbus-Adressen und Modbus-Funktionscodes sind zwei Konzepte.

Gemäß dem Modbus-Kommunikationsprotokoll verwenden Modbus-Datenadressen in den Formen 0xxxx, 1xxxx, 3xxxx und 4xxxx, die jeweils die Adresse der digitalen Ausgabe, der digitalen Eingabe und der analogen Eingabe darstellen. Bei der Verwendung der S7 - 200 - Befehlsbibliothek gibt es eine spezifische Korrespondenz zwischen der Modbus-Datenadresse und der E / A - und Datenspeicher-Adresse des S7 - 200.

Einige Geräte geben an, dass sie das Modbus RTU-Kommunikationsprotokoll unterstützen, aber auch detaillierte Kommunikationsrahmenformate für das Lesen und Schreiben von Daten, einschließlich der Angabe der Adresse der Modbus-Station, des Datentypes, der Länge des Lesens und Schreibens usw. Der Datenrahmen hat ein spezielles Byte, das den Datentyp und die Adresse angibt, die von dieser Anweisung gelesen und geschrieben wird, und der Dateninhalt dieses Bytes wird als "Funktionscode" bezeichnet, wie Funktion 1, die den Wert des Lesens eines einzelnen / mehrerer numerischer Ausgangspunkte angibt.

Bei Geräten oder Software, die das Modbus-Protokoll unterstützen, sollte die Modbus-Datenadresse direkt vom Benutzer eingestellt oder gesehen werden. Die Daten, auf die die Modbus-Adressen zugegriffen werden, werden durch verschiedene "Funktionen" gelesen und geschrieben. Der Funktionscode ist die unterste Ebene der Modbus-Adresse. Wenn die Partei der Modbus-Kommunikation nur ein Funktionscode für das sogenannte Modbus-Protokoll bereitstellt, ist es notwendig, die Korrespondenz zwischen dieser Funktionsnummer und der Modbus-Adresse zu verstehen.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung7Wie kann ich auf eine Halt-Register - Adresse zugreifen, die größer ist als 9999?

Normalerweise liegt der Bereich der Aufbewahrungsregister-Adressen im Modbus-Protokoll zwischen 40001 und 49999. Für die meisten Anwendungen reicht das. Einige Modbus-Stationen zugeordneten jedoch die Adressen in den Registerbereich, der mehr als 9999 enthält.

Die Modbus Master-Protokollbibliothek unterstützt mehr als 9999 Aufbewahrungsregisteradressen. Der Adressbereich beträgt 400001 - 465536. Geben Sie dem Addr-Parameter beim Aufruf der MBUS _ MSG-Subroutine einfach einen entsprechenden Wert wie 416768.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung6Der erweiterte Adressmodus von Modubs Master unterstützt nur die Aufbewahrung von Registerbereichen und keine anderen Adresstypen.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung7Was passiert, wenn die S7 - 200 als Modbus-Master - Station in einem anderen Datenformat empfangen wird als in einem Drittanbieter-Gerät?

Das Speicherformat der Siemens PLC-Daten ist ein High-Bit - Low-Speicher. Beispiel: VD200 enthält VW200 und VW202, wobei VW202 ein Low-Wort und VW200 ein High-Wort ist. Wenn die Geräte von Drittanbietern das Datenspeicherformat von Siemens unterscheiden und eine Low-Bit - Low-Speicher - Methode sind, können die kommunizierten Daten Fehler aufweisen und für die Verwendung konvertiert werden. Programmierungsmethoden sind vielfältig, für den Austausch von hohen und niedrigen Wörtern in Doppel-Wörtern können SWAP (Wort-Austausch) Anweisungen verwendet werden, wenn der Byte-Austausch kann die Kreislaufverschiebung Anweisungen in Betracht ziehen.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung7Unterstützt der S7 - 200 andere Protokolle wie Modbus TCP?

Keine Unterstützung. Weder der eigene Kommunikationsanschluss des S7 - 200 noch das Kommunikationserweiterungsmodul unterstützt die Kommunikationsprotokolle Modbus TCP, CANopen, DeviceNet und BACnet.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung7 Warum gibt der MBUS_MSG-Befehl beim S7 - 200 als Modbus-Master - Station den Fehler 6?

Der Fehler 6 kann aus zwei Gründen verursacht werden: 1. mehrere MBUS_MSG-Befehle können gleichzeitig ausgeführt werden; 2. Der empfohlene Adressbereich, der im Modbus-Bibliothekspeicher zugewiesen wird, überschneidet sich mit dem bereits in der Programmierung verwendeten V-Speicher.

2Modbus RTU-Sklaven

2.1 Der Port (Port0) auf der CPU unterstützt das Modbus RTU-Sklavenprotokoll

Port0 auf der S7 - 200 - CPU kann Modbus RTU-Protokoll unterstützen und als Modbus RTU-Sklavenstation werden. Diese Funktion wird über den Free Port-Kommunikationsmodus des S7 - 200 implementiert, sodass sie über langsame Kommunikationsgeräte wie drahtlose Datenstationen übertragen werden kann.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung8 Weitere Informationen finden Sie im entsprechenden Abschnitt des S7 - 200 - Systemhandbuchs.

Für die Modbus-RTU - Kommunikation ist eine Programmierungssoftware von STEP7 - Micro / WIN32 V3.2 oder höher erforderlich und die STEP7 - Micro / WIN32 V3.2 Instruction Library (Befehrbibliothek) ist installiert. Die Modbus-RTU - Funktionen werden durch vorgeschriebene Programmfunktionsblöcke in der Befehlsbibliothek implementiert.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung6Die Modbus-RTU - Slave-Bibliothek unterstützt nur den Kommunikationsanschluss 0 (Port0) auf der CPU.

2.2 Grundlegende Schritte zur Programmierung:

Überprüfen Sie die Softwareversion von Micro / WIN, die auf STEP7 - Micro / WIN V3.2 oder höher sein sollte.

Prüfen Sie, ob die Modbus-RTU - Slave-Stations - Bibliothek im Befehlbaum von Micro / WIN vorhanden ist (Abbildung 1), die zwei Subroutinen MBUS _ INIT und MBUS _ SLAVE enthalten sollte. Wenn nicht, muss das Instruction Library-Paket für Micro / WIN32 V3.2 installiert werden;Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung9

Abbildung 1. Die Bibliotheksbefehle

im Befehlbaum werden mit SM0.1 initialisiert, um das Subroutine MBUS_INIT aufzurufen, mit SM0.0 um MBUS_SLAVE aufzurufen und die entsprechenden Parameter anzugeben. Eine detaillierte Beschreibung der Parameter finden Sie in der Tabelle der lokalen Variablen des Unterprogramms;Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung10

Abbildung 2. Modbus RTU Kommunikationsbefehlsbibliothek

Aufrufen Die Bedeutung der Parameter in der Abbildung ist wie folgt:

  • Modus Auswahl: Start / Stop Modbus, 1 = Start; 0 = Stop
  • Slave Station Adresse: Modbus Slave Station Adresse, Werte 1 ~ 247
  • Baudrate: Optional 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
  • Parität: 0 = keine Prüfung; 1 = Parität; 2 = Parität
  • Verzögerung: Zusätzliche Verzögerung zwischen den Zeichen, Standardwert 0
  • Maximale I / Q-Bits: Maximale Anzahl von E / A-Punkten, die an der Kommunikation teilnehmen, I / A-Image - Bereich für S7 - 200 ist 128 / 128, Standardwert 128
  • Maximale Anzahl von AI-Wörtern: Maximale Anzahl von AI-Kanälen, die an der Kommunikation beteiligt sind, kann 16 oder 32 sein
  • Maximale Aufbewahrungsregisterbereich: V-Speicherbereich Wort (VW)
  • Aufbewahrungsregisterbereich Startadresse: Mit & VBx angegeben (indirekte Adressierung)
  • Initialisierung Abschluss-Flag: Erfolgreiche Initialisierung Nach 1
  • Initialisierung Fehlercode
  • Modbus-Ausführung: 1 für Kommunikation, 0 für keine Modbus-Kommunikation.
  • Fehlercode: 0 = kein Fehler

表1.Slave-Station - Fehlercode

FehlercodeBeschreibung
0Kein Fehler
1Speicherweite Fehler
2Ungültige Baudrate oder Verifikation
3Ungültige Slave-Station - Adresse
4Ungültige Werte für Modbus-Parameter
5Registrierung mit Modbus-Slave - Symbol-Adresse wiederholt
6Empfangene Verifikation Fehler
7Empfangene CRC-Fehler
8Ungültige Funktionsanfrage / nicht unterstützte Funktionen
9Ungültige Speicheradresse in der Anfrage
10Die Slave-Station - Funktion ist nicht aktiviert

In der V-Datenzone der CPUZuweisen des Bibliotheks-Befehl - Datenbereichs (Library Memory);

Bei Bedarf verwenden Sie die Hauptstation-Software.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung6Achtung:Der von den Subprogrammparametern HoldStart und MaxHold angegebene Registerbereich ist im V-Datenspeicherbereich der S7 - 200 - CPU zugewiesen, dieser Datenbereich kann sich nicht überschneiden und die Bibliothek-Befehl - Datenbereich, sonst wird ein Fehler beim Laufen erzeugt, kann nicht normal kommunizieren. Beachten Sie, dass der Hold-Register - Bereich in Modbus als "Wort" adressiert wird, d. h. MaxHold spezifiziert die Anzahl der VWs anstatt der VBs.

Im Beispiel in Abbildung 2 wird festgestellt, dass der Modbus-Haltregisterbereich von VB0 beginnt (HoldStart = VB0), und das Holdregister 1000 Wörter (MaxHold = 1000), da das Holdregister in Wörtern (zwei Bytes) ist, nimmt dieser Kommunikationspuffer tatsächlich 2000 Bytes von VB0 bis VB1999 ein. Daher müssen die Zuweisungsbibliotheksbefehle mindestens mit VB2000 beginnen, um Datenbereiche zu reservieren. Natürlich muss die Aufbewahrungszone nicht unbedingt ab VB0 beginnen.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung6Achtung:Die V-Speichergröße der gewählten CPU! Die CPU-Modelle unterscheiden sich, die Größe des V-Datenspeichers variiert. Die Größe des Modbus-Haltregisterbereichs sollte je nach Bedarf auswählen.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung11Nachdem ein Projekt, das die Modbus RTU enthält, von der Station-Befehlbibliothek kompiliert und in die CPU heruntergeladen wurde, kann eine Modbus-Testsoftware auf einem Programmiercomputer (PG / PC) ausgeführt werden, um zu überprüfen, ob die Modbus RTU-Kommunikation auf dem S7 - 200 normal ist, was nützlich ist, um Fehlerpunkte zu finden. Die Testsoftware verbindet die CPU über den seriellen Computeranschluss (RS - 232) und ein PC / PPI-Kabel. Falls erforderlich, müssen Sie das PC / PPI-Kabel auf den freien Anschluss-Kommunikationsmodus einstellen.

Sie können auf einigen Software-Downloads - Websites ähnliche Software wie ModScan32 suchen.

2.3 Modbus-RTU - Slave-Adressen entsprechen der Adresse des S7 - 200

Modbus-Adressen treten immer in Form von 00001, 30004 und so weiter auf. Die Korrespondenz zwischen dem Datenspeicher im S7 - 200 und den Modbus-Adressen von 0, 1, 3 und 4 ist wie folgt:

Tabelle 2. Modbus-Adressen - Korrespondenztabelle

Modbus-AdressenS7 - 200 Datenbereich
00001 bis 00128Q0.0 bis Q15.7
10001 bis 10128I0.0 bis I15.7
30001 bis 30032AIW0 bis AIW62
40001 bis 4xxxxT ~ T + 2 * (xxxx -1)

wobei T die Pufferstartadresse in S7 - 200, d. h. HoldStart, ist.

Wenn die Adresse des V-Speichers in S7 - 200 bekannt ist, wird die Modbus-Adresse wie folgt berechnet:

Modbus-Adresse = 40000 + (T / 2 + 1); T ist eine gerade Zahl

2.4 Modbus-RTU - Funktionscode für die von der Slave-Station unterstützte Bibliothek

Die Modbus RTU Slave Station Command Library unterstützt bestimmte Modbus-Funktionen. Der Zugriff auf eine Host-Station, die diese Bibliothek verwendet, muss die Anforderungen dieser Bibliothek erfüllen.

Tabelle 3. Modbus RTU von der Station Funktionscode

FunktionscodeDer Master-Standort verwendet den entsprechenden Funktionscode für die Anwendung dieser Slave-Standorte.
1Lesen Sie den Zustand der einzelnen / mehreren Spule (diskreter Ausgangspunkte). Die Funktion 1 gibt den ON / OFF-Zustand für eine beliebige Anzahl von Ausgangspunkten (Q) zurück.
2Lesen Sie den Zustand von einzelnen / mehreren Kontakten (Eingangspunkten für diskrete Mengen). Die Funktion 2 gibt den ON / OFF-Zustand für eine beliebige Anzahl von Eingabepunkten (I) zurück.
3Lesen Sie einzelne / mehrere Aufbewahrungsregister Funktion 3 gibt den Inhalt des V-Speichers zurück. Unter dem Modbus-Protokoll sind die Register "Word" - Werte gehalten und können bis zu 120 Wörter in einer Anfrage gelesen werden.
4Lesen Sie einzelne / mehrere Eingangsregister. Funktion 4 gibt den analogen Datenwert des S7 - 200 zurück.
5Schreiben Sie eine einzelne Spule (diskreter Ausgangspunkte). Die Funktion 5 wird verwendet, um den Ausgangspunkt für diskrete Mengen auf einen angegebenen Wert zu setzen. Dieser Punkt ist nicht erzwungen, und das Benutzerprogramm kann den Wert überschreiben, der von der Modbus-Kommunikationsanforderung geschrieben wird.
6Schreiben Sie ein einzelnes Hold-Register Funktion 6 Schreibt einen Wert in das Hold-Register im V-Speicherbereich des S7 - 200.
15Schreiben Sie mehrere Spulen (diskreten Ausgangspunkte). Funktion 15 Schreibt die Werte mehrerer diskreter Ausgangspunkte in das Ausgabe-Image - Register (Q-Bereich) des S7 - 200. Die Adresse des Ausgangspunkts muss mit einer Bytegrenze beginnen (z. B. Q0.0 oder Q2.0), und die Anzahl der Ausgangspunkte muss ein ganzes Vielfaches von 8 sein. Dies ist die Beschränkung dieser Modbus RTU-Sklaven - Station-Befehlbibliothek. Einige Punkte sind nicht erzwungen, und Benutzerprogramme können die Werte, die von Modbus-Kommunikationsanfragen geschrieben werden, überschreiben.
16Mehrere Registrierungen halten sich. Funktion 16 Schreibt mehrere Werte in das Hold-Register im V-Speicherbereich des S7 - 200. In einer einzigen Anfrage können bis zu 120 Wörter geschrieben werden.

2.5 Modbus RTU Slave Routine

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung5Modbus RTU Slave Routine

Erfordert STEP7 - Micro / WIN V4.0 SP3 oder höher Öffnen

2.6 Modbus RTU Slave Häufig gestellte Fragen

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung7Was hat die Netzwerkadresse des Modbus-Sklaven mit der CPU-Netzwerkadresse des S7 - 200 zu tun?

Es hat nichts zu tun. Kommunikationsprotokolle, die die Netzwerkkommunikation unterstützen, müssen ihre eigenen Netzwerkadressierungsbestimmungen besitzen. Die Adresse der Modbus-Slave ist nur die Adresse im Modbus-Netzwerk, während die allgemein bezeichnete S7 - 200 - CPU-Adresse die Station der CPU im PPI-Netzwerk von Siemens ist. Die meisten Kommunikationsfunktionen der S7 - 200 - CPU werden über PPI-Netzwerke durchgeführt, wie Programmierung, Netzwerk-Lese - und Schreibkommunikation usw.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung7 Wie verstehe ich den Unterschied zwischen Modbus-Adresse und Funktionscode?

Modbus-Adressen und Modbus-Funktionscodes sind zwei Konzepte.

Laut dem Modbus-Kommunikationsprotokoll verwenden Modbus-Datenadressen in den Formen 00xxx, 10xxx, 30xxx und 40xxx, die jeweils die Adresse der digitalen Ausgabe, der digitalen Eingabe und der analogen Eingabe darstellen. Bei der Verwendung der S7 - 200 - Befehlsbibliothek gibt es eine spezifische Korrespondenz zwischen der Modbus-Datenadresse und der E / A - und Datenspeicher-Adresse des S7 - 200.

Einige Geräte geben an, dass sie das Modbus RTU-Kommunikationsprotokoll unterstützen, aber auch detaillierte Kommunikationsrahmenformate für das Lesen und Schreiben von Daten, einschließlich der Angabe der Adresse der Modbus-Station, des Datentypes, der Länge des Lesens und Schreibens usw. Der Datenrahmen hat ein spezielles Byte, das den Datentyp und die Adresse angibt, die von dieser Anweisung gelesen und geschrieben wird, und der Dateninhalt dieses Bytes wird als "Funktionscode" bezeichnet, wie Funktion 1, die den Wert des Lesens eines einzelnen / mehrerer numerischer Ausgangspunkte angibt.

Geräte oder Software, die das Modbus-Protokoll unterstützen, sollten die Modbus-Datenadresse direkt vom Benutzer eingestellt oder gesehen werden. Die Daten, auf die die Modbus-Adressen zugegriffen werden, werden durch verschiedene "Funktionen" gelesen und geschrieben. Der Funktionscode ist die unterste Ebene der Modbus-Adresse. Wenn die Partei der Modbus-Kommunikation nur ein Funktionscode für das sogenannte Modbus-Protokoll bereitstellt, ist es notwendig, die Korrespondenz zwischen dieser Funktionsnummer und der Modbus-Adresse zu verstehen.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung7Wie kann die CPU über den gleichen Kommunikationsanschluss überwacht werden, nachdem die Modbus-Befehlbibliothek gestartet wurde?

Die Modbus-Befehlbibliothek verwendet die Freie-Port - Kommunikationsfunktion der CPU, und die Kommunikationsanschlüsse, die im Freie-Port - Modus arbeiten, können nicht mit der PPI-Programmierung von Micro / WIN überwacht werden. Wenn die Kommunikation bereits besetzt ist, können Sie in Betracht ziehen:

  • Ein Kommunikationsmodul hinzufügen (z. B. EM277, CP243 - 1, EM241 usw.) erweitert einen Programmierungsschnitt
  • , um den freien Schnittmodus zu unterbrechen und den Modusschalter auf der CPU von RUN auf STOP zu wählen; Oder im RUN-Zustand bleiben und den Modbus-Modus der Bibliothek mit dem Programm beenden (siehe Bibliothek-Anwendung)

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung7Warum haben einige HMI-Software Fehler beim Lesen von realen Zahlen in S7 - 200 mit Modbus-RTU?

Bei einigen HMI-Software, die das Modbus RTU-Kommunikationsprotokoll verwenden, verarbeiten sie die realen Zahlen (Fließkommazahlen), die in den Datenspeicherregistern gespeichert sind, anders als im Siemens-Real Number Speicherformat. Die SPS von Siemens folgt dem Gesetz "High Byte Low Address, Low Byte High Address".

Das Aufbewahrungsregister der Modbus RTU wird immer in "Words (Doppel-Bytes)" angegeben, während eine reelle Zahl 4 Bytes (Doppel-Words) benötigt. Die HMI-Software kann bei der Verarbeitung die beiden "Wörter" des Haltregisters austauschen, wodurch die realen Zahlen im Siemens-Format nicht erkannt werden können. Wenn die HMI-Software diese realen Zahlen nicht verarbeiten kann, kann in der CPU S7 - 200 programmiert werden, um die hohen und niedrigen Wörter für die realen Zahlen, die in den Datenpuffer gespeichert werden (Halt-Register - Bereich), auszutauschen.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung7Warum kann manche HMI-Software mit Modbus-RTUs den Inhalt der S7 - 200 als Slave-Station lesen, aber nicht schreiben?

Möglicherweise verwendet diese Software die Modbus-Funktion 15 (Schreiben mehrerer diskreter Mengen) oder ähnliche Funktionen (Funktion 16). Das S7 - 200 - Station-Protokoll hält sich an die Konvention, "beginnend mit einer ganzigen Byte-Adressengrenze (z. B. Q0.0, Q2.0) und die Zahl der Bits mit Ganzzahlen von 8". Wenn die HMI-Software diese Regel nicht strikt durchsetzt, können Schreibfehler auftreten.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung7Unterstützt der S7 - 200 den Modbus-ASCII - Modus?

Der S7 - 200 kann die oben genannten Modelle unterstützen, aber es gibt keine vorhandene Befehlsbibliothek und muss vom Benutzer selbst programmiert werden.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung7Warum gibt es so viele Fehler bei der Kompilierung des Projekts?

Bei der Verwendung einer Befehlsbibliothek treten viele Fehler nach der Kompilierung auf, in der Regel weil der Datenspeicher für die Befehlsbibliothek nicht angegeben ist. Bitte verweisenRelevante Artikel。

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung7Unterstützt Port1 der S7 - 200 - CPUs das Modbus-RTU - Protokoll?

kann. Benutzer können selbst programmieren.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung11In der "Tipps and Tricks" - Hilfe für S7 - 200 ist Tip041 ein Modbus-RTU - Slave-Programm, auf das Benutzer verweisen können.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung7Kann der S7 - 200 ein Modbus-RTU - Kommunikationsnetzwerk bilden? Wie Netzwerk?

Der S7 - 200 kann Modbus-RTU - Netzwerke auf Basis von RS - 485 bilden. Wenn das Kommunikationsobjekt ein anderes Standard-Anschluss ist, kann es auch erforderlich sein, umgewandelt zu werden.
Siehe:RS - 485 Netzwerkzusammensetzung

Standardbefehlsbibliothek für 3STEP7 - Micro / WIN

STEP 7 - Micro / WIN V4.0 und höher verfügt über eine neue Befehlbibliothek, die jedoch ohne Installation des Siemens-Befehlbibliothekpakets nicht angezeigt werden kann.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung6Um die Standardbefehlsbibliothek von Siemens zu verwenden, muss das Befehlsbibliothekpaket von Siemens Instruction Library installiert werden. Nachdem Sie die Instruction Library installiert haben, erhalten Sie eine neue Version der Instruction Library, sofern die installierte STEP7 - Micro / WIN-Version auf der neuesten Ebene ist. Die Installation des Service Packs für Micro / WIN aktualisiert ebenfalls die Version der Bibliothek.

Benutzer können das Installationspaket für die Software Siemens Instruction Library direkt unter:

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung5Instruction Library

Die neueste Version von STEP7 - Micro / WIN V4.0 SP5 unterstützt die folgenden Standard-Befehlbibliotheken von Siemens:

  • USS Kommunikationsprotokollbibliothek:
    Die CPU-Anschlüsse Port0 und Port1 können die USS-Kommunikationssteuerung mit Micro-Master3 (MM3 - Serie) und Micro-Master4 (MM4 - Serie, wie MM420, MM430, MM440 usw.), SINAMICS G110 - Serie unterstützen, um den Betrieb des Frequenzumrichter und das Lesen und Schreiben seiner Parameter durch einige vorgeschriebene Unterprogramme und Interruptionsprogramme bequem zu steuern.
    Die USS-Bibliothek für Micro / WIN V4.0 ist jetzt für Siemens Master Drive optimiert.
  • Modbus RTU Slave-Kommunikationsprotokollbibliothek:
    ermöglicht die Unterstützung der Modbus RTU Slave-Kommunikationsfunktionen durch die CPU-Ports Port0.
  • Modbus RTU Master (Master) Kommunikationsprotokollbibliothek:Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung12
    Die CPU-Ports Port 0 und Port 1 können die Modbus-RTU - Master-Kommunikationsfunktion unterstützen.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung8Die oben genannten Kommunikationsprotokollbibliotheken nutzen die Freie-Port - Kommunikationsfunktion der S7 - 200 - CPU.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung13

Abbildung 1. Die Siemens Standardbibliothek wird in hellblau dargestellt (Micro / WIN V4.0 SP5)

Die STEP7 - Micro / WIN-Befehlbibliothek ist über zwei Wege verfügbar:

  • Installieren Sie das Zusatzpaket STEP7 - Micro / WIN32 Instruction Library V1.1, Bestellnummer 6ES7830 - 2BC00 - 0YX0.
  • Installation von STEP 7 - Micro / WIN32 V3.1 und Toolbox V1.0 (einschließlich TP Designer und der alten Bibliothek für TP070, Bestellnummer 6ES7810 - 2TC00-0YX0) und der offiziellen Version von STEP 7 - Micro / WIN32 V3.2 (oder V4.0) erhalten automatisch neue Bibliotheken. Neue und alte Versionen der Software und ihre Bibliotheken können auf einem Computer koexistieren (Upgradepakete für V4.0 können nicht koexistieren).

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung6Achtung:

  • Alle älteren CPUs21x können die neue Befehlsbibliothek nicht verwenden
  • Die älteren Versionen der Befehlsbibliothek können nicht in derselben Projektdatei mit der neuen Befehlsbibliothek koexistieren
  • Nach der Installation der neuen Version der Befehlsbibliothek können die älteren Versionen der Befehlsbibliothek nicht mehr angezeigt werden
  • Benutzerdefinierte Befehlsbibliotheken können nicht mit der Siemens-Bibliothek umbenannt werden

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung11Manchmal aufgrund von System - und Softwareinstallationsproblemen, Die Siemens Standardbibliothek ist nach der Installation möglicherweise nicht mehr sichtbar. Hier können Sie versuchen, die Standardbibliothek hinzuzufügen. Die Dateien für die Standardbibliothek befinden sich im Verzeichnis Standardlibs im Installationsverzeichnis Micro / WIN.

3.1 Verteilung der Bibliothek-Befehl - Datenbereich

Aufruf von Schritt 7 - Mciro / WIN32 V3.2 Instruction Library (Befehlbibliothek) erfordert zugewiesene Bibliothek-Befehl - Daten (Library Memory). Der Datenbereich der Bibliotheksbefehle ist der Speicherplatz für Variablen, der von den Unterprogrammen und Interruptionsprogrammen der jeweiligen Bibliothek verwendet wird.

Wenn der Datenbereich der Bibliotheksbefehle während der Programmierung nicht zugewiesen wird, ergeben sich viele der gleichen Fehler bei der Kompilierung (Fehler 18).

Schritte (Modbus RTU-Bibliothek - Befehl zum Beispiel):

Klicken Sie im Befehlbaum mit der rechten Maustaste auf Programmblock und wählen Sie im Popup-Kommingsmenü Library Memory aus. Wie in Abbildung 2 gezeigt:Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung14

Abbildung 2

Legen Sie den Datenbereich für die Bibliotheksbefehle in der Pop-up - Registerkarte fest, wie in Abbildung 2 gezeigt:Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung15

Abbildung 3. Standardmäßig beginnt es mit VB0, aber manuell auf VB2000 geändert, da es Konflikte mit dem Aufbewahrungsregisterbereich von Modbus gibt. Durch Drücken der Schaltfläche „Adresse vorschlagen" wird auch automatisch zugewiesen.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung6Sie können den Datenabschnitt mithilfe von Suggest Adresse festlegen, aber beachten Sie, dass die von der Programmierungssoftware festgelegte Datenabschnitt Adresse nur andere allgemeine Adressen berücksichtigt und keine Einstellungen wie Modbus-Daten - Aufbewahrungsregisterbereich berücksichtigt wird. Es sollte sichergestellt werden, dass es keine Überschneidungen oder Konflikte mit anderen bereits verwendeten Datenbereichen gibt. Drücken Sie die Schaltfläche Suggest Address nicht mehrmals, da dies zu Verwirrung führen kann.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung6In STAP 7 - Micro / WIN32 V3.1 gibt es eine andere Methode zur Zuweisung von Bibliotheksbefehl-Datenflächen, wobei eine Header-Adresse in der Symboltabelle festgelegt werden muss. Wir empfehlen dringend, die aktuellste Programmierungsversion zu verwenden.

3.2 Hinzufügen einer Befehlsbibliothek

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung6Hinweis:Um eine benutzerdefinierte Befehlsbibliothek hinzuzufügen, müssen Sie das Projekt schließen, das die Bearbeitung der Befehlsbibliothek bearbeitet hat, und ein neues Projekt erstellen. Wenn Sie Bibliothekbefehle aus anderen Quellen hinzufügen möchten, ist dies natürlich nicht erforderlich.

Schritt 1:Wählen Sie im Datei-Menü in Micro / Win die Option Add / Remove Libraries aus. Klicken Sie mit der rechten Maustaste auf den Zweig Bibliotheken und wählen Sie Add / Remove Libraries...Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung16

Bild 4. Wählen Sie den Befehl Bibliothek hinzufügen / entfernen

Im Dialogfeld hinzufügen / entfernen werden benutzerdefinierte Bibliotheken angezeigt, die bereits in Ihrem lokalen Micro / WIN integriert sind.Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung17

Abbildung 5. Installierte Bibliothek Befehle

Schritt 2:Drücken Sie die Schaltfläche Add, um den neu definierten Bibliotheksdateipfad auszuwählen. Benutzerdefinierte Bibliotheken werden automatisch unter dem Zweig "Libraries" des Micro / WIN-Befehlbaums hinzugefügt.Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung18

Bild 6. Wählen Sie Bibliothek Dateien

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung6Standardmäßig sucht Micro / WIN nach der Bibliotheksbefehldatei unter dem Pfad in Abbildung 8. Der Benutzer kann auch andere Wege angeben. Beachten Sie jedoch, dass die Bibliothek-Dateien auf einem nicht-wechbaren Medium aufbewahrt werden sollten, und wenn Sie eine wechbare Festplatte angegeben haben, tritt ein Fehler auf, dass die Bibliothek nicht gefunden wurde, wenn die Festplatte nicht vorhanden ist. Benutzern wird empfohlen, die Standardeinstellungen zu verwenden.

3.3 Bibliothek-Befehl entfernen

Schritt 1:Wählen Sie den Befehl Bibliothek hinzufügen / entfernenSiemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung19

Bild 7. Befehl auswählen

2. Schritt:Wählen Sie die Bibliotheksdatei, die der zu deinstallierenden Bibliothek entspricht, und drücken Sie die Taste EntfernenSiemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung20

Abbildung 8. Wählen Sie die Bibliotheksbefehlsdatei zum Entfernen

4RS - 485 - Netzwerk

Die PPI -, MPI - und PROFIBUS-DP - Protokolle, die von S7 - 200 - Systemen unterstützt werden, basieren in der Regel auf dem RS - 485 - elektrischen Netzwerk.
Der serielle Kommunikationsstandard RS - 485 verwendet einen ausgewogenen Signalübertragungsmodus, der als Differenzmodus bezeichnet wird. Die ausgewogene Übertragungsmethode kann Störungen während des Übertragungsprozesses effektiv unterdrücken.
Gleichgewichtsmodus verwendet ein Paar von Leitern, die Spannungsunterschiede zwischen den beiden Leitern nutzen, um das Übertragungssignal zu übertragen. Die beiden Leitungen wurden als A (TxD / RxD -) und B (TxD / RxD +) benannt. Wenn die Spannung von B höher ist als A, wird angenommen, dass die Übertragung ein logisches "hohes" Niveau ist; wenn die Spannung von B niedriger ist als A, wird angenommen, dass die Übertragung ein logisches "niedriges" Niveau Signal ist. Der Differenzspannungsbereich, der effektiv arbeiten kann, ist sehr breit und kann von wenigen Volt bis zu fast zehn Volt betragen.
Der RS - 485 - Kommunikationsanschluss ermöglicht hohe Kommunikationsraten, lange Kommunikationsstrecken und eine parallele Verbindung von mehreren Ports.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung6Ob die ausgewogene Kommunikationsmethode effektiv funktioniert, wird durch die Unterschiede in der gemeinsamen Modusspannung beeinflusst. Die Spannungsunterschiede zwischen den beiden Leitern der RS - 485 - Schnittstelle im Vergleich zum Signalfeld des Kommunikationsobjekts ist die Common-Mode - Spannung. Die nicht-elektrisch isolierte RS - 485 - Schnittstelle kann die Kommunikationsinterferenzen durch die Common-Mode - Spannung in einem bestimmten Bereich widerstehen.

Die Common-Mode - Unterdrückungsspannung des S7 - 200 - CPU-Anschlusses beträgt 12V. Daher ist es für diese Art von nicht isolierten RS - 485 - Anschlüssen sehr wichtig, das Gleichpotenzial zwischen den Signalen zu gewährleisten, und es ist am besten, sie miteinander zu verbinden (nicht unbedingt geerdet zu sein).

Der RS - 485 - Anschluss im S7 - 200 - System ist Halbduplex und kann keine Signale gleichzeitig senden und empfangen.
Im S7 - 200 - System, wählen Sie die geeignete Kommunikationsgerät, kann eine Baudrate von 1200 bis 12M, eine einzelne Abstand 1000m, 32 einzelne Stationen Kommunikationsnetzwerk. Mit dem Repeater kann das elektrische RS - 485 - Netzwerk auch die Kommunikationsstrecke verlängern und die Kommunikationsstationen erhöhen. Weitere Informationen finden Sie im speziellen Kapitel über Kommunikation im S7 - 200 - Systemhandbuch.
Obwohl die gängigen RS - 485 - Kommunikationsgeräte in der elektrischen Leistung im Grunde identisch sind, sind die physischen Schnittstellen vielfältig und gibt es keine einheitlichen Vorschriften.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung6 Bei den D-Sub 9 - Pin-RS - 485 - Anschlüssen im Siemens-System ist die Pin-Definition im Grunde konsistent.

4.1 RS - 485 - Kommunikation im S7 - 200 - System

Im S7 - 200 - System entsprechen die Kommunikationsanschlüsse (Programmierungsschlüsse) auf der CPU und die Kommunikationsanschlüsse auf dem EM277 - Modul den elektrischen Standards RS - 485. Aber sie unterscheiden sich auch:

  • Der Kommunikationsanschluss auf der S7 - 200 CPU ist nicht isoliert, die maximale Kommunikationsrate ist 187,5 K-Ports
  • Der Kommunikationsanschluss auf dem EM277 ist isoliert, die maximale Kommunikationsrate ist 12M und die Rate adaptiv

Die folgenden drei Protokolle können auf der Basis der RS - 485 - Hardware kommunizieren:

  • PPI-Papier (einschließlich Programmierungskommunikation, Kommunikation zwischen S7 - 200 CPU, S7 - 200 CPU und HMI usw.)
  • MPI (Kommunikation zwischen S7 - 200 CPU und S7-300 / 400 CPU, S7 - 200 CPU und HMI, EM277 und HMI, etc.)
  • PROFIBUS-DP (Kommunikation zwischen EM277 und anderen PROFIBUS-DP - Master-Stationen)

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung21Tatsächlich können die drei Protokolle gleichzeitig über ein RS - 485 - Netzwerk kommunizieren, wenn die Adressen der einzelnen Kommunikationsstationen unterschiedlich sind und die Kommunikations-Baud - Rate gleich ist. Natürlich ist das Protokoll, welches eine Website unterstützt, durch ihre eigenen Bedingungen begrenzt.

Wenn wir also die Kommunikation in den oben genannten elektrischen Netzwerken untersuchen, sollten wir beachten, dass sie alle von den elektrischen Grundlagen des RS - 485 - Netzwerks abhängen. Die Hardware für die oben genannten Netzwerke ist im Grunde identisch.

Hardware-Komponente des 5RS - 485 - Netzwerks

Im S7 - 200 - System, ob es sich um ein PPI -, MPI - oder RPOFIBUS-DP - Netzwerk oder ein Modbus-RTU - Netzwerk handelt, sind die Hauptkomponenten die gleichen:

  • PROFIBUS-Kabel: Es gibt eine Vielzahl von Kabelmodellen, von denen die grundlegendste ist PROFIBUS FC.(Fast Connect) Standardkabel (Bestellnummer 6XV1 830 - 0EH10)
  • PROFIBUS-Netzwerkanschlüsse: Netzwerkanschlüsse gibt es auch in verschiedenen Formen, z. B. unterschiedliche Ausgangswinkel usw.

5.1 Verbindung Netzwerkanschlüsse

a. Kabel und Strippler. Mit der FC-Technologie müssen nackte Kupferdrähte nicht abgeschält werden.Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung22

Abbildung 1. Schleifen Sie das PROFIBUS-Kabel mit einem Schnellstripper (FCS, Bestellnummer 6GK1905 - 6AA00).

b.Öffnen Sie den PROFIBUS-Netzwerkanschluss.Öffnen Sie zunächst die Kabelspannungsfreisetzung und öffnen Sie dann die Kerndrahtverriegelung.Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung23

Bild 2.Öffnen Sie den PROFIBUS-Anschluss

c. Entfernen Sie die Schutzschicht außerhalb des PROFIBUS-Kabels, legen Sie den Kern in das Kernschloss entsprechend der entsprechenden Farbmarkierung ein und drücken Sie dann den Schloss mit Kraft nach unten, so dass der innere Leiter berührt wird. Es sollte darauf geachtet werden, dass die abgeschliffene Schirmschicht des Kabels mit der Schirmverbindungspressplatte in Kontakt kommt.Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung24

Bild 3. Einfügen des Kabels

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung6Aufgrund der relativ hohen Kommunikationsfrequenz verwendet das Kommunikationskabel eine doppelte Erdung. Beide Kabel müssen mit einem Schirm verbunden sein.

D. Zurücksetzen Sie die Kabelpressmaschine, schrauben Sie die Schrauben, um den Einfluss der äußeren Zugkraft auf die innere Verbindung zu beseitigen.

5.2 Netzwerkanschlüsse

Netzwerkanschlüsse werden hauptsächlich in zwei Arten unterteilt: mit und ohne Programmierungsschnittstellen. Stecker ohne Programmieranschluss für allgemeine Netzwerkverbindung, Stecker mit Programmieranschluss kann während der Netzwerkverbindung immer noch einen Programmieranschluss für die Programmierung oder die Verbindung zu HMI, etc. bieten.Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung25

Bild 4. Links Netzwerkanschluss ohne Programmieranschluss (Bestellnummer: 6ES7 972 - 0BA52 - 0XA0)
Rechts befindet sich der Netzwerkanschluss mit Programmieranschluss (Bestellnummer: 6ES7 972 - 0BB52 - 0XA0)

5.3 Leitungsnetzwerkstruktur

Der Netzwerkstecker wird über ein PROFIBUS-Kabel angeschlossen und bildet eine Busnetzstruktur.Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung26

Abbildung 5. Busnetzwerkverbindung

In der obigen Abbildung werden die Netzwerkanschlüsse A, B und C an die Kommunikationsanschlüsse der drei Kommunikationsstationen angeschlossen; Kabel a verbindet die Stecker A und B, Kabel b verbindet die Stecker B und C. Die Linienstruktur kann so erweitert werden.

Beachten Sie die Einstellung des "Terminal-Widerstands" - Schaltens im Kreis. Der Stecker des Netzwerkterminals, sein Widerstandsschalter des Terminals muss in der Position "ON" gesetzt werden; der Stecker der mittleren Station, sein Widerstandsschalter des Terminals sollte in der Position "OFF" gesetzt werden.

5.4 Terminationswiderstand und Biaswiderstand

Ein normales RS - 485 - Netzwerk verwendet einen Terminationswiderstand und einen Biaswiderstand. Auch bei sehr kurzen Netzwerkverbindungen, vorübergehenden oder Laboruntersuchungen können die Terminationen und Biaswiderstände nicht verwendet werden.

Terminationswiderstand: Der Widerstand, der an beiden Enden des linearen Netzwerks (an den beiden Kommunikationsanschlüssen am weitesten voneinander entfernt) parallel an einem Paar Kommunikationsleitungen angeschlossen ist. Gemäß der Übertragungsleitungstheorie kann der Terminationswiderstand die reflektierten Wellen im Netz absorbieren und die Signalstärke effektiv erhöhen. Der Wert der beiden Terminationswiderstände, die parallel angeschlossen sind, sollte im Wesentlichen gleich der Eigenschaftsimpedanz der Übertragungsleitung auf der Kommunikationsfrequenz sein Biaswiderstand: Biaswiderstand wird verwendet, um die relative Beziehung zwischen A und B-Signalen zu gewährleisten, wenn die elektrische Situation komplex ist, um die Zuverlässigkeit von "0", "1" Signalen zu gewährleisten.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung11Der PROFIBUS-Netzwerkstecker von Siemens verfügt über einen Terminations - und Biaswiderstand, der bequem durch einen Schalter eingeschaltet oder ausgeschaltet werden kann. Die Werte der Terminations - und Biaswiderstände entsprechen vollständig den Anforderungen für die Kommunikationsanschlüsse von Siemens und PROFIBUS-Kabel.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung11Schließen Sie den Endwiderstandsschalter des Netzwerksteckers im Netzwerk, um die Signalübertragung eines Teils des Netzwerks hinter dem Stecker sehr bequem abzuschalten.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung6Bei der Kommunikation mit anderen Geräten (mit einem PROFIBUS-Kabel) kann der Kommunikationsanschluss nicht D-SUB9 - Pin-Typ sein oder die Pin-Definition völlig anders sein. Wie Siemens MM4x0 Frequenzumrichter, RS - 485 Kommunikationsanschluss in Form von Terminalsverdrahtung, in diesem Fall müssen Sie zusätzlich einen Terminalswiderstand verbinden, kann Siemens einen relativ regulären externen Widerstand liefern. Für andere Geräte können Sie sich auf die technischen Daten im Systemhandbuch S7 - 200 beziehen.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung6 Die Größe des Terminationswiderstands und des Biaswiderstands im Siemens Netzwerkstecker entspricht der Eigenschaftsimpedanz des PROFIBUS-Kabels von Siemens, und es wird dringend empfohlen, dass der Benutzer das PROFIBUS-Kabel und den Netzwerkstecker von Siemens verwendet. Man kann viele Ärger vermeiden.

Siemens S7 - 200 Modbus RTU KommunikationsmethodeAbbildung6Denken Sie daran, das Motto des Netzwerks: Sie täuschen es, es täuscht Sie!

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.