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 „Semitransparentes Zeichnen aktivieren“. Diese Option ist standardmäß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 Hexadezimalzahl
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 Farbabstufungen von 16#FF
bis 16#00
reserviert. 16#FF
bedeutet 100 % Farbanteil, 16#00
bedeutet 0 % Farbanteil.
|
Byte für die Transparenzabstufung von |
|
Byte für den Rotanteil von |
|
Byte für den Grünanteil von |
|
Byte für den Blauanteil von |
Beispiel
|
Blau, deckend |
|
Grün, deckend |
|
Gelb, deckend |
|
Grau, halbtransparent |
|
Schwarz, halbtransparent |
|
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
-
Erstellen Sie in CODESYS ein Standardprojekt
-
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
-
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
-
Deklarieren Sie eine Steuervariable.
bChangeColor : BOOL;
-
Deklarieren Sie in
PLC_PRG
eine Eingabevariable.bInput : BOOL;
-
Aktivieren Sie den Visualisierungseditor.
-
Ziehen Sie ein Element „Rechteck“ in den Visualisierungseditor.
Die Ansicht „Eigenschaften“ des Elements öffnet sich.
-
Konfigurieren Sie die Eigenschaften des Rechtecks folgendermaß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
-
-
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 Variable
bChangeColor
über Forcen aufTRUE
gesetzt wird, ändert sich die Farbdarstellung des Rechtecks. Wenn in der Visualisierung auf das Rechteck geklickt wird, wird das Rechteck in Alarmfarben dargestellt.
Siehe auch
-
linktarget doesn't exist but @y.link.required='true'
-
linktarget doesn't exist but @y.link.required='true'