# Codesys 2.3 Farbvariable



## Skeppoo121 (11 Mai 2022)

Hallo zusammen,

ich habe in meinem Abschlussprojekt als Techniker für die Wago 750 - 837, Codesys 2.3 verwendet und habe folgendes Problem.
In meiner Visualisierung nutze ich viele Tastfelder, die bei Betätigung ihre Farbe ändern sollen. Das funktioniert soweit auch mit Farbvariablen.
Das Problem ist, dass die Taster immer nur Schwarz werden, egal welche Farbe ich für den Betätigungsfall auswähle.
Hat jemand einen Tipp, woran das liegen könnte?

Grüße Julian


----------



## ssyn (11 Mai 2022)

Mach ein paar Bilder von Visu und ergänze hier, sonst schwer zu verstehen, wo liegt das Problem.


----------



## ccore (12 Mai 2022)

Hallo Skeppo,

hat es schon einmal funktioniert? Manchmal hilft Alles zu bereinigen. Und die Visu mit Programm noch mal komplett zu übertragen. 
Die Farbvariable ist auch eine Farbe?
Ansonsten wären wirklich ein paar Screenshots gut.


----------



## oliver.tonn (12 Mai 2022)

ssyn schrieb:


> Mach ein paar Bilder von Visu und ergänze hier, sonst schwer zu verstehen, wo liegt das Problem.


Und von den Eigenschaften der betroffenen Elemente.


----------



## isaridum (13 Mai 2022)

Genau Visualisier deine Visualisierung hier erst einmal 


ssyn schrieb:


> Mach ein paar Bilder von Visu und ergänze hier, sonst schwer zu verstehen, wo liegt das Problem.


----------



## Skeppoo121 (14 Mai 2022)

In dem Bild ist meine Vorgehensweise. Es klappt aber leider wird die Lampe nur schwarz, statt Rot.


----------



## holgermaik (14 Mai 2022)

Farbeband1lauf muss eine DWORD Variable sein. Transparenz wird nicht unterstützt.


----------



## Skeppoo121 (14 Mai 2022)

holgermaik schrieb:


> Farbeband1lauf muss eine DWORD Variable sein. Transparenz wird nicht unterstützt.


Danke schon mal für die Antwort. Leider bekomme ich dann einen Fehler im PLC-PRG (Kann BOOL nicht in DWORD konvertieren), da er scheinbar ein Problem damit hat wenn ich busy1 (BOOL) und Farbeband1lauf (DWORD) miteinander verknüpfe.


----------



## oliver.tonn (14 Mai 2022)

Skeppoo121 schrieb:


> Danke schon mal für die Antwort. Leider bekomme ich dann einen Fehler im PLC-PRG (Kann BOOL nicht in DWORD konvertieren), da er scheinbar ein Problem damit hat wenn ich busy1 (BOOL) und Farbeband1lauf (DWORD) miteinander verknüpfe.
> Anhang anzeigen 61063


Was ja auch richtig ist, was willst Du mit dieser Zuweisung auch erreichen?
Wenn der Kreis innen im Alarmfall rot werden soll kannst direkt unter Alarmfarbe innen 16#FF0000 eintragen oder Deiner Variablen FarbeBand1lauf den Wert 16#FF0000 zuweisen.
Oder, wenn ich mich nicht verrechnet habe,  16.711.680 in dezimaler Schreibweise.
Die Umschaltung zwischen der Alarm- und Normalfarbe erfolgt dann über Deine Variable Busy1.


----------



## Skeppoo121 (14 Mai 2022)

oliver.tonn schrieb:


> Was ja auch richtig ist, was willst Du mit dieser Zuweisung auch erreichen?
> Wenn der Kreis innen im Alarmfall rot werden soll kannst direkt unter Alarmfarbe innen 16#FF0000 eintragen oder Deiner Variablen FarbeBand1lauf den Wert 16#FF0000 zuweisen.
> Oder, wenn ich mich nicht verrechnet habe,  16.711.680 in dezimaler Schreibweise.
> Die Umschaltung zwischen der Alarm- und Normalfarbe erfolgt dann über Deine Variable Busy1.


Ok super das Klappt, Dankeschön. Ist zwar Blau aber immerhin, die Farben kann ich mir in hex ja dann selbst basteln.
Also ich habe meine gezeigte Variante mit einem Kollegen ausprobiert und bei ihm hat es super geklappt. Zweck war es eine Farbe als Alarm auszuwählen und diese dann, wenn die Farbvariable True wird, anzuzeigen. Die Zuweisung im PLC war nur dafür gedacht das Busy1 nicht doppelte Funktionen bringen muss. Aber deine Variante ist logischer!
Nochmal danke.


----------



## oliver.tonn (14 Mai 2022)

Skeppoo121 schrieb:


> Ok super das Klappt, Dankeschön. Ist zwar Blau aber immerhin, die Farben kann ich mir in hex ja dann selbst basteln.
> Also ich habe meine gezeigte Variante mit einem Kollegen ausprobiert und bei ihm hat es super geklappt. Zweck war es eine Farbe als Alarm auszuwählen und diese dann, wenn die Farbvariable True wird, anzuzeigen. Die Zuweisung im PLC war nur dafür gedacht das Busy1 nicht doppelte Funktionen bringen muss. Aber deine Variante ist logischer!
> Nochmal danke.


Dann stimmt aber was nicht. Die Farben sind RGB kodiert. Die untersten zwei Hexstellen sind für blau, die oberen beiden (Bei 6 Stellen) für rot. Bei 16#0000FF dürfte es blau werden, bei 16#FF0000 rot.


----------



## PN/DP (14 Mai 2022)

Das klingt nach endianness-Problematik.

Harald


----------



## oliver.tonn (14 Mai 2022)

PN/DP schrieb:


> Das klingt nach endianness-Problematik.
> 
> Harald


Da es das selbe System ist, eher nicht.


----------



## holgermaik (14 Mai 2022)

oliver.tonn schrieb:


> Dann stimmt aber was nicht. Die Farben sind RGB kodiert. Die untersten zwei Hexstellen sind für blau, die oberen beiden (Bei 6 Stellen) für rot. Bei 16#0000FF dürfte es blau werden, bei 16#FF0000 rot.


RGB schon aber anders.


----------



## oliver.tonn (14 Mai 2022)

holgermaik schrieb:


> RGB schon aber anders.
> Anhang anzeigen 61067


Ups, sorry, OK, ich dachte immer RGB. Werde das mal in TwinCAT testen.
Habe da wohl die Programme verwechselt, bei SnagIt ist die Reihenfolge RGB.


----------

