Betriebsanleitung
8.1.3
Beispiele für die Bildung von Adressen
Soll z.B. ein VS20 mit der Geräte-ID (Seriennummer) 0001 adressiert werden, geschieht das wie
folgt:
Klassen-ID für Sichtweite ist 3d = 3h
Geräte-ID (Seriennummer) ist z.B. 001d = 001h
Setzt man die Klassen- und Geräte-ID zusammen ergibt sich eine Adresse 3001h (12289d).
8.1.4
Beispiel einer Binärprotokoll-Abfrage
Soll z.B. ein Sichtweitesensor mit der Geräte-ID (Seriennummer) 0001 nach der aktuellen
Sichtweite (0 – 2000m) von einem PC abgefragt werden, geschieht das wie folgt:
Sensor:
Klassen-ID für Sichtweitensensor ist 3 = 3h
Geräte-ID (Seriennummer) ist 0001 = 0001h
Setzt man die Klassen- und Geräte-ID zusammen ergibt sich eine Ziel-Adresse 3001h.
PC:
Klassen-ID für PC (Master-Gerät) ist 15 = Fh
PC-ID ist z.B. 22 = 016h
Setzt man die Klassen- und PC-ID zusammen ergibt sich eine Absender-Adresse F016h
Die Länge <len> beträgt für den Befehl Onlinedatenabfrage 4d = 04h,
das Kommando für Onlinedatenabfrage ist 23h,
die Versionsnummer des Befehls ist 1.0 = 10h.
In der <payload> steht die Kanalnummer; wie aus der Kanalliste ersichtlich ist, steht die aktuelle
Sichtweite 0 – 2000m in Kanal 601d = 259h
Die berechnete CRC beträgt D40Dh
Die Anfrage an das Gerät:
SOH
<ver>
<to>
1
2
3
4
01h
10h
01h 30h
Die Antwort des Gerätes:
SOH
<ver>
<to>
1
2
3
4
01h
10h
16h
F0h
<value>
15
16
17
18
00h
00h
FAh
44h
<status>
= Gerät o.k.
<typ>
= Datentyp des folgenden Wertes; 16h = Float (4 Byte, IEEE Format)
<value>
= 44FA0000h entspricht als Floatwert 2000,00
Die Sichtweite beträgt also 2000m.
Mit Hilfe der Checksumme (115Eh) kann die korrekte Datenübertragung überprüft werden.
ACHTUNG: Bei der Übertragung von Word- und Float-Variablen wie z.B. der Adressen oder der
CRC gilt Little Endian (Intel, lowbyte first). Das bedeutet erst das LowByte und dann das HighByte.
<from>
<len>
STX
5
6
7
8
16h
F0h
04h
02h
<from>
<len>
STX
5
6
7
8
01h
30h
0Ah
02h
ETX
<cs>
EOT
19
20
21
03h
5Eh
11h
G. Lufft Mess- und Regeltechnik GmbH, Fellbach, Germany
<cmd>
<verc>
<channel>
9
10
23h
10h
59h
<cmd> <verc> <status>
9
10
11
23h
10h
00h
22
04h
ETX
<cs>
11
12
13
14
02h
03h
0Dh
<channel>
<typ>
12
13
14
59h
02h
16h
VS20
EOT
15
16
D4h
04h
17