Protokoll-Spezifikation

Die Kommunikation mit EYE+ erfolgt über ein einfaches textbasiertes ASCII-Protokoll. Der Client sendet einen Befehl, EYE+ antwortet mit einem Statuscode, gefolgt von einer Nachricht.

Hinweis: Ein ASCII-Befehl muss von einem eindeutigen Steuerzeichen LF (\n bzw ASCII-Code 0x0A) für den Zeilenumbruch gefolgt werden.

Befehl

Der Befehl muss in Kleinbuchstaben mit unterstrichenen Trennzeichen geschrieben werden (z. B. get_parameter). Zwischen dem Befehl und dem Parameter sowie zwischen dem Parameter und dem Wert muss ein Leerzeichen stehen. Im Abschnitt Befehle finden Sie alle verfügbaren Befehle.

Kopieren
ohne Parameter oder Wert
<command>\n
Kopieren
mit Parameter aber ohne Wert
<command>_<parameter>\n
Kopieren
mit Parameter aber Wert
<command>_<parameter>_<value>\n

Antwort

Der Server antwortet auf jeden Befehl des Clients mit einem Code, der den Client über den Status des Befehls informiert. Die Antwort läuft immer auf die gleiche Weise ab:

Kopieren
<response_code>␣<further information>\n

Wenn die Antwort mehr als eine Zeile enthält, wird die Anzahl der Zeilen nach <response_code> angefügt.

Kopieren
<response_code>␣<n>␣<further information>\n
<further information>\n
...
<further information>\n
Antwort-Codes
<response_code> (ASCII) Beschreibung
200 Der Befehl wurde erfolgreich ausgeführt
201 <n> Der Befehl wurde erfolgreich ausgeführt und enthält <n> Zeilen in der Ausgabe
4xx Fehler vom Client (Ungültige Parameter, Befehl im aktuellen Zustand nicht zulässig,...)
5xx Fehler vom Server (Bildaufnahme Timeout, Kalibrierung ungültig, ...)

Fehlercodes

Im Falle eines Fehlers folgt auf den Fehlercode eine eindeutige Beschreibung des Fehlers.

Fehler-Codes
ASCII Beschreibung
401 Der empfangene Befehl ist unbekannt
402 Das angegebene Argument ist für diesen Befehl nicht gültig
403 Das System befindet sich nicht im Produktionsstatus. Stellen Sie sicher, dass ein Rezept in der Produktion gestartet wurde.
407 Das angeforderte Programm wurde nicht gefunden. Prüfen Sie die angewählte Programmnummer.
409 Das System befindet sich nicht in einem gültigen Zustand
503 Timeout erreicht
519 Kalibrierung ungültig. Prüfen Sie Kamera- und Roboterkalibrierung
597 Interner Fehler im Bildverarbeitungsablauf