# Farbvariablen in Codesys V3.5



## Gobbo92 (22 Februar 2016)

Hallo Zusammen,

da das hier mein erster Thread ist, mal vorab etwas zu meiner Person: 

Ich bin 23 Jahre alt und arbeite Hauptberuflich als System Engineer in einer IT-Abteilung.
Zu Codesys bin ich über ein internes Projekt (Maschinendatenerfassung über eine Wago 750-881 mit OPC-Weitergabe an eine Auswertungssoftware) gekommen.
Diese Daten werden in einer SQL-Datenbank abgespeichert.

Mit SQL4Automation habe ich in Codesys nun Zugriff auf diese Daten.

Ich benötige nun folgendes:
Jedem Status, den eine Maschine haben kann (Produktion, Störung, Schichtende, etc.), ist eine bestimmte Farbe (HEX-Wert) zugeordnet.

Jetzt kommt mein Problem, zu dem ich auch schon stundenlang Foren durchsucht hab:

Da sich die Farbe in meiner Visualisierung mit dem jeweiligen Status mitändern soll, dachte ich mir ich nehme den Farbwert aus der Datenbank und schreibe ihn in eine DWORD-Variable.
Diese Variable habe ich dann der Farbvariable (Füllfarbe) für den Normalzustand zugewiesen. Als ich es dann testen wollte, kam dann die Ernüchterung. Das Objekt hat nicht die gewünschte Farbe angenommen.

Nach kurzer Suche bei Google fand ich dann folgendes Beispiel für Codesys V2:


```
PROGRAM PLC_PRGVAR
    Bool1: BOOL;
    Color1: DWORD;
    
END_VAR

IF BOOL1 THEN
    Color1:= 16#0000FF00;
    ELSE
    Color1:= 16#00000000;        
END_IF
```

PLC_PRG.Color1 wird dann als Normalzustandsfarbe in den Variablen des Objektes zugewiesen. Das hab ich in V2 getestet und es funktioniert.

Das selbe Beispiel habe ich dann kurzerhand in V3 versucht leider ohne Erfolg. Ebenfalls Erfolglos war die Zuweisung von Bool1 als Farbumschlagsvariable.

Hat hier vielleicht jemand eine woran es liegen könnte, dass das in V3 nicht funktioniert?

Jetzt schon vielen Dank im Voraus. 

Grüße
Christian


----------



## StructuredTrash (22 Februar 2016)

Ich komme zwar aus der Beckhoff-Ecke, aber TwinCat3 und CodeSys3 haben ja vieles gemeinsam.
In der TC3-Visu muss der Transparenzwert als oberstes Byte mit im Farbwert stehen, für Deine beiden Farben wären das 16#FF00FF00 und 16#FF000000.


----------



## Gobbo92 (22 Februar 2016)

Vieeeelen Dank. 

Genau das war es. Im Handbuch von Codesys stand das leider nicht erklärt, dass die erste Stelle also bei mir "00" für den Transparenzwert steht.

Danke für die schnelle Hilfe.


----------



## PhuongTran1983 (21 April 2016)

Super, ich hatte das selbe Problem. Zum Glück habe ich euren Beitrag gefunden, kann ich jetzt weiter machen.


----------



## Kakaotrinker (1 August 2016)

Von mir auch vielen Dank. Bin gerade an dem gleichen Problem verzweifelt.


----------

