Schnittstelle, Schnittstellendaten, Protokoll – Baumer N 140 Benutzerhandbuch

Seite 5: Prüfsumme

Advertising
background image

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

Advertising