FB_DALI_Zencontrol_Scenepanel_Switch

The function block represents the Scenepanel Switch DALI push button interface from Zencontrol.
Up to four push buttons (instances 0 to 3) can be connected directly via the device.
For information on the exact functions of the individual instances, please refer to the manufacturer's device documentation.
Further information on the supported instance types can be found here:
Part 301 (push buttons) - Introduction
The existing parameters can be overwritten by changing the properties listed below. All parameters are written to the DALI control device by a positive edge at bInitialize and stored there.
The outputs with the output values of the DALI device only contain valid values if the function block was executed without errors (bError = FALSE). If the output bError = TRUE, the outputs with the output values must not be evaluated.
The reading of the corresponding instance can be triggered immediately via the input variable bQueryInputValueN, even if the corresponding instance is not enabled.
The properties bEnablePushButtonN make it possible to disable individual instances.
![]() | Set the times so that as few events as possible are sent. If too many events are sent, this can have a negative effect on the behavior of the application. |
![]() | The function block cannot be used when using the KL6811. |
Inputs
VAR_INPUT
bInitialize : BOOL := FALSE;
nShortAddress : BYTE := 0;
nOptions : DWORD := 0;
bQueryInputValue1 : BOOL := FALSE;
bQueryInputValue2 : BOOL := FALSE;
bQueryInputValue3 : BOOL := FALSE;
bQueryInputValue4 : BOOL := FALSE;
END_VAR
Name | Type | Description |
---|---|---|
bInitialize | BOOL | The configuration of the DALI control device is started by a positive edge at this input. During this time no DALI commands are processed. |
nShortAddress | BYTE | Short address (0…63) of the DALI control device. |
nOptions | DWORD | Reserved for future extensions. |
bQueryInputValueN | BOOL | The state of the corresponding push button is queried immediately by a positive edge at this input. |
Outputs
VAR_OUTPUT
bError : BOOL;
ipResultMessage : I_TcMessage;
bInitializing : BOOL;
bReadingInputValue1 : BOOL;
bReadingInputValue2 : BOOL;
bReadingInputValue3 : BOOL;
bReadingInputValue4 : BOOL;
nPushButton1Event : WORD;
nPushButton2Event : WORD;
nPushButton3Event : WORD;
nPushButton4Event : WORD;
END_VAR
Name | Type | Description |
---|---|---|
bError | BOOL | This output is switched to TRUE if an error occurs during the execution. Further information about the error can be queried via the variable ipResultMessage. The output is set to FALSE again as soon as bBusy switches to TRUE. |
ipResultMessage | I_TcMessage | Interface pointer (see error evaluation) that can be used to obtain detailed information about the processing of the function block (see runtime messages). The interface pointer is valid after bBusy has changed from TRUE to FALSE. |
bInitializing | BOOL | The output is set as soon as the initialization of the DALI control device has been started, and remains active until all DALI commands have been executed. |
bReadingInputValueN | BOOL | The outputs are set as soon as the manual reading of the corresponding input has been triggered. |
nPushButtonNEvent | WORD | The outputs output the events for the corresponding push button via one bit for one cycle. |
Bit | Description |
---|---|
0 | Push button released. |
1 | Push button pressed. |
2 | Short keystroke. |
3 | Double keystroke. |
4 | Start long keystroke. |
5 | Repeat long keystroke. |
6 | Stop long keystroke. |
7 | Push button free again; was previously blocked. |
8 | Push button blocked. |
The function block FB_DALI_ToPushButtonState can be used to convert the state of a push button into a BOOL variable.
Properties
All parameters that are written to the DALI control device via bInitialize are available as properties.
The properties of instances of the same type are listed only once in the table and marked with N at the end.
Name | Type | Access | Initial value | Description |
---|---|---|---|---|
bEnablePushButtonN | BOOL | Get, Set | TRUE | FALSE on this property causes sending of events from this instance to be disabled. However, the actual value of the instance can still be queried via the input bQueryPushButtonN. |
nEventFilterPushButtonN | BYTE | Get, Set | 2#1000_0011 | Setting of the event filter. |
eEventPriorityPushButtonN | E_DALIEventPriority | Get, Set | Middle | Setting of the event priority. |
nDoubleTimerPushButtonN | UINT | Get, Set | 0 ms | Time (0, tDoubleMin…2000 ms) to distinguish between a single and a double button press. |
nRepeatTimerPushButtonN | UINT | Get, Set | 160 ms | Interval (100…2000 ms) of repetitive events in the case of a long button press. |
nShortTimerPushButtonN | UINT | Get, Set | 500 ms | Time (tShortMin...5100 ms) to distinguish between a long and a short button press. tShortMin is a manufacturer-specific value. |
nStuckTimerPushButtonN | BYTE | Get, Set | 20 s | Time (5…255 s) after whose expiry the push button no longer represents a long button press. The push button is stuck. |
ipDALICommunication | I_DALICommunication | Get, Set | 0 | Interface pointer to the communication block (see Transfer of the reference to the communication block). |
Requirements
Development environment | Required PLC library |
---|---|
TwinCAT from v3.1.4024.22 | Tc3_DALI from v3.9.0.0 |