Protokollspezifikationen

Asycube-Kommunikationsprotokoll

Das Host-Controller-Kommunikationsprotokoll verwendet nur ASCII-Zeichen und ist für Kommunikationsnetze konzipiert. Der Host-Computer ist immer der Client. Server übertragen nur, nachdem sie eine Nachricht vom Client erhalten haben.

Format der Befehle / Antworten
Command: Begin, Command, End, CRLF
Response: Begin, Response, End, CRLF
Beginn

Das ASCII-Zeichen { muss das erste Zeichen des Pakets sein, das die Erkennung eines neuen Pakets ermöglicht.

Befehl

Dieses Feld enthält ASCII-Zeichen, die den Zweck der Nachricht angeben. Die verfügbaren Befehle sind weiter unten in der Dokumentation aufgeführt.

Antwort

Dieses Feld enthält ein festes Format, das die Validierung der Anweisung angibt. Der Asycube gibt für jede Anweisung eine entsprechende Antwortmeldung zurück.

Ende

Das ASCII-Zeichen } muss direkt nach dem Befehl oder der Antwort platziert werden.

CRLF

Die ASCII-Zeichen Carriage Return 0x0D (auch bekannt als \r) und Line Feed 0x0A (auch bekannt als \n) sind die letzten beiden Bytes des Pakets, sowohl beim Senden als auch beim Empfangen.

Tab. 16 ASCII-Zeichen

0 bis 9

Gross-/Kleinschreibung nicht massgebend

a bis z, A bis Z

{

Beginn des Pakets

:

bezeichnet einen Lesevorgang

=

bezeichnet einen Schreibvorgang

}

Ende des Pakets

( oder ) oder ;

besondere Begrenzungszeichen

CR

0x0D Carriage Return (Wagenrücklauf)

LF

0x0A Line Feed (Zeilenvorschub)

Bemerkung

Für weitere Informationen über alle verfügbaren Befehle siehe Kapitel Befehle.

Fehlercodes

Die serielle Antwort gibt einen Fehlercode in Form eines ganzzahligen Wertes zurück. Sie müssen den Wert in einen Binärwert umwandeln, um das betroffene Fehlerbit zu erhalten. Eine Antwort {Er00004} bedeutet zum Beispiel, dass das System das erste Zeichen des Befehls nicht erkannt hat.

Tab. 17 Kommunikationsfehlercodes

Binär

Fehlerbit

Nachricht

[00001]

0

Syntaxfehler in der Zeichenfolge der Nachricht!

[00002]

1

Fehler beim Konvertieren der Daten von String zu Ganzzahl!, even/off je nach Lesen/Schreiben

[00004]

2

Unbekanntes erstes Zeichen des Befehls!

[00008]

3

Unbekanntes zweites Zeichen des Befehls!

[00016]

4

Parameterwertfehler!

[00032]

5

Fehler aufgrund eines Wertes 0 für die Dauer der Vibrationssequenz!

[00064]

6

Fehler beim Zugriff auf den Vibrationssatz oder aufgrund von Sequenz-ID 26!

[00128]

7

Nicht verwendet

[00256]

8

Empfangspuffer ist voll!

[00512]

9

Ende der Nachricht } empfangen aber Empfangspuffer ist voll!

[01024]

10

Ende der Nachricht } empfangen aber fehlender Beginn der Nachricht {!

[02048]

11

[04096]

12

Framing-Fehler festgestellt!

[08192]

13

Paritätsfehler festgestellt!

[16384]

14

Überlauffehler festgestellt!

[32768]

15

Kontrolle der Frist für den Empfang der vollständigen Nachricht!