FB_DALIV2xSendDALICommand

The function block FB_DALIV2xSendDALICommand is used for the general sending of a DALI command, defined by command number and - if necessary - transfer parameter. Moreover, it is possible to set whether the command is sent twice in succession and whether to wait for a response. The latter can be used, for example, to realize a fast sequence of step-up commands.
In contrast to the function block FB_DALIV2SendDALICommand, this function block is also able to control DALI control devices (sensors).
 Inputs
VAR_INPUT
  bStart                       : BOOL;
  nAddr                        : BYTE;
  eAddrType                    : E_DALIV2AddrType := eDALIV2AddrTypeShort;
  nInstAddr                    : BYTE := 0;
  eInstAddrType                : E_DALIV2InstAddrType := eDALIV2InstAddrTypeNumber;
  eCommandPriority             : E_DALIV2CommandPriority := eDALIV2CommandPriorityMiddle;
  nCommand                     : INT := 0;
  nParameter01                 : BYTE := 0;
  nParameter02                 : DINT := 0;
  bWaitingForDALISlaveResponse : BOOL := FALSE;
  bRepeatCommand               : BOOL := FALSE;
  bSuppressResponseBuffer      : BOOL := FALSE;
  nDeviceType                  : BYTE := 0;
  nOptions                     : DWORD := 0;
  eDataFrameType               : E_DALIV2DataFrameType := eDALIV2DataFrameType16Bit;
END_VARName  | Type  | Description  | 
|---|---|---|
bStart  | BOOL  | The function block is activated by a positive edge at this input.  | 
nAddr  | BYTE  | The address of a device or of a group  | 
eAddrType  | Short address, group address or broadcast  | |
nInstAddr  | BYTE  | Address of the instance within the device  | 
eInstAddrType  | E_DALIV2InstAddrType  | Defines the meaning of the variable nInstAddr for addressing the instance (e.g. by instance number, instance type,...).  | 
eCommandPriority  | Priority (high, medium or low) with which the command is processed by the library.  | |
nCommand  | INT  | Number of the DALI command to be sent  | 
nCommand01  | BYTE  | Parameter for the value transfer  | 
nCommand02  | DINT  | Parameter for the value transfer  | 
bWaitingForDALISlaveResponse  | BOOL  | If FALSE, the system does not wait for the response from the DALI device. Its application makes no sense in connection with any kind of query command.  | 
bRepeatCommand  | BOOL  | Decides whether the command is to be sent twice in succession.  | 
bSuppressResponseBuffer  | BOOL  | If TRUE, the internal buffer is not filled with the response from the function block FB_KL6811Communication (KL6811) or FB_KL6821Communication (KL6821).  | 
nDeviceType  | BYTE  | Identifier for the device type (see table below)  | 
nOptions  | DWORD  | Reserved for future developments.  | 
eDataFrameType  | E_DALIV2DataFrameType  | Output format of the DALI command (eDALIV2DataFrameType24Bit, eDALIV2DataFrameType16Bit or eDALIV2DataFrameTypeOsram)  | 
Identifiers for the device type
Value  | Description  | 
|---|---|
0  | Standard device  | 
1  | Device for emergency lighting  | 
2  | Device for discharge lamps  | 
3  | Device for low-voltage halogen lamps  | 
4  | Device for dimming incandescent lamps  | 
5  | Device for converting digital signals into DC signals  | 
6  | Device for light emitting diodes (LEDs)  | 
7  | Device for switching functions  | 
8  | Device for controlling the color/color temperature  | 
9  | Sequencer  | 
 Inputs/outputs
VAR_IN_OUT
  stCommandBuffer : ST_DALIV2CommandBuffer;
END_VARName  | Type  | Description  | 
|---|---|---|
stCommandBuffer  | ST_DALIV2CommandBuffer  | Reference to the internal structure for communication with FB_KL6811Communication (KL6811) or FB_KL6821Communication (KL6821).  | 
 Outputs
VAR_OUTPUT
  bBusy    :        BOOL;
  bError   :        BOOL;
  nErrorId :        UDINT;
  arrResponseData : ARRAY [0..3] OF BYTE;
END_VARName  | Type  | Description  | 
|---|---|---|
bBusy  | BOOL  | When the function block is activated the output is set, and it remains active until execution of the command has been completed.  | 
bError  | BOOL  | This output is switched to TRUE as soon as an error occurs during the execution of a command. The command-specific error code is contained in nErrorId. Is reset to FALSE by the execution of a command at the inputs.  | 
nErrorId  | UDINT  | Contains the command-specific error code of the most recently executed command. Is reset to 0 by the execution of a command at the inputs (see error codes).  | 
arrResponseData  | ARRAY OF BYTE  | The value received from the DALI device if a query command was invoked.  | 
Requirements
Development Environment  | PLC library to include  | 
|---|---|
TwinCAT from v3.1.4022.4  | Tc2_DALI from v3.6.2.0  |