FB_BA_DALILgtActr

Funktionsbaustein zum Ansteuern eines DALI-Lichtaktors

FB_BA_DALILgtActr 1:

Funktionsbeschreibung

Der Baustein empfängt seine Kommandos über das Befehlstelegramm stLgtCmd.
Als Licht-Ansteuerungsbaustein für das DALI-Subsystem besitzt er als IN-OUT-Variable eine Referenz auf die Befehlsspeicher-Struktur stDALICmdBuf.

Ein-/Ausgänge

VAR_INPUT

byShrtAdr        : BYTE;
byGrpAdr         : BYTE;
eMod             : BOOL;
lrSttupCtrlVal   : LREAL;
lrMinCtrlVal     : LREAL;
lrMaxCtrlVal     : LREAL;
lrLgtOffset      : LREAL;
uiDimTi          : UINT;
uiBlinkTi        : UINT;
uiOffDly         : UINT;
uiPollActLgtLvl  : UINT;
bReinit          : BOOL;
stLgtCmd         : ST_BA_LgtCmd;

byShrtAdr : Kurzadresse des anzusprechenden DALI-Vorschaltgeräts. Diese Adresse muss im gültigen Bereich von 0..63 sein, da der Baustein ein vorhandenes Vorschaltgerät braucht um die Status abzufragen. Bei einer ungültigen Adresse wird der Baustein nicht ausgeführt und ein entsprechender Fehlercode ausgegeben. Die Kurzadresse bezieht sich auf die DALI-Befehle, welche sich durch die Eingänge an diesem Baustein ergeben:

byGrpAdr: Gruppenadresse. Wird nur berücksichtigt, wenn das Vorschaltgerät durch diesen Baustein als Master betrieben wird: eMod=eBA_DALIModGrpMst oder eMod=eBA_DALIModGrpSgl.

FB_BA_DALILgtActr 2:

Auch wenn dieser Baustein als Master eine Gruppe ansteuern sollte, ist in jedem Fall die Kurzadresse des Masters unter byShrtAdr einzutragen, da aus dem entsprechenden Vorschaltgerät Daten stellvertretend für die ganze Gruppe ausgelesen werden.

eMod: Auswahl über das Einzel-/Gruppen bzw. Master-/Slaveverhalten des Bausteins, siehe E_BA_DALIMod.

lrSttupCtrlVal: Lichtwert nach Neustart

lrMinCtrlVal: Minimaler Lichtausgabewert. [0..100%]. Eine Änderung am Bausteineingang bewirkt eine Umparametrierung (Kurzadresse) im Vorschaltgerät. Dort wird es nach unten hin auf den physikalischen Min-Wert und nach oben hin auf den Maximalwert begrenzt.

lrMaxCtrlVal: Maximaler Lichtausgabewert. [0..100%]. Eine Änderung am Bausteineingang bewirkt eine Umparametrierung (Kurzadresse) im Vorschaltgerät. Dort wird es nach unten hin auf den physikalischen Min-Wert begrenzt.

lrLgtOffset: Möglichkeit den Helligkeitswert zu erhöhen oder zu erniedrigen. Dies kann in einer Lampen-Gruppenschaltung bei den Leuchten sinnvoll sein, die in der Nähe von Tageslicht liegen und weniger hell sein müssen, als die Lampen, welche die dunklen Bereiche des Raumes ausleuchten. Der Lichtwert kann durch diesen Parameter jedoch nicht über lrMaxCtrlVal oder unter lrMinCtrlVal gesteuert werden.
Dieser Offset wirkt sich nur auf Befehle aus, welche über die Kommandostruktur als bSetCtrlValDct an den Baustein gelangen.

udiDimTi: Dimmrampe [s]: Zeit in der von 0 auf 100% gedimmt wird. Wird bausteinintern auf eine DALI-FadeRate umgerechnet und im Vorschaltgerät abgespeichert.

uiBlinkTi / uiOffDly: Mit diesen beiden Zeiten [ms] lässt sich eine Ausschaltwarnung, beispielsweise für eine Treppenhausbeleuchtung erzielen. Zu dem Zeitpunkt, an dem die Leuchte normalerweise abschaltet kommen diese beiden Intervalle zusätzlich zum Tragen: für die Zeit uiBlinkTi [s] wird das Licht ausgeschaltet und danach für die Zeit uiOffDly [s] noch einmal eingeschaltet.

uiPollActLgtLvl: Zykluszeit [s], mit der im Hintergrund der aktuelle Istwert (ACTUAL DIM LEVEL) ausgelesen wird. Damit das Dimmen der Lampen nicht gestört wird, wird das Auslesen immer in der niedrigsten Priorität durchgeführt. Wird der Wert auf 0 gesetzt, so wird das Auslesen gesperrt. Zusätzlich zum aktuellen Lichtwert wird auch das Statusbyte des Vorschaltgeräts ausgelesen und an den Ausgang byDALIDevSta geschrieben.

bReInit: Flankengesteuerter Eingang: Startet die Initialisierung des Bausteins erneut.

stLgtCmd: Befehlstelegramm vom Typ ST_BA_LgtCmd.

VAR_OUTPUT

lrActlLgtLvl     : LREAL;
byActlLgtLvl     : BYTE;
bLgt             : BOOL;
lrActlMinCtrlVal : LREAL;
bMinCtrlValRchd  : BOOL;
lrActlMaxCtrlVal : LREAL;
bMaxCtrlValRchd  : BOOL;
lrRstVal         : LREAL;
byActlFadeRate   : BYTE;
byPhysMinVal     : BYTE;
byActlMinCtrlVal : BYTE;
byActlMaxCtrlVal : BYTE;
bInitDevice      : BOOL;
bBlinkSeqStarted : BOOL;
bActionBusy      : BOOL;
bErr             : BOOL;
udiErrId         : UDINT;
udiErrArg        : UDINT;
byDALIDevSta     : BYTE;

lrActlLgtLvl: Aktueller Lichtausgabewert [0..100%]

byActlLgtLvl: Aktueller Lichtausgabewert [0..254]

bLgt: Licht ist ein- oder ausgeschaltet

lrActlMinCtrlVal: Aktuell gültiger Minimalwert. Die Ausgabe dieses Wertes wird nur in der Initialisierungsphase des Bausteins und damit des betreffenden Vorschaltgeräts durch eine QueryMinLevel-Abfrage verifiziert. Im weiteren Verlauf wird der Wert an diesem Ausgang ausgegeben, der über den Bausteineingang bzw. über die Kommandostruktur in das Vorschaltgerät einprogrammiert wird. In diesem kann eine Begrenzung auf den physikalischen Min-Wert oder auf den Max-Wert stattfinden.

bMinCtrlValRchd: Der Aktor hat seinen Minimalwert erreicht.

lrActlMaxCtrlVal: Aktuell gültiger Maximalwert. Die Ausgabe dieses Wertes wird nur in der Initialisierungsphase des Bausteins und damit des betreffenden Vorschaltgeräts durch eine QueryMinLevel-Abfrage verifiziert. Im weiteren Verlauf wird der Wert an diesem Ausgang ausgegeben, der über den Bausteineingang bzw. über die Kommandostruktur in das Vorschaltgerät einprogrammiert wird. In diesem kann eine Begrenzung auf den Min-Wert oder auf 100% stattfinden.

bMaxCtrlValRchd: Der Aktor hat seinen Maximalwert erreicht.

lrRstVal:In dieser Variable wir der Lichtwert vor Ausschalten gesichert. Über den Befehl bClRstVal in der Kommandostruktur kann dieser Wert wieder hergestellt werden. Anwendungsbeispiel: Wenn in einem Konferenzraum nach einer Präsentation das Licht wieder eingeschaltet wird.

byActlFadeRate: Aktuell gültige DALI-FadeRate, welche sich aus der Dimmzeit (Eingang uiDimTi) ergibt.

byPhysMinVal: Während der Initialisierungsphase des Bausteins ausgelesener physikalischer Minimalwert [1..254].

byActlMinCtrlVal: siehe lrActlMinCtrlVal. Von [0..100%] auf den Wertebereich von [0..254] umgerechnet.

byActlMaxCtrlVal: siehe lrActlMaxCtrlVal. Von [0..100%] auf den Wertebereich von [0..254] umgerechnet.

bInitDevice: Lichtbaustein in der Initialisierungsphase: Es werden folgende Aktionen ausgeführt:

bBlinkSeqStarted: Die Blinksequenz wurde gestartet.

bActionBusy: Ein DALI-Befehl wird ausgeführt.

bErr: Lichtbaustein im Fehlerzustand

udiErrId / udiErrArg: Fehlernummer und -argument zur Bestimmung der Ursache, siehe Fehlercodes.

byDALIDevSta: Statusbyte des DALI-Vorschaltgeräts. Wird zusammen mit der automatischen Abfrage des Lichtwerts im Hintergrund ausgelesen, siehe Eingang uiPollActLgtLvl.

VAR_IN_OUT

stDALICmdBuf : ST_DALIV2CommandBuffer;

stDALICmdBuf: Referenz auf die Befehlsspeicher-Struktur stDALICmdBuf

Voraussetzungen

Entwicklungsumgebung

Zielsystem

erforderliche Bibliothek

erforderliches Supplement

TwinCAT 2.11 R3/x64

PC/CX

TcBASubsystems-Bibliothek ab V1.0.0

TS8040 | TwinCAT Building Automation ab V1.0.0