Terminalmode + Zeichensatz Version 2

  • Hallo,


    In der DCU-L7 wurde neuer Zeichensatz in der Version 2 definiert. Gibt es die Möglichkeit den Zeichensatz im Terminalmode zu benutzen?
    Das Umschalten nach Compilermode und Änderung ComDataMode = 1 mit der Funktion:


    Config: DCU_L7
    {
    …
    ComDataMode: VARIABLE: DataModeVar
    …
    }


    VARIABLE: DataModeVar
    {
    Number 100
    TYPE: INT
    INIT: 0 // Start in ASCII mode
    }


    V100,1,<LF>


    scheint nicht zu funktionieren.

  • Bei der Verwendung von 2 Byte Zeichensätzen gibt es einiges zu beachten.
    Wie Sie schon richtig gesehen haben, kann in der Struktur CONFIG der Mode ausgewählt werden.



    Im einfachsetn Fall wird dieser fest auf den gewünschten Wert gesetzt.
    Wobei folgenden Werte zulässig sind:


    Code
    1. Mögliche Werte für Parameter ComDataMode:
    2. 0: ASCII (1 Byte pro Zeichen)
    3. 1: UTF16BE (2 Bytes pro Zeichen, erst MSB, dann LSB)
    4. 2: UTF16LE (2 Bytes pro Zeichen, erst LSB, dann MSB)
    5. 3: UTF8 (1 bis 3 Bytes pro Zeichen, ab V194)


    Für den Parameter ComDataMode kann auch eine Variable verwendet werden. Dadurch kann der Modus auch im laufenden Betrieb durch Verändern der Variable umgeschaltet werden. Der Modus wird dabei unmittelbar nach Erkennung des Datenwertes umgeschaltet, also i.a. nach dem Komma hinter dem Parameter.


    Beispiel:
    Wenn die Variable Nummer 300 die ComDataMode-Variable ist, und das Format soll auf UTF16BE umgeschaltet werden, so geht das mit dem Befehl


    V300,1,<LF>


    Dabei wird der Datenmodus schon nach dem Komma hinter der 2 umgeschaltet, d.h.
    das <LF> muss schon im neuen Modus gesendet werden!


    Und hier vermute ich auch das Problem. Es ist also wichtig, dass Sie das abschließende <LF> bereits als 2 Byte senden. Erfolgt dies nicht, funktioniert auch die Umschaltung nicht.
    Am Besten, Sie machen die ersten Versuche ohne Umschaltung. D.h. Sie stellen in CONFIG: fix auf UTF16BE und prüfen ob z.B. die Copyrightabfrage funktioniert. Dies ist dann unabhängig vom geladenen Zeichensatz.


    F&S Support Team

    F&S Elektronik Systeme GmbH
    As this is an international forum, please try to post in English.
    Da dies ein internationales Forum ist, bitten wir darum, Beiträge möglichst in Englisch zu verfassen.