Terminalmode + Zeichensatz Version 2

      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.

      Re: Terminalmode + Zeichensatz Version 2

      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.

      Source Code

      1. CONFIG: DCULx
      2. {
      3. ...
      4. Mode: Com1: Com
      5. Baud= 19200
      6. Parity= None
      7. Data= 8
      8. Stop= 1
      9. RtsCts= 0
      10. XonXoff= 0
      11. Mode: Com2: Printer
      12. ComDataMode: 1
      13. ...
      14. }

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

      Source 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