Das Angebot von Grenton umfasst das LED-RGB-Modul zur Steuerung dreifarbiger Streifen/Bänder/Module. Dank der offenen Systemlogik kann sie ganz einfach an die Steuerung von einfarbigen LED-Streifen angepasst werden. Somit ist es möglich, mit einem LED-RGB-Modul drei getrennte einfarbige LED-Kreise zu steuern. Aus der folgenden Anleitung erfahren Sie, wie man das Modul zur Steuerung eines einfarbigen LED-Kreises verwendet, um die Funktionen wie Ein-/Ausschalten (Taste anklicken) und Lichtstärke regeln (Taste gedrückt halten) zu realisieren.


Damit diese Funktionalität umgesetzt werden kann, brauchen Sie wie folgt:



Damit die o. g. Funktionalität realisiert werden kann, muss wie folgt erstellt werden:

  • scripts - im Beispielprojekt wie folgt bezeichnet:
    • led1 - Dimmen des LED-Kreises (dunkler/heller),
    • led1_state_switch - Statusänderung (Flag-Änderung) des LED-Kreises,
    • led1_switch - Steuerung des LED-Kreises in Form von Ein-/Ausschalten
  • globale Variablen - im Beispielprojekt wie folgt bezeichnet:
    • led1_value - aktueller Wert der LED-Lichtstärke,
    • led1_state - aktueller Status des LED-Kreises



Konfiguration der CLU-Zentraleinheit


        1. Doppelklicken Sie das CLU-Icon, um in die Moduleinstellungen zu geraten.

        2. Öffnen Sie den Reiter "User features" und erstellen Sie eine globale Variable vom Typ number:

  • led1_value - aktueller Wert der LED-Lichtstärke - Anfangswert 0
  • led1_state - aktueller Status des LED-Kreises - Anfangswert 0



(zum Vergrößern klicken)




Logikkonfiguration

        1. Erstellen Sie Skripts zur Betriebsverwaltung. Informationen darüber, wie man in Grenton Skripts bilden kann, finden Sie HIER. Zur Unterstützung dieser Funktionalität werden folgende Skripts verwendet:

  • led1 - Dimmen des LED-Kreises (dunkler/heller),
  • led1_state_switch - Statusänderung (Flag-Änderung) des LED-Kreises - erforderlich fürs Dimmen und Ein-/Ausschalten
  • led1_switch - Steuerung des LED-Kreises in Form von Ein-/Ausschalten


        2. Erstellen Sie das Skript led1, indem Sie das Komponentenmenü rechts im Programmfenster von Object Manager verwenden.  Die logischen Bedingungen und Verknüpfungen zwischen den erstellten Funktionsblocks sollen wie unten dargestellt aussehen:



(zum Vergrößern klicken)



Unten finden Sie die komplette Komponentenliste und die dazugehörige Erstellungsprozedur.

  • Bedingung > CLU > Definierte Eigenschaften: led1_state > Logische Bedingung: "==" > Wert: 1

                Kontrolle, ob LED-Kreis-Status gleich 1 (d. h. Kontrolle, ob der Kreis eingeschaltet ist)



(zum Vergrößern klicken)


  • Bedingung > CLU > Definierte Eigenschaften: led1_value > Logische Bedingung: "<" > Wert: 255

         Schutz vor Überschreitung der maximalen am Grenton-Modulausgang zulässigen Stärke (ein höherer Wert wird auf 0 zurückgesetzt)


(zum Vergrößern klicken)



  • Operationen mit Variablen > led1_value > "+=" > Wert: 5

         Werterhöhung Stärke des led1-Kreises um 5 - heller


(zum Vergrößern klicken)



  • Aktion > LEDRGB > Methode: SetRvalue(Value,Ramp) > Parameter: Time > Wert: Eigenschaft > CLU > Definierte Eigenschaften: led1_value

        Dem Kanal R den Wert der Variablen led1_value zuordnen. Der Parameter Ramp (Anstiegszeit) gilt als Standardwert (und kann in den eingebauten Eigenschaften des Moduls geändert werden).


(zum Vergrößern klicken)



  • Bedingung > CLU > Definierte Eigenschaften: led1_value > Logische Bedingung: ">" > Wert: 0



(zum Vergrößern klicken)


  • Operationen mit Variablen > led1_value > "-=" > Wert: 5

        Wertverminderung Stärke des led1-Kreises um 5 - dunkler


(zum Vergrößern klicken)



  • Aktion > LEDRGB > Methode: SetRvalue(Value,Ramp) > Parameter: Time > Wert: Eigenschaft > CLU > Definierte Eigenschaften: led1_value

        Dem Kanal R den Wert der Variablen led1_value zuordnen. Der Parameter Ramp (Anstiegszeit) gilt als Standardwert (und kann in den eingebauten Eigenschaften des Moduls geändert werden).



(zum Vergrößern klicken)




ACHTUNG! Steigt die Stärke zu schnell an, ist der Wert herabzusetzen, um den die Variable led1_value erhöht bzw. vermindert wird. Ist diese Änderung zu langsam, dann ist der Wert zu steigern.


Die obige Logik sieht textuell wie unten dargestellt aus:


if(not (CLU->led1_state==1)) then
if(CLU->led1_value<255) then
CLU->led1_value=CLU->led1_value+5
CLU->x280000325_LEDRGB1->SetRvalue(CLU->led1_value)
end
else
if(CLU->led1_value>0) then
CLU->led1_value=CLU->led1_value-5
CLU->x280000325_LEDRGB1->SetRvalue(CLU->led1_value)
end
end


        3. Erstellen Sie das Skript led1_state_switch, indem Sie das Komponentenmenü rechts im Programmfenster von Object Manager verwenden. Die logischen Bedingungen und Verknüpfungen zwischen den erstellten Funktionsblocks sollen wie unten dargestellt aussehen:



(zum Vergrößern klicken)



Unten finden Sie die komplette Komponentenliste und die dazugehörige Erstellungsprozedur.

  • Bedingung > CLU > Definierte Eigenschaften: led1_state > Logische Bedingung: "==" > Wert: 1

            Kontrolle, ob LED-Kreis-Status gleich 1 (d. h. Kontrolle, ob der Kreis eingeschaltet ist)


(zum Vergrößern klicken)


  • Operationen mit Variablen > led1_state > "=" > Wert: 0

        Status des LED-Kreises auf 0 (ausgeschaltet) setzen



(zum Vergrößern klicken)



  • Operationen mit Variablen > led1_state > "=" > Wert: 1

        Status des LED-Kreises auf 1 (eingeschaltet) setzen


(zum Vergrößern klicken)




Die obige Logik sieht textuell wie unten dargestellt aus:

<span style="font-family: Tahoma,Geneva,sans-serif;">if(not (CLU->led1_state==1)) then
CLU->led1_state=1
else
CLU->led1_state=0
end</span>


        4. Erstellen Sie das Skript led1_switch, indem Sie das Komponentenmenü rechts im Programmfenster von Object Manager verwenden. Die logischen Bedingungen und Verknüpfungen zwischen den erstellten Funktionsblocks sollen wie unten dargestellt aussehen:



(zum Vergrößern klicken)



Unten finden Sie die komplette Komponentenliste und die dazugehörige Erstellungsprozedur.


  • Bedingung > CLU > Definierte Eigenschaften: led1_state > Logische Bedingung: "==" > Wert: 1

        Kontrolle, ob LED-Kreis-Status gleich 1 (d. h. Kontrolle, ob der Kreis eingeschaltet ist)



(zum Vergrößern klicken)



  • Aktion > LEDRGB > Methode: SetRvalue(Value,Ramp) > Parameter: Time > Wert: 0

        Dem Kanal R den Wert 0 (Kreis ausschalten) zuordnen. Der Parameter Ramp (Anstiegszeit) gilt als Standardwert (und kann in den eingebauten Eigenschaften des Moduls geändert werden).



(zum Vergrößern klicken)


  • Operationen mit Variablen > led1_value > "=" > Wert: 0

         Die Lichtstärke des LED-Kreises auf 0 (ausgeschaltet) setzen - Wertänderung für das eventuelle



(zum Vergrößern klicken)




  • Aktion > LEDRGB > Methode: SetRvalue(Value,Ramp) > Parameter: Time > Wert: 255

         Dem Kanal R den Wert 255 (Kreis einschalten) zuordnen. Der Parameter Ramp (Anstiegszeit) gilt als Standardwert (und kann in den eingebauten Eigenschaften des Moduls geändert werden).



(zum Vergrößern klicken)


  • Operationen mit Variablen > led1_value > "=" > Wert: 255

                 Die Lichtstärke des LED-Kreises auf 255 (eingeschaltet) setzen - Wertänderung für das eventuelle


(zum Vergrößern klicken)




Die obige Logik sieht textuell wie unten dargestellt aus:

if(CLU->led1_state==1) then
CLU->x280000325_LEDRGB1->SetRvalue(0)
CLU->led1_value=0
else
CLU->x280000325_LEDRGB1->SetRvalue(255)
CLU->led1_value=255
end



Konfiguration der Ein- / Ausgangsgeräte

        1. Doppelklicken Sie das switch-Eingang-Icon, um in die Moduleinstellungen zu geraten.



        2. Öffnen Sie den Reiter "Embedded features" und stellen Sie die Anfangswerte der Parameter Mode, HoldDelay und HoldInterval wie unten dargestellt ein.


(zum Vergrößern klicken)



  • Mode definiert die Betriebsart des Eingangs/der Taste - der Parameter muss als monostabil markiert sein, 

  • HoldDelay bestimmt die Zeit, nach deren Ablauf der Impuls (das Signal) als Ereignis OnHold vom System erkannt wird,

  • HoldInterval bestimmt das Intervall, mit dem das Ereignis OnHold ausgeführt wird.


        3. Öffnen Sie den Reiter "Events" und ordnen Sie den folgenden Ereignissen entsprechende Befehle zu:

  • für das Ereignis OnSwitchOff


(zum Vergrößern klicken)


  • für das Ereignis OnHold - verantwortlich für das Dimmen (dunkel/hell). Das Ereignis OnHold wird zyklisch ausgeführt, d. h. jedes Mal nach Ablauf der durch die Eigenschaft HoldInverval bestimmte Zeit.


(zum Vergrößern klicken)


  • für das Ereignis OnClick - verantwortlich für die Steuerung in Form von Ein- / Ausschalten



(zum Vergrößern klicken)




ACHTUNG! Wird die Zeit HoldInterval auf weniger als 100 eingestellt, dann wird der Parameter auf 0 zurückgesetzt, wodurch das System nicht ordentlich funktionieren wird.



Konfiguration ans System senden


  1. Nachdem alle Änderungen eingeführt worden sind, senden Sie die Konfiguration ans CLU, indem Sie die unten stehende Taste in der Toolleiste betätigen:



Damit ein weiterer LED-Kreis mit demselben Modul bedient werden kann, muss der nächste Kanal des LED-RGB-Moduls, d. h. G oder B für diese Steuerung eingerichtet werden. Dazu wiederholen Sie die oben beschriebenen Schritte für den gewünschten LED-Kreis.