Beschreibung des SOHARD-Protokolls .......... 4 Beispiele zum SOHARD-Protokoll ..........18 Beschreibung des AUG-Protokolls ..........20 General Information ............... 36 Description of the SOHARD Protocol ..........36 Examples for the SOHARD Protocol ..........50 Description of the AUG Protocol ........... 52 2020-11...
Allgemeine Information Mit dem SH ARC-GATEWAY kann über das TCP/IP-Protokoll auf daran angeschlossene ARCNET-Netze zugegriffen werden. Das Gerät basiert auf dem Betriebssystem Linux, was die Integration in die IT-Infrastruktur der Kunden und die nachfolgende Administration einfach gestaltet. Die typische Einsatzumgebung des SH ARC-GATEWAY ist auf folgendem...
Seite 5
Beschreibung: Mit OP_HELLO wird dem SH ARC-GATEWAY das Kommunikationsprotokoll mitgeteilt. Diese Paket-Kennung sollte immer als erstes Datenpaket gesendet werden, nachdem der Socket geöffnet wurde. Das SH ARC-GATEWAY schließt sofort den Socket, wenn das erste Datenpaket nicht OP_HELLO ist. Das SH ARC-GATEWAY antwortet auf OP_HELLO, um dem Client mitzuteilen, dass das Protokoll unterstützt wird und für weitere Anfragen...
Seite 6
Paketlänge Byte 0x53 0x02 0x0000 (0) Beschreibung: Mit OP_READ_REQUEST wird dem SH ARC-GATEWAY mitgeteilt, dass der Client ein ARCNET Paket empfangen will (siehe Beispiel 3.1). Hinweis: Das SH ARC-GATEWAY empfängt erst ARCNET-Pakete (solange es Ressourcen frei hat) vom ARCNET-Netzwerk, nachdem mindestens ein OP_READ_REQUEST bearbeitet oder OP_READ_CONTINUOUS aktiviert wurde.
Seite 8
0x53 0x05 0x0007-0x0202 (7–514) 0x01–0xFF 0x00–0xFF (1-255) (0-255) Beschreibung: Mit OP_WRITE_DATA liefert der Client dem SH ARC- GATEWAY die Daten, die an den ARCNET Teilnehmer gesendet werden sollen. OP_WRITE_RESULT (0x06) Client Gateway – Gesamtlänge: 8 Bytes Byte Protokollkennung Paketkennung Paketlänge...
Seite 9
Wenn dauerhafter Empfang aktiv ist, sendet der Server die OP_READ_DATA und OP_READ_ERROR ohne Read-Anfrage (OP_READ_REQUEST) von dem Client (siehe Beispiel 3.2). Hinweis: Das SH ARC-GATEWAY empfängt erst ARCNET-Pakete, solange es Ressourcen frei hat, vom ARCNET-Netzwerk, wenn mindestens ein OP_READ_REQUEST bearbeitet wird oder OP_READ_CONTINUOUS aktiviert ist.
Seite 10
OP_LIFE_SIGN_REQUEST (0x08) Client → Gateway – Gesamtlänge: 8 Bytes Byte Protokollkennung Paketkennung Paketlänge Verzögerung in Sekunden (min. 10s) Byte 0x53 0x08 0x0004 (4) Verzögerung Beschreibung: OP_LIFE_SIGN_REQUEST wird gesendet, um den Zeitgeber auf der Serverseite mit einer bestimmten Verzögerungszeit zu aktivieren. Der Server sendet dann ein einzelnes OP_LIFE_SIGN, wenn der Zeitgeber abläuft (siehe Beispiel 3.4).
Seite 11
2.11 OP_LIFE_SIGN_ACK (0x11) Client → Gateway – Gesamtlänge: 4 Bytes Byte Protokollkennung Paketkennung Paketlänge Byte 0x53 0x11 0x0000 (0) Beschreibung: mit OP_LIFE_SIGN_ACK quittiert der Client ein OP_LIFE_SIGN (siehe Beispiel 3.4). 2.12 OP_SET_NODE_ID_REQUEST (0x0A) Client → Gateway – Gesamtlänge: 6 - 260 Bytes Byte Protokollkennung Paketkennung...
Seite 12
2.13 OP_SET_NODE_ID_RESULT (0x0B) Client Gateway – Gesamtlänge: 8 Bytes Byte Protokollkennung Paketkennung Paketlänge Ergebnis des OP_SET_NODE_ID_RESULT Byte 0x53 0x0B 0x0004 (4) 0x00000000 - 0xFFFFFFFF Beschreibung: OP_SET_NODE_ID_RESULT wird immer als Antwort auf einen OP_SET_NODE_ID_REQUEST gesendet, womit der Client über das Ergebnis der Einstellung der Node-IDs informiert wird. Der Wert 0 zeigt die erfolgreiche Übertragung an.
Seite 13
2.14 OP_NETMAP_REQUEST (0x0C) Client → Gateway – Gesamtlänge: 5 Bytes Byte Protokollkennung Paketkennung Paketlänge Netmap-Format (siehe unten) Byte 0x53 0x0C 0x0001 (1) 0x00/0x01 Beschreibung: Mit OP_NETMAP_REQUEST kann der Client eine Liste der Knoten abfragen, die aktuell im Netzwerk anwesend sind. Mit „Netmap-Format“...
Seite 14
Client → Gateway – Gesamtlänge: 5 Bytes Byte Protokollkennung Paketkennung Paketlänge Parameter-ID Byte 0x53 0x0E 0x0001 (1) 0x00-0xFF Beschreibung: Mit OP_GET_PARAMETER kann der Client den Wert eines Parameters des SH ARC-GATEWAY abfragen. Als Antwort auf OP_GET_PARAMETER wird OP_PARAMETER_VALUE gesendet. 2020-11...
Seite 15
0x01 nächsten Abschnitt) Wert (32 Bit, oberes Wort) Byte 0x53 0x0F 0x0006 (6) Parameter-ID 0x01 0x00000000 - 0xFFFFFFFF Beschreibung: Mit OP_SET_PARAMETER kann der Client den Wert eines Parameters im SH ARC-GATEWAY setzen. Als Reaktion auf OP_SET_PARAMETER wird OP_PARAMETER_VALUE gesendet. 2020-11...
Seite 16
Byte 0x53 0x10 0x0006 (6) Parameter-ID 0x00/0x01 0x00000000 - 0xFFFFFFFF Beschreibung: Mit OP_PARAMETER_VALUE teilt SH ARC-GATEWAY dem Client entweder den Wert des abgefragten Parameters mit oder einen Fehlercode, falls der Parameter nicht gesetzt ist bzw. nicht abgefragt werden kann. 2020-11...
Seite 17
0x03: 16x Timeout 0x04 Read Receive-all: Only 0x00: deaktiviert 0x01: aktiviert 0x05 Read Applikationsprotokoll (siehe Benutzer- Only handbuch) 0x00: SOHARD 0x01: AUG 0x06 Read/ Anzahl der gepufferten Pakete, die SH ARC- Write GATEWAY zwischenspeichert, wenn sie der Client nicht mehr ausliest 2020-11...
Datenabfrage mit OP_REQUEST und Datentransfer Client Server OP_HELLO => <= OP_HELLO OP_READ_REQUEST => OP_WRITE_DATA => <= OP_READ_DATA (OP_READ_ERROR) <= OP_WRITE_RESULT Bemerkung: die Reihenfolge von OP_WRITE_RESULT und OP_READ_DATA (OP_READ_ERROR) ist undefiniert. Überprüfen der Serververbindung mit OP_LIFE_SIGN_REQUEST Client Server OP_HELLO => <= OP_HELLO OP_LIFE_SIGN_REQUEST =>...
Beschreibung: Sichere Paketheader werden aus Kompatibilitätsgründen verwendet. Der Sicherheitscode ist immer „0000“ (0x30303030). OP_CQ (Config Query) Gesamtlänge: 8 Bytes Byte Paketlänge (inklusive Header) Opcode: 'C', 'Q' (0x4351) Sicherheitscode Beschreibung: Mit OP_CQ kann ein Konfigurationsbericht angefordert werden. Auf OP_CQ antwortet SH ARC-GATEWAY mit OP_CR: 2020-11...
Seite 21
Übertragungsrate ARCNET-Timeout Gateways Kennung Receive-all RECON-Timeout 0x00: aus Timeout Knotenliste in 1/10 s 0x01: ein Beschreibung: Mit OP_CS wird lediglich die Node-ID des SH ARC- GATEWAY konfiguriert. Übertragungsrate, ARCNET-Time-out und Receive-all-Modus werden im Web-UI oder in den Konfigurationsdateien eingestellt. 2020-11...
Seite 22
Operation 0x00: andere 0x01: Gateway 0x02: ARCNET Fehlercode Optional: Fehlertext (null-terminierter String) … Beschreibung: Falls bei Anfragen ein Fehler auftritt, antwortet SH ARC- GATEWAY mit dem Fehlerpaket OP_ER. OP_PQ (Promiscuous („Receive-all“) Mode Query) Gesamtlänge: 8 Bytes Byte Paketlänge (inklusive Header)
Seite 23
Gesamtlänge: 5 Bytes Byte Paketlänge (inklusive Header) Opcode 'P','R' (0x5052) Receive-all 0x00: aus sonst: ein Beschreibung: Mit diesem Paket meldet SH ARC-GATEWAY, ob der Receive-all-Modus aktiviert oder deaktiviert ist. OP_PS (Promiscuous („Receive-all“) Mode Set) Gesamtlänge: 9 Bytes Byte Paketlänge (inklusive Header) Opcode...
Seite 24
Gesamtlänge: 8 Bytes Byte Paketlänge (inklusive Header) Opcode 'S','Q' (0x5351) Sicherheitscode Beschreibung: Mit diesem Opcode werden die Statistiken von SH ARC- GATEWAY abgefragt. Auf OP_SQ antwortet SH ARC-GATEWAY mit OP_SR: 4.11 OP_SR (Status Report) Gesamtlänge: 24 Bytes Byte Paketlänge (inklusive Header)
Seite 25
Beschreibung: Mit diesem Opcode werden die Zähler der Statistiken zurückgesetzt. Auf OP_CRESQ antwortet SH ARC-GATEWAY mit OP_CRESR: 4.13 OP_CRESR (Status Counter Reset Response) Gesamtlänge: 8 Bytes Byte Paketlänge (inklusive Header) Opcode OP_CRESR (0x6003) Sicherheitscode Beschreibung: Mit diesem Opcode bestätigt SH ARC-GATEWAY, dass die Statuszähler zurückgesetzt wurden. 2020-11...
Seite 26
(Sender-Node-ID) Node-ID) Länge des Datenpakets ARCNET-Datenpaket mit der angegebenen Länge … Beschreibung: Mit diesem Opcode wird ein ARCNET-Datenpaket gesendet. Auf OP_WQ antwortet SH ARC-GATEWAY mit OP_WO: 4.15 OP_WO (Write O.K.) Gesamtlänge: 8 Bytes Byte Paketlänge (inklusive Header) Opcode 'W','O' (0x574F)
Seite 27
Im Receive-all-Modus empfängt der Client auch Pakete von den Knoten, die in „da_map“ angegeben sind, und nicht nur von den Knoten, die an SH ARC-GATEWAY senden. Im Array „da_map“ repräsentiert jedes Bit einen Knoten. Wenn das Bit für einen Knoten gesetzt ist, werden Nachrichten dieses Knoten weitergeleitet.
Seite 28
Speicher Beschreibung: Mit dem Opcode kann eine beliebige Anzahl von ARCNET-Paketen des Knotens mit „ARCNET-Node-ID“ abgerufen werden. Bei Einstellung von OP_DA wird dies ignoriert. Auf OP_DQ antwortet SH ARC-GATEWAY mit OP_DR: 4.18 OP_DR (Data Response) Gesamtlänge: 13 >= Bytes Byte Paketlänge (inklusive Header)
Seite 29
Paketlänge (inklusive Header) Opcode 'N','Q' (0x4E51) Sicherheitscode Beschreibung: Mit diesem Opcode kann die Knotenliste (Nodemap) von SH ARC-GATEWAY angefordert werden. Auf OP_NQ antwortet SH ARC-GATEWAY mit OP_NR: 4.20 OP_NR (Nodemap Response) Gesamtlänge: 36 Bytes Byte Paketlänge (inklusive Header) Opcode 'N','R' (0x4E52)
Seite 30
0x01: an 0x02: Statusabfrage Beschreibung: Bei einer TCP-Verbindung können mehrere ARCNET- Pakete von SH ARC-GATEWAY zu einem einzigen TCP-Paket zusammengefasst werden. Der TCP-Stack entscheidet darüber, wann ein solches Paket gesendet wird. Wenn ARCNET-Pakete unmittelbar nach dem Empfang weitergeleitet werden sollen, dann muss die Option „TCP NODEDELAY“...
Seite 31
0x00: lesen Wert Controller-Register 0x01: schreiben Beschreibung: Mit diesem Opcode können die Register des ARCNET- Controllers im SH ARC-GATEWAY beschrieben und gelesen werden. Auf OP_REGQ antwortet SH ARC-GATEWAY mit OP_REGR: 4.24 OP_REGR (ARCNET Register Read/Write Response) Gesamtlänge: 5 Bytes Byte Paketlänge (inklusive Header)
Seite 32
Paketlänge (inklusive Header) Opcode FLAGQ (0x6006) Sicherheitscode Beschreibung: Der Status einer laufenden ARCNET-Übertragung kann mit diesem Opcode abgefragt werden. SH ARC-GATEWAY antwortet darauf mit OP_FLAGR: 4.26 OP_FLAGR (Flag Status Response) Gesamtlänge: 10 Bytes Byte Paketlänge (inklusive Header) Opcode FLAGQ (0x6007)
Seite 33
0x01: an 0x02: Status- abfrage Beschreibung: Mit diesem Opcode kann eingestellt werden, dass SH ARC-GATEWAY erst wieder auf ein „Write Request“ reagiert, wenn der vorherige Sendevorgang abgeschlossen ist. SH ARC-GATEWAY antwortet darauf mit OP_TXWAITR: 4.28 OP_TXWAITR (Wake On TX Complete Response) Gesamtlänge: 5 Bytes...
Seite 34
0x01: an 0x02: Status- abfrage Beschreibung: Mit diesem Opcode kann eingestellt werden, dass SH ARC-GATEWAY eine Nachricht sendet, wenn eine Rekonfiguration erfolgt. SH ARC-GATEWAY antwortet darauf mit OP_RECONR: 4.30 OP_RECONR (Wake On RECON Response) Gesamtlänge: 5 Bytes Byte Opcode Paketlänge (inklusive Header)
Seite 35
Paketlänge (inklusive Header) TXTIMEOQ (0x6013) Sicherheitscode Timeout-Zeit in Millisekunden Beschreibung: Mit diesem Opcode kann die Timeout-Zeit für ARCNET- Übertragungen eingestellt werden (max. 65535 ms). SH ARC-GATEWAY antwortet darauf mit OP_TXTIMEOR: 4.33 OP_TXTIMEOR (Transmit Timeout Response) Gesamtlänge: 8 Bytes Byte Opcode Paketlänge (inklusive Header)