Protokollbeschreibung

Für die Kommunikation zwischen der Crestron Steuerung und der TwinCAT 3 Steuerung wurde ein textbasiertes Übertragungsprotokoll für TCP/IP definiert. Die TwinCAT 3 Steuerung ist TCP-Server und die Crestron Steuerung ist TCP-Client. Es wird der TCP-Port 48798 verwendet. Die Crestron Steuerung sendet zyklisch ein KeepAlive-Paket um die Verbindung beim TCP-Server aufzubauen. Einzelne Befehle können sowohl von der Crestron Steuerung, als auch von der TwinCAT 3 Steuerung initiiert werden. Von einer Steuerung wird ein Request-Datenpaket versendet. Die andere Steuerung antwortet immer mit einem Response-Datenpaket.

Jedes Datenpaket beginnt mit dem Startzeichen STX (0x02) und endet mit ETX (0x03) und der String-Terminierung (0x00). Das erste Feld eines Datenpakets definiert den Typ des Datenpakets (Request, Response, ..). Der weitere Aufbau ist dann abhängig vom jeweiligen Typ des Datenpakets. Alle Zahlenwerte werden im ASCII-Format übertragen, wobei zuerst das höherwerte Byte (MSB) übertragen wird. Zahlenwerte werden als Hexadezimalzahlen übertragen. Die Invoke-Id ist eine 32-Bit Zufallszahl, die bei dem Response wieder zurückgegeben wird. Dadurch wird sichergestellt, das der empfangene Response auch zu dem zuvor versendeten Request gehört. Eine genaue Beschreibung der jeweiligen Datenpakte enthält die folgende Datei.

Die folgende Grafik zeigt beispielsweise die Datenpakete zum Lesen mehrerer Signale aus einer Crestron Steuerung. Die TwinCAT 3 Steuerung versendet den Request, in dem die gewünschten Elemente angegeben werden (Startoffset und Anzahl der Elemente). Die Crestron Steuerung antwortet mit einem Datenpaket in dem die einzelnen Werte enthalten sind.

Protokollbeschreibung 1:

 

Die folgenden Bilder zeigen den Mitschnitt des Befehls ReadBoolArray (FB_CrestronReadBoolArray) von einer TwinCAT 3 Steuerung an eine Crestron Steuerung. Es werden 5 Signale ab Startoffset 7 ausgelesen.

Request

Protokollbeschreibung 2:

Response

Protokollbeschreibung 3: