Schnittstelle, Schnittstellendaten, Protokoll – Baumer N 143 Benutzerhandbuch

Seite 5: Prüfsumme

Advertising
background image

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

Advertising