Schnittstelle, Schnittstellendaten, Protokoll – Baumer N 141 Benutzerhandbuch

Seite 5: Prüfsumme

Advertising
background image

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

Advertising