Anhang, Anhang a. modbus-angaben, A.1 modbus-spezifikationen und meldungsformate – Banner EZ-ARRAY USB Serial Adapter Benutzerhandbuch
Seite 41

Ident-Nr. 140060 Rev. A
39
Banner Engineering Corp.
•
Minneapolis, U.S.A.
www.bannerengineering.com • Tel: 763.544.3164
Handbuch für A-GAGE EZ-ARRAY
Anhang
A.1 Modbus-Spezifikationen und Meldungsformate
Die neuesten Angaben zu Modbus-Protokoll und Spezifikationen
finden Sie unter
EZ-ARRAY ist mit Modbus v1.1a konform. EZ-ARRAY verwendet
den RTU-Übertragungsmodus. Der RTU-Meldungsrahmen wird
unten dargestellt.
Tabelle A–1. RTU-Meldungsrahmen
Slave-
Adresse
Funkti-
onscode
Daten
Zyklische
Blockprüfung
(CRC)
1 Byte
1 Byte
0 bis 252
Bytes(s) (oberes
Byte, unteres
Byte)
2 Bytes (CRC tief,
CRC hoch)
Der Slave-Adresse kann ein Wert im Bereich von 1-247 zuge-
wiesen werden. Es werden drei Funktionscodes unterstützt:
(0x03) Lesen von Halteregistern
(0x04) Lesen von Eingangsregistern
(0x10) Schreiben mehrerer Halteregister
Die Daten in den Registern werden in Big-Endian-Reihenfolge
übertragen (OBERES Byte, UNTERES Byte).
A.1.1 Lesen von Halteregistern (0x03)
Dieser Funktionscode wird verwendet, um den Inhalt eines
zusammenhängenden Blocks von EZ-ARRAY-Halteregistern
zu lesen. Der Befehl gibt die Startadresse und die Anzahl der
Register an. EZ-ARRAY setzt ein Direktadressierungsschema
ein. Zum Beispiel wird auf das Halteregister bei Adresse 40001
zugegriffen, indem Adresse 40001 (0x9C41) direkt gelesen wird
(d. h. die Startadresse ist kein Versatz). Die Registerdaten in der
Antwortmeldung werden als zwei Bytes pro Register verpackt.
Für jedes Register werden die Daten in Big-Endian-Reihenfolge
zurückgesendet (OBERES Byte, UNTERES Byte).
Anforderung
Funktionscode
1 Byte
0x03
Startadresse
2 Bytes
0x0000 to 0xFFFF
Anzahl Haltere-
gister
2 Bytes
0x0001 to 0x007D
Antwort
Funktionscode
1 Byte
0x03
Bytezahl
1 Byte
2 X N*
Halteregister
N X 2 Bytes
* “N” ist die Anzahl der Halteregister
Fehler
Fehlercode
1 Byte
0x83
Ausnahmecode
1 Byte
1 bis 4
Beispiel A–1. Lesen von Halteregistern
Anforderung
Antwort
Feldbezeichnung
(Hex) Feldbezeichnung (Hex)
Slave-Adresse
41
Slave-Adresse
41
Funktion
03
Funktion
03
Startadresse (OBERES
Byte)
9C
Bytezahl
06
Startadresse (UNTERES
Byte)
41
Register 40001
(OBERES Byte)
02
Anzahl Register (OBE-
RES Byte)
00
Register 40001
(UNTERES Byte)
2B
Anzahl Register (UNTE-
RES Byte)
03
Register 40002
(OBERES Byte)
00
CRC (UNTERES Byte)
75
Register 40002
(UNTERES Byte)
00
CRC (OBERES Byte)
4F
Register 40003
(OBERES Byte)
00
Register 40003
(UNTERES Byte)
64
CRC (UNTERES
Byte)
34
CRC (OBERES
Byte)
B9
Die Inhalte der Adressen 40001, 40002 und 40003 sind die
Zweibyte-Werte 0x022B (dezimal 555), 0x0000 (dezimal 0) und
0x0064 (dezimal 100).
A.1.2 Lesen von Eingangsregistern (0x04)
Dieser Funktionscode wird verwendet, um 1 bis 125 zusammen-
hängende EZ-ARRAY-Eingangsregister zu lesen. Der Befehl gibt
die Startadresse und die Anzahl der Register an. EZ-ARRAY
setzt ein Direktadressierungsschema ein. Zum Beispiel wird
auf das Eingangsregister bei Adresse 30001 zugegriffen, indem
Adresse 30001 (0x7531) direkt gelesen wird (d. h. die Startad-
resse ist kein Versatz). Die Registerdaten in der Antwortmeldung
werden als zwei Bytes pro Register verpackt. Für jedes Register
werden die Daten in Big-Endian-Reihenfolge zurückgesendet
(OBERES Byte, UNTERES Byte).
Anhang A. Modbus-Angaben