Modbus-Benutzerschnittstelle - SBC-support
Modbus-Benutzerschnittstelle - SBC-support
Modbus-Benutzerschnittstelle - SBC-support
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Saia-Burgess Controls AG<br />
Das <strong>Modbus</strong>-Protokoll<br />
<strong>Modbus</strong>-Kommunikation<br />
Client<br />
Server<br />
Anforderung<br />
initiieren<br />
1<br />
Funktionscode<br />
Datenanforderung<br />
Fehler in der Aktion erkannt<br />
Fehler initiieren<br />
Ausnahmefunktionscode<br />
Ausnahmecode<br />
Antwort empfangen<br />
Abbildung 3: <strong>Modbus</strong>-Transaktion (Ausnahmereaktion)<br />
Im seriellen Modus können bis zu 247 Slaves im Bus vorhanden sein, jeder mit mindestens<br />
einer eindeutigen Adresse, Einheitsbezeichner (UID) genannt.<br />
RTU ist der Standardmodus für einen <strong>Modbus</strong> in seriellen Leitungen. Dieser Modus<br />
ist zeitgesteuert: Intercharacter- und Interframe-Zeiten müssen berücksichtigt werden,<br />
anderfalls wird das Protokoll nicht angenommen.<br />
Für einen <strong>Modbus</strong> über eine serielle Leitung kann auch der ASCII-Modus verwendet<br />
werden. In diesem Fall wird die Kommunikation über bestimmte Start- und Stoppzeichen<br />
gesteuert. Da jedoch jedes Datenbyte mit 2 Zeichen gesendet wird, werden<br />
zweimal so viele Daten übertragen wie beim RTU.<br />
Die <strong>Modbus</strong>-Kommunikation basiert auf bestimmten Frames, die mindestens einen<br />
Funktionscode und die benötigten Daten umfassen. Bei einem <strong>Modbus</strong> über eine<br />
serielle Leitung wird ein CRC und eine Adresse angehängt. Die Adresse kann auch<br />
für einen <strong>Modbus</strong> über IP verwendet werden.<br />
ADU<br />
Zusätzliche Adresse<br />
Funktionscode<br />
Daten<br />
Fehlerprüfung<br />
PDU<br />
Abbildung 4: Allgemeiner <strong>Modbus</strong>-Frame<br />
2 Anforderungsarten können gesendet werden:<br />
■<br />
Leseanforderungen: Daten = <strong>Modbus</strong>-Adresse + Anzahl zu lesender Elemente<br />
→ Antwort: Daten = Anzahl der Datenbytes + Daten<br />
■<br />
Schreibanforderungen: Daten = <strong>Modbus</strong>-Adresse + Anzahl zu schreibender Elemente<br />
+ zu schreibende Daten<br />
→ Antwort: Daten = Anforderungsdaten<br />
■<br />
Falls ein Fehler bezüglich der angeforderten <strong>Modbus</strong>-Funktion auftritt, sendet<br />
der Server eine Ausnahmeantwort mit einem Ausnahmefunktionscode:<br />
→ Ausnahmefunktionscode = Anforderungsfunktionscode + 0x80, Daten = Ausnahmecode<br />
Handbuch <strong>Modbus</strong>-<strong>Benutzerschnittstelle</strong> │ Dokument 26 / 866 DE03 │ 2013-10-25 1-2