Schnittstelle, Schnittstellendaten, Protokoll – Baumer N 143 Benutzerhandbuch
Seite 5: Prüfsumme

N 143
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)
Antwortverzögerung*: 0,1...60
ms
* Zur Verhinderung von BUS-Kollisionen ist eine minimale Antwortverzöger-
ung von mindestens 1 ms 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 Antwortver-
zö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).
Bus-Umschaltzeit**
<0,1 ms
**BUS-Umschaltzeit ist die Zeit, die, die SPA benötigt um nach dem Zurück-
senden an den Host wieder auf Empfang umzuschalten.
3.2. Protokoll
Die Spindelpositionsanzeige 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-FFh
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 Ende-Zeichen (EOT) ein
Prüfsummenbyte CRC an den zu übertragenden String angefügt. Beim Empfang eines Befehls wird das emp-
fangene 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