Farbdarstellung animieren

 

Die Farben eines Elements sind in den Elementeigenschaften unter Farben angegeben. Dort können Sie entweder aus der Auswahlliste eine vordefinierte Stilfarbe wählen oder im Farbdialog eine Farbe auswählen.

Die Elementeigenschaft Farbvariablen dient der Farbanimation des Elements. Wenn Sie den Eigenschaften Variablen übergeben, können Sie Farbänderungen im Applikationscode programmieren oder eine Benutzereingabe konfigurieren, die zu einer Farbänderung führt. Eine Farbkonstante oder Farbvariable im Code hat den Datentyp DWORD und ist gemäß dem RGB-Farbraum oder der RGBA-Erweiterung codiert.

Farbangabe im RGBA-Farbraum

Hinweis

Im Visualisierungsmanager gibt es die Option Semitranspar­entes Zeichnen aktivieren. Diese Option ist standard­mäßig aktiviert, so dass bei allen Farbangaben die Eigenschaft Transparenz zur Verfügung steht. Bei einer programmatischen Farbangabe wird das führende Byte als Alphakanal interpretiert und somit als Transparenzwert der Farbe verwendet. Wenn die Option deaktiviert ist, steht die Eigenschaft Transparenz nicht zur Verfügung und in Farbliteralen wird das führende Byte ignoriert.

Farbinformationen im Code werden als DWORD-Literale angegeben. Der Wert liegt im RGBA-Farbraum und wird üblicherweise als Hexadezimal­zahl dargestellt. Der Wert ist als additiver Rot- Grün- und Blauanteile codiert und wird ergänzt um den Alphakanal, der die Transparenz der Farbe bestimmt.

Bytereihenfolge eines Farbliterals

16#<TT><RR><GG><BB>

<TT> : 00 - FF // Transparency in 256 levels
<RR> : 00 - FF // Red in 256 levels
<GG> : 00 - FF // Green in 256 levels
<BB> : 00 - FF // Blue in 256 levels

Der Abstufungswert für die Transparenz ist 16#FF für voll deckend und 16#00 für durchsichtig. Für jeden Farbanteil ist ein Byte für 256 Farbab­stufungen von 16#FF bis 16#00 reserviert. 16#FF bedeutet 100 % Farbanteil, 16#00 bedeutet 0 % Farbanteil.

<TT>

Byte für die Transparenzabstufung von 00-FF

<RR>

Byte für den Rotanteil von 00-FF

<GG>

Byte für den Grünanteil von 00-FF

<BB>

Byte für den Blauanteil von 00-FF

Beispiel

Farbliterale

16#FF0000FF

Blau, deckend

16#FF00FF00

Grün, deckend

16#FFFFFF00

Gelb, deckend

16#88888888

Grau, halbtransparent

16#88000000

Schwarz, halbtransparent

16#FFFF0000

Rot, deckend

Beispiel

Globale Deklaration von Farbkonstanten

VAR_GLOBAL CONSTANT
   c_dwBLUE : DWORD := 16#FF0000FF;         // Highly opaque
   c_dwGREEN : DWORD := 16#FF00FF00;         // Highly opaque
   c_dwYELLOW : DWORD := 16#FFFFFF00;         // Highly opaque
   c_dwGREY : DWORD :=16#88888888;         // Semitransparent
   c_dwBLACK : DWORD := 16#88000000;         // Semitransparent
   c_dwRED: DWORD := 16#FFFF0000;         // Highly opaque
END_VAR

Visualisierungselement farblich animieren

 

  1. Erstellen Sie in CODESYS ein Standardprojekt

  2. Deklarieren Sie im POUs-Baum globale Farbkonstanten.

    {attribute 'qualified_only'}
    VAR_GLOBAL CONSTANT
       gc_dwRed : DWORD := 16#FFFF0000;
       gc_dwGreen: DWORD := 16#FF00FF00;
       gc_dwYellow: DWORD := 16#FFFFFF00;
       gc_dwBlue: DWORD := 16#FF0000FF;     // Highly opaque
       gc_dwBlack : DWORD := 16#88000000;     // Semitransparent
    END_VAR

  3. Deklarieren Sie im Gerätebaum in PLC_PRG lokale Farbvariablen.

    VAR
       dwFillColor: DWORD := GVL.gc_dwGreen;
       dwFrameColor : DWORD := GVL.gc_dwBlack;
       dwAlarmColor : DWORD := GVL.gc_dwRed;
    END_VAR

  4. Deklarieren Sie eine Steuervariable.

    bChangeColor : BOOL;

  5. Deklarieren Sie in PLC_PRG eine Eingabevariable.

    bInput : BOOL;

  6. Aktivieren Sie den Visualisierungseditor.

  7. Ziehen Sie ein Element Rechteck in den Visualisierungseditor.

    ⇒ Die Ansicht Eigenschaften des Elements öffnet sich.

  8. Konfigurieren Sie die Eigenschaften des Rechtecks folgender­maßen:

    • Eigenschaft Farbvariablen, Normalzustand, Füllfarbe: PLC_PRG.dwFillColor

    • Eigenschaft Farbvariablen, Normalzustand, Rahmenfarbe: PLC_PRG.dwFrameColor

    • Eigenschaft Farbvariablen, Alarmzustand, Füllfarbe: PLC_PRG.dwAlarmColor

    • Eigenschaft Farbvariablen, Farbumschlag: <Umschalten-/Tastenvariable>

    • Eigenschaft Eingabekonfiguration, Umschalten, Variable: PLC_PRG.bInput

  9. Programmieren Sie die Variablen folgendermaßen.

    PROGRAM PLC_PRG
    VAR
       dwFillColor: DWORD := GVL.gc_dwGreen;
       dwFrameColor : DWORD := GVL.gc_dwBlack;
       dwAlarmColor : DWORD := GVL.gc_dwRed;

       bChangeColor : BOOL;
       bInput : BOOL;
    END_VAR

    IF bChangeColor = TRUE THEN
       dwFillColor := GVL.gc_dwYellow;
       dwFrameColor := GVL.gc_dwBlue;
    ELSE
       dwFillColor:= GVL.gc_dwGreen;
       dwFrameColor := GVL.gc_dwBlack;
    END_IF

    ⇒ Zur Laufzeit werden die Farben initialisiert. Wenn dann die Vari­able bChangeColor über Forcen auf TRUE gesetzt wird, ändert sich die Farbdarstellung des Rechtecks. Wenn in der Visualis­ierung auf das Rechteck geklickt wird, wird das Rechteck in Alarm­farben dargestellt.

Siehe auch