24.06.2014 Aufrufe

Modbus-Benutzerschnittstelle - SBC-support

Modbus-Benutzerschnittstelle - SBC-support

Modbus-Benutzerschnittstelle - SBC-support

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!