OPC-Server hat Unicode-Strings

Der Aufbau von Prozesswerten in der SPS ist für jeden SPS-Typ individuell. So kann es vorkommen, dass einzelne Datentypen unterschiedlich aufgebaut sind. Beim Austausch von einzelnen Prozessvariablenwerten wird die Anpassung zur Visualisierung üblicherweise von der Kommunikationskomponente ausgeführt.

Wird über eine Struktur blockweise (über eine Prozessvariable, die den Datentyp einer Struktur hat) Als Bytestream (Parameter Strukturzugriff (OPC)) auf Daten der SPS zugegriffen, kann die Kommunikationskomponente diese Anpassung nicht mehr ausführen, da Sie über den Aufbau des Byteblocks nicht informiert ist. Daher muss im Variablenserver diese Anpassung erfolgen.

Der Parameter OPC-Server hat Unicode-Strings bewirkt, dass Strukturelemente vom Datentyp VT_BSTR, die innerhalb eines Byteblocks übertragen werden, als Unicode-Strings interpretiert und auf den internen Prozessvariablen-Cache übertragen werden. Unicode-Strings unterscheiden sich im Wesentlichen durch den Zeichenaufbau von ASCII-Strings. Während in einem ASCII-String ein Zeichen durch ein Byte repräsentiert wird, werden im Unicode-String zwei Bytes pro Zeichen verwendet. In einem Strukturelement vom Datentyp VT_BSTR wird die Länge des Strings durch den Parameter Feldgröße angegeben. Die Angabe OPC-Server hat Unicode-Strings bestimmt also die Größe des gesamten Byteblocks maßgeblich, wenn ein Strukturelement den Datentyp VT_BSTR einnimmt.

Einstellung

Beschreibung

1

Vor dem Lesen aus der SPS wird geprüft, ob ein Strukturelement den Datentyp VT_BSTR einnimmt. Dabei wird die Blockgröße automatisch angepasst. Erst dann wird der Datenblock angefordert. Nach Erhalt des Blocks wird der interne Prozessvariablen-Cache gemäß dem Aufbau der Struktur mit den Bytes des empfangenen Blocks gefüllt. Da der Variablenserver intern mit Unicode-String arbeitet, ist bei der Übertagung von BSTR-Daten keine weitere Anpassung nötig.

Beim Schreiben wird ein Byteblock gemäß den Angaben der Struktur aus dem internen Prozessvariablen-Cache zusammengestellt. Anschließend wird der Block zur SPS übertragen.

0

Beim Lesen aus der SPS wird vom Variablenserver ein Byteblock über die Kommunikationskomponente angefordert. Der interne Prozessvariablen-Cache wird gemäß dem Aufbau der Struktur mit den Bytes des empfangenen Blocks gefüllt. Dabei werden die empfangenen ASCII-Strings in Unicode-Strings gewandelt.

Beim Schreiben wird ein Byteblock gemäß den Angaben der Struktur aus dem internen Prozessvariablen-Cache zusammengestellt. Dabei werden die im internen Prozessvariablen-Cache gehaltenen Unicode-Strings zu ASCII-Strings konvertiert. Danach wird dieser Block direkt zur SPS übertragen.

Die Wandlung ASCII↔Unicode erfolgt mithilfe der ACP (ANSI-Codepage).

Die Verwendung dieses Parameters ist abhängig von der verwendeten SPS und ist nur sinnvoll, wenn:

  • der Parameter Strukturzugriff auf Als Bytestream eingestellt ist und

  • Strukturen als Datentypen für Prozessvariablen verwendet werden.

Weitere Anpassungsmöglichkeiten für diese Zugriffsart:

Parameter für Modul: