<< Click to Display Table of Contents >> Navigation: Irinos EC Benutzerhandbuch > Software-Schnittstelle > ASCII- / Telnet-Schnittstelle |
Für einfachste Anwendungen bietet das Irinos EC eine ASCII-basierte Text-Schnittstelle. Dies ist vergleichbar mit der früher üblichen Anbindung von Mess-Hardware über RS232.
Der Zugriff auf die ASCII-Schnittstelle kann entweder über das TCP-basierte Telnet oder über UDP erfolgen. Während das ASCII-Protokoll selbst identisch ist, unterscheiden sich die beiden Möglichkeiten wie folgt:
|
Telnet / TCP |
UDP |
Port-Nummer |
TCP 22515 |
UDP 22515 |
Paketverlust |
Bei Paketverlust automatische Wiederholung der Datenübertragung auf Protokoll-Ebene (TCP). |
Bei Paketverlust auf UDP-Ebene ist eine manuelle Wiederholung des Datenaustauschs erforderlich. |
Latenzzeit |
Theoretisch sehr lange Latenzzeit möglich. Bei 1:1-Ethernet-Verbindung in der Praxis jedoch vernachlässigbar. |
Sehr kurze Latenzzeiten möglich. |
Max. Text-Länge |
16000 Zeichen/Bytes |
1450 Zeichen/Bytes bei 1:1-Ethernet-Verbindung |
Die Daten werden immer im Frage -> Antwort - Verfahren ausgetauscht, d.h. die Mess-Software sendet eine Anfrage an das Irinos-System und dieses sendet eine Antwort. Jede Anfrage / Antwort besteht aus einem Art "Header", den eigentlichen Daten sowie einer Ende-Kennung.
Über den Header können anhand einer Kennung verschiedene Befehle unterschieden werden. Die Nachfolgenden Daten sind je nach Frage/Antwort optional. Die Ende-Kennung wird über "CarriageReturn (CR)" und "LineFeed (LF)" beendet und wird im Folgenden als {CRLF} dargestellt. Dabei hat CR den ASCII-Code 0x0D und LF den ASCII-Code 0x0A.
Anmerkung: Das Irinos-System erkennt auch nur CR oder nur LF als Ende, sendet in der Antwort aber immer beides zurück.
Das Protokoll wird anhand folgender Beispiele erläutert:
Befehl |
Anfrage |
Antwort |
Anmerkungen |
Dummy-Befehl |
?Nop1{CRLF} |
=Nop1#OK{CRLF} |
Hilfreiche für Test der Kommunikation sowie als "Heartbeat". |
Messwerte abfragen |
?MVal1{CRLF} |
=MVal1#0;-3;-12189;2{CRLF} |
Beispiel für 4 Messkanäle. Bei mehr Messkanäle ist die Antwort entsprechend länger. |
Digitale Eingänge abfragen |
?DIn1{CRLF} |
=DIn1#0;1;0;1;1;0;0;0;0;0;0;1;0;1;0;1{CRLF} |
Beispiel für 16 digitale Eingänge. Werte können 0 oder 1 sein. |
Digitale Ausgänge setzen |
?DOutSet1#1;1;0;0;1;0;0;0;0;0;0;0;1;1;1;1{CRLF} |
=DOutSet1#1;1;0;0;1;0;0;0;0;0;0;0;1;1;1;1{CRLF} |
In der Antwort wird der Ist-Zustand aller digitalen Ausgänge zurückgegeben. Dass können auch mehr sein, als in der Anfrage, wenn hier nur ein Teil der Ausgänge gesetzt wurde. |
Messwerte und digitale Eingänge gemeinsam abfragen |
?MValDIn1{CRLF} |
=MValDIn1#0;-3;-12189;2;0;1;0;1;1;0;0;0;0;0;0;1;0;1;0;1{CRLF} |
Kombination aus "MVal1" und "DIn1". Zuerst kommen die Messwerte, dann die digitalen Eingänge. |
Tipp: Zu Testzwecken kann der Datenaustausch auch via Telnet über zahlreiche Terminal-Programme erfolgen, wie zum Beispiel "RealTerm".
|