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

N 141
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 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 Ende-Zeichen (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 Endezeichen (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