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.
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:
<response_code>␣<further information>\n
Wenn die Antwort mehr als eine Zeile enthält, wird die Anzahl der Zeilen nach <response_code> angefügt.
<response_code>␣<n>␣<further information>\n
<further information>\n
...
<further information>\n
| <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.
| 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 |