Unterstützung von UTF-8 für Datentyp STRING

Funktions-Erweiterung:

UTF-8 ist ein weit verbreitetes Byte-orientiertes Kodierungsformat von Unicode-Zeichen.
Die ersten 128 Zeichen von 0 bis 127 sind kompatibel zur ASCII-Kodierung.
Die Zeichen werden in verschiedener Länge von 1 bis 4 Bytes kodiert.

Der PLC Designer V4 unterstützt die UTF8-Kodierung für den Datentyp STRING. Dazu gibt es im Dialog 'Einstellungen' (Menü 'Projekt' > 'Projekteinstellungen', Kategorie 'Compile-Optionen') die Checkbox 'UTF8-Kodierung für STRING'. Ist diese Checkbox angehakt,...

  • ... werden alle STRING Zeichenfolgen mit UTF8 kodiert,
  • ... werden beim Monitoring alle STRING-Variablen mit UTF8 dekodiert
  • ... konvertieren STRING-Konvertierungsfunktionen von und nach UTF8.

UTF8_ProjectSetting.png

Unabhängig von dieser Compile-Option sind nun Pragma-Anweisungen für das Monitoring von UTF8-Zeichenfolgen verfügbar:

  • für STRING: {attribute 'monitoring_encoding' := 'UTF-8'}
  • für Unicode Zeichen vom Datentyp UDINT: {attribute 'monitoring_encoding' := 'UnicodeCharacter'}

UTF8-Zeichen können als Escape-Sequenz eingegeben werden, z.B. $u00002126 = Ω.
Offline:
UTF8_Offline.png
Online:
UTF8_Online.png

Die Diagnose wurde für die Nutzung von UTF8-Zeichenfolgen erweitert:

  • Neue Warnung:
    C0555: Das Stringliteral '....' enthält nicht darstellbare Zeichen. ...'
  • Static Analysis Light:
    In der Kategorie 'Static Analysis Light' der Projekteinstellungen kann die zusätzliche Kompilierungsprüfung 'Verdächtige Operation auf String' aktiviert werden, zur Überprüfung z.B. von:
    • Indexzugriff str[2]
    • ADR(str)
    • Aufrufe von STANDARD-Stringfunktionen mit Indexzugriffen (alle außer CONCAT und LEN)

Enthalten in folgenden Produkten:

PLC Designer ab V4.0 


URL zur Verlinkung dieses AKB-Artikels: https://www.lenze.com/de-de/go/akb/202400426/0/
Kontaktformular