Schnittstelle, Schnittstellendaten, Protokoll – Baumer N 140 Benutzerhandbuch
Seite 5: Prüfsumme
N 140
www.baumer.com
5
3. Schnittstelle
3.1. Schnittstellendaten
Typ: RS485
Baudrate: 19200
Parity: No
Datenbits: 8
Stoppbits: 1
Handshake: Nein
Prüfsumme: Ja
(CRC)
* Zur Verhinderung von BUS-Kollisionen ist eine minimale
Antwortverzögerung von mindestens 1 ms (Default-Einstellung)
vorgesehen, d.h. vom letzten Bit der Anfrage bis zum Senden des 1. Bits
der Antwort der SPA.
Anwenderseitig ist zu beachten, dass aufgrund der minimalen
Antwortverzögerung von 1 ms, die Dauer der Bus-Umschaltung nach
senden des letzten Bits, nicht länger als 1 ms betragen darf.
Diese voreingestellte Verzögerungszeit kann über die serielle Schnittstelle
in Schritten von 0,1 ms im Bereich von 0,1...60 ms verändert werden.
Siehe Befehl „x“ (78h).
Antwortverzögerung*: 0,1...60
ms
BUS-Umschaltung**: <0,1
ms
** BUS-Umschaltzeit ist die Zeit , die, die SPA benötigt um nach dem
Zurücksenden an den Host wieder auf Empfang umzuschalten.
3.2. Protokoll
Die Spindelpositionsanzeige N 140 benützt ein ASCII-Protokoll (Klartextprotokoll). Die Protokolllänge beträgt,
je nach Befehl, 5 bis 17 Bytes.
Byte
Hex-Code
Bezeichnung
Wertebereich
1
01H
SOH = Startzeichen fest auf 01h
2
XXh
Adr = Adresse
00 ... 31dez + 20h Offset (Adresse 00 = 20h)
3
XXh
Cmd = Befehlscode definierte Befehle
4-n
[XXh..XXh]
[Data] = Daten
20h-7Fh
n+1
04h
EOT = Endzeichen
fest auf 04h
n+2
XXh
CRC = Prüfsumme
00h ... FFh
3.3. Prüfsumme
Zur Verbesserung der fehlerfreien Datenübertragung wird beim Senden nach dem Endzeichen (EOT) ein
Prüfsummenbyte CRC an den zu übertragenden String angefügt. Beim Empfang eines Befehls wird das
empfangene CRC-Byte mit dem selbsterrechneten CRC-Byte verglichen.
Algorithmus:
1) Prüfsummenbyte rücksetzen.
2) Prüfsummenbyte um 1 Bit nach links rotieren.
3) Ergebnis mit erstem Datenbyte XOR verknüpfen.
4) Ergebnis um 1 Bit nach links rotieren.
5) Ergebnis mit zweitem Datenbyte XOR verknüpfen.
:
x) Ergebnis um 1 Bit nach links rotieren.
y) Ergebnis mit letztem Datenbyte (immer 04H) XOR verknüpfen.
z) Ergebnis als CRC nach dem Endzeichen (04H) in den Sendestring einfügen.
Hinweis: 1101 0000
RL 1010 0001
Achtung: Beim rotieren wird Bit 7 in Bit 0 geschoben
Beispiel:
Sendestring ohne CRC = 01h 20h 43h 04h
CRC-Byte
= 0Ah
0000 0000
RL
0000 0000 XOR 0000 0001 (01h)
=
0000 0001
0000 0001
RL
0000 0010 XOR 0010 0000 (20h)
=
0010 0010
0010 0010
RL
0100 0100 XOR 0100 0011 (43h)
=
0000 0111
0000 0111
RL
0000 1110 XOR 0000 0100 (04h)
=
0000 1010
= CRC
Legende: RL = rotate left; XOR = Antivalenz-Verknüpfung