Nachrichtenstruktur

Der SECS-Treiber kommuniziert mit dem Gerät über binär codierte SEMI E5-Nachrichten. Um die E5-Nachrichten in WinCC OA verwendbar zu machen, werden die SECS-II E5-Nachrichten in JSON-Strings umgewandelt.

Daher müssen String-DPE verwendet werden, um Anfragen zu stellen und zu antworten. Die allgemeine Struktur der Nachrichten wird durch den E5-Standard definiert. Jede Nachricht muss einen Header haben, der Informationen über die Geräte-ID, die Datenlänge usw. enthält. Weitere Informationen finden Sie im E5- und E37-Standard.

JSON-Nachrichtenstruktur

Die Struktur enthält zwei Hauptteile: den Header und den Body. Der Body wird nur für E5-Nachrichten benötigt, die Daten senden/empfangen müssen.

Body

Der Body kann entweder ein JSON-Objekt oder ein JSON-Array (Liste) sein. Die Struktur des Bodys wird durch die E5-Nachrichtendefinition vorgegeben. Body-Objekte, welche die Daten enthalten, umfassen die folgenden JSON-Key-Value-Paare:

JSON Objekt Name Typ Verpflichtend Beschreibung
“format” String x Beschreibt das Format des „value“ desselben JSON-Daten Objekts
“value” Format spezifisch x Enthält den Wert des JSON-Daten Objekts

Das Format kann einer der folgenden Datentypen sein:

Abkürzung Beschreibung
B Binary
BL Boolean
A ASCII
JIS JIS-8
V 2 byte character
I8 8 byte integer (signed)
I1 1 byte integer (signed)
I2 2 byte integer (signed)
I4 4 byte integer (signed)
F8 8 byte floating point
F4 4 byte floating point
U8 8 byte integer (unsigned)
U1 1 byte integer (unsigned)
U2 2 byte integer (unsigned)
U4 4 byte integer (unsigned)

Die V (2-Byte-Zeichen) listet Codierungen im SEMI E5-Standard, Kapitel 9.4.2 Tabelle 2 auf. Nicht alle Codierungen werden von WinCC OA unterstützt. Die folgenden werden unterstützt:

  • ISO 10646 UCS-2
  • UTF-8
  • ISO 8859-1
  • TIS 620
  • Shift JIS
  • Japanese EUC-JP
  • Korean EUC-KR
  • Simplified Chinese EUC-CN
  • Traditional Chinese Big5

Nicht unterstützte Formate werden als Byte Array im JSON-Objekt übergeben und können somit vom Nutzer validiert werden.

JSON-Beispiel

Dies ist ein Beispiel für eine S1F3R-Nachricht, die vom Host an das Gerät gesendet wird, um die „Selected Equipment Status Request“ zu erhalten.

{
  "header": {
    "function": 3,
    "reply": true,
    "stream": 1
  },
  "body": [{
    "format": "U4",
    "value": 250
  }]
}
{
  "header": {
    "function": 4,
    "reply": false,
    "stream": 1
  },
  "body": [{
    "format": "A",
    "value": "2024111214454153"
  }]
}