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 Feed0x0A
(auch bekannt als\n
) sind die letzten beiden Bytes des Pakets, sowohl beim Senden als auch beim Empfangen.
|
Gross-/Kleinschreibung nicht massgebend |
|
|
|
Beginn des Pakets |
|
bezeichnet einen Lesevorgang |
|
bezeichnet einen Schreibvorgang |
|
Ende des Pakets |
|
besondere Begrenzungszeichen |
|
|
|
|
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.
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 |
[01024] |
10 |
Ende 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! |