FB_BA_LightActrDALI_Base
This function block is used to control a DALI light actuator, a DALI group or DALI devices with a broadcast, whereby only the light brightness value is changed.
Function
Two routines are executed in the function block:
- Setting the light value if it deviates from the current value. This is subjected to a hysteresis range nHysLgtVal, see below.
- Reading the light value. This is done cyclically at the interval nPrdQueryLgtVal in seconds.
The "current value" is always initially assumed to be the value that was sent without errors. The cyclic query of the read function will correct the value if a telegram is nevertheless "lost" or the control gear has been controlled in another way.
This procedure ensures that, on the one hand, the DALI bus is not overloaded, but on the other hand, the actual light value is always read once.
The function block is controlled via values from the light telegram stLightingCmd. The control values of the light are limited to the limits that were previously transferred to the control gear or the devices by an initialization routine with other configuration parameters, see VAR_INPUT CONSTANT PERSISTENT. Initialization takes place via the input bInitialize. Fixed values are also transferred here, see VAR CONSTANT.
The light value is set internally exclusively via the DALI command FB_DALI102DirectArcPowerControl. This means that the FadeTime is the time taken to dim to the new light value.
This dimming time is pre-set to 0 s so that dimming ramps can be realized in the PLC alone.
If group or broadcast control is selected, the control and initialization commands are directed to all devices. Read commands, on the other hand, are only sent to the reference device.
Syntax
FUNCTION_BLOCK FB_BA_LightActrDALI_Base
VAR_INPUT
bEn : BOOL;
bInitialize : BOOL;
stLightingCmd : ST_BA_Lighting;
eAdrType : Tc3_DALI.E_DALIAddressType := Tc3_DALI.E_DALIAddressType.Short;
nAdr : BYTE;
nAdrRefDev : BYTE;
ipDALICommunication : I_DALICommunication;
END_VAR
VAR_OUTPUT
byActlLgtVal : BYTE;
fActlLgtVal : REAL;
bInitializing : BOOL;
bErr : BOOL;
END_VAR
VAR_INPUT CONSTANT PERSISTENT
nHysLgtVal : BYTE;
nPrdQueryLgtVal : UDINT;
nMinLevel : BYTE := 126;
nMaxLevel : BYTE := 254;
nPowerOnLevel : BYTE := 254;
nSystemFailureLevel : BYTE := 254;
eFadeTime : Tc3_DALI.E_DALIFadeTime := Tc3_DALI.E_DALIFadeTime.Disabled;
eFadeRate : Tc3_DALI.E_DALIFadeRate := Tc3_DALI.E_DALIFadeRate.N358StepsPerSec;
END_VAR
VAR CONSTANT
eExtendedFadeTimeBase : Tc3_DALI.E_DALIExtendedFadeTimeBase := Tc3_DALI.E_DALIExtendedFadeTimeBase.Base01;
eExtendedFadeTimeMultiplier : Tc3_DALI.E_DALIExtendedFadeTimeMultiplier := Tc3_DALI.E_DALIExtendedFadeTimeMultiplier.Disabled;
END_VAR
VAR_INPUT
Name | Type | Description |
---|---|---|
bEn | BOOL | Enabling the function block: a TRUE signal at this input enables the function. |
bInitialize | BOOL | A positive edge at this input starts the DALI initialization routine, which transfers the set parameters to the DALI device, see FB_BA_Swi4DALI. |
stLightingCmd | ST_BA_Lighting | Light control telegram |
eAdrType | Tc3_DALI.E_DALIAddressType | Defines whether the input nAdr contains a short address (0...63) or a group address (0...31). The input nAdr has no meaning if a broadcast is sent |
nAdr | BYTE | DALI short address of the sensor. |
nAdrRefDev | BYTE | DALI address of a reference device if group or broadcast control is selected. This reference device then represents all other controlled devices. |
ipDALICommunication | Interface pointer to the DALI communication block. |
VAR_OUTPUT
Name | Type | Description |
---|---|---|
byActlLgtVal | BYTE | Current light value in DALI format (0...254). |
fActlLgtVal | REAL | Current light value in percent. |
bInitializing | BOOL | The sensor is in the DALI initialization phase, i.e. the entered parameters are transferred to the DALI device. |
bErr | BOOL | Error output. A plain text is output in TwinCAT in the error list in the output window. |
VAR_INPUT CONSTANT PERSISTENT
Name | Type | Description |
---|---|---|
nHysLgtVal | BYTE | Hysteresis range around the light control value. A new set command is started if the setpoint nHysLgtVal/2 is above or below the actual value. |
nPrdQueryLgtVal | UDINT | Query interval of the light value [s]. |
The following parameters are transferred to the DALI control gear or the DALI devices by the initialization routine. |
Name | Type | Description |
---|---|---|
nMinLevel | BYTE | Minimum light control value in DALI output format (0...254). Pre-set to 126. |
nMaxLevel | BYTE | Maximum light control value in DALI output format (0...254). Pre-set to 254. |
nPowerOnLevel | BYTE | Light control value when the supply voltage is applied to the control gear. Pre-set to 254. |
nSystemFailureLevel | BYTE | Light control value in the event of an error on the DALI bus. Pre-set to 254. |
eFadeTime | The FadeTime defines the time the current output value takes to reach the required value. The FadeTime is pre-set to "disabled", which together with the deactivated "Extended FadeTime" (VAR CONSTANT) corresponds to a fade time of 0 s. | |
eFadeRate | The Fade Rate determines the rate of change (in steps per second) of the output value. It is not decisive for the behavior of this function block. It is pre-set to 358 steps/s. |
VAR CONSTANT
The following parameters cannot be changed and are transferred to the DALI device by the initialization routine. |
Name | Type | Description |
---|---|---|
eExtendedFadeTimeBase | The Extended Fade Time is intended for very long dimming ramps of up to 16 minutes. It is disabled for this use case. eExtendedFadeTimeBase designates the time base and is pre-set to the smallest value "Base01". | |
eExtendedFadeTimeMultiplier | eExtendedFadeTimeMultiplier is the multiplier for the time base and is set to the value "Disabled". |
Requirements
Development environment | Necessary function |
---|---|
TwinCAT from v3.1.4024.35 | TF8040 | TwinCAT Building Automation from V5.0.0.0 |