CharsToText ('Encoding'*, 'Value1', 'Value2', ...)

Argumente

'Encoding*'

Zeichenkodierung, Angabe des Namens oder der Codepage-ID

'Encoding*' = "ASCII"

'Encoding*' = 1252

Zeichenkodierung ASCII als Klartext (in Anführungszeichen!) oder

Codepage-ID für ASCII

'Encoding*' = "UTF-8"

'Encoding*' = 65001

Zeichenkodierung UTF-8 als Klartext (in Anführungszeichen!) oder

Codepage-ID für UTF-8

'Encoding*' = "UTF-16"

'Encoding*' = 1200

Zeichenkodierung UTF-16 als Klartext (in Anführungszeichen!) oder

Codepage-ID für UTF-16

'Value1' ... 'Valuen'

Dezimaler Zeichencode für jedes Zeichen entsprechend der gewählten Zeichenkodierung;

Einträge als Zahlenwert oder als Analogsignal

Parameter, die mit * enden, werden nur einmalig zu Beginn der Erfassung übernommen.

Beschreibung

Diese Funktion setzt aus einzelnen Zeichencodes einen Text zusammen und gibt diesen aus (Textsignal). Die einzelnen Zeichencodes 'Value1' bis 'Valuen' werden der Funktion auf Basis einer einstellbaren Kodierung als Zahlenwerte übergeben. Unterstützt werden die Kodierungen ASCII, UTF-8 und UTF-16 sowie weitere gültige Codepage-IDs. Sollte eine Codepage vom System nicht unterstützt werden, wird dies im Ausdruckseditor signalisiert.

Jeder 'Value' muss einem numerischen Wert mit einer Bytegröße entsprechen, die der Mindestbytegröße der Kodierung entspricht.

Bei ASCII und UTF-8, z. B., entspricht jeder "Value" einem einzelnen Byte. Bei UTF-16 entspricht jeder 'Value' einem 2-Byte-Integer.

Die Anzahl der Zeichen, die zu einem Text verbunden werden können, ist auf 999 begrenzt. Vorzugsweise sollten die dezimalen Codes verwendet werden, es werden aber auch hexadezimale Codes unterstützt (mit 0x vorangestellt).

Mithilfe dieser Funkion ist es nun einfacher, lesbaren Text von Quellen zu generieren, die nur numerische Werte verarbeiten können.

Sinnvoll ist es, Analogsignale für die Übertragung der dezimalen Zeichencodes zu verwenden, um während der Erfassung die Zeichen ändern zu können.

Beispiele

Zum besseren Verständnis sind die Zeichencodes hier als Zahlenwerte eingetragen. In der Anwendung kann für jeden Zahlencode ein Analogsignal eingetragen werden, mit dem der Code z. B. von der SPS übertragen wird. Auch eine Kombination aus Analogsignalen und fest eingetragenen Zahlencodes ist möglich)

Ausdruck

Ergebnis

Bemerkung

CharsToText("ASCII",105,98,97,32,65,71)

iba AG

ASCII-Kodierung, dezimal

CharsToText(1252,105,98,97,32,65,71)

iba AG

Codepage 1252, dezimal

CharsToText("ASCII",65, 66, 67)

ABC

ASCII-Kodierung, dezimal

CharsToText("UTF-8", 65, 66, 67)

ABC

UTF-8-kodierung, dezimal

CharsToText("UTF-8", 0xE2, 0x82, 0xAC)

Eurozeichen, UTF-8-Kodierung, hexadezimal

CharsToText("UTF-8", 226, 130, 172)

Eurozeichen, UTF-8-Kodierung, dezimal

CharsToText("UTF-16", 8364)

Eurozeichen, UTF-16-Kodierung, dezimal

CharsToText(869, 213, 226)

Ωθ

Codepage 869 (griech. Alphabet), dezimal

CharsToText(869, 0xD5, 0xE2)

Ωθ

Codepage 869 (griech. Alphabet), hexadezimal