FB_DALIV2GetSettings

FB_DALIV2GetSettings 1:

This block reads the variables (MIN LEVEL, MAX LEVEL, FADE TIME, ...) of all ballasts within DALI line and saves them in a structure of type ST_DALIV2DeviceSettings.

Applying a positive edge to the bStart input starts the block, and the bBusy output goes TRUE. A check is first made as to whether a ballast is present at all. If this is the case, then the bPresent bit is set in the corresponding structure (see ST_DALIV2DeviceSettings), after which the settings of the ballast are read out one by one and written into the associated variables in the structure. If it is found that a device is not available, the reading is skipped and work continues with the next device. The structure index here reflects the address of the device. In other words, data for the device with short address 0 is located at arrDALIDeviceSettings[0], and so on through to the device with short address 63 having its data at arrDALIDeviceSettings[63]. If a read error occurs when reading from a device, the nErrors element is set for the respective structure without the function block itself switching to error mode. The following table shows which bit is set in the nErrors variable when an error occurs during the reading of a variable from a ballast.

Bit

Error

0

An error occurred whilst attempting to seek the ballast.

1

Error whilst reading the variable ACTUAL DIM LEVEL

2

Error whilst reading the variable POWER ON LEVEL

3

Error whilst reading the variable SYSTEM FAILURE LEVEL

4

Error whilst reading the variable MIN LEVEL

5

Error whilst reading the variable MAX LEVEL

6

Error whilst reading the variable FADE RATE

7

Error whilst reading the variable FADE TIME

8

Error whilst reading the variable RANDOM ADDRESS

9

Error whilst reading the variables GROUP 0-7, GROUP 8-15

10

Error whilst reading the variables SCENE 0 to SCENE 15

11

Error whilst reading the variable STATUS INFORMATION

12

Error whilst reading the variable VERSION NUMBER

13

Error whilst reading the variable DEVICE TYPE

14

Error whilst reading the variable PHYSICAL MIN LEVEL

When the function block has been processed, the bBusy output changes from TRUE to FALSE. Processing this function block can take several seconds, depending on how many ballasts are attached.

VAR_INPUT

bStart            : BOOL;
bCancel           : BOOL;
eCommandPriority  : E_DALIV2CommandPriority := eDALIV2CommandPriorityMiddle;
nOptions          : DWORD;

bStart: The block is activated by a rising edge at this input.

bCancel: A rising edge at this input will deactivate the block and hence abort the reading of the variable.

eCommandPriority: The priority (high, middle, low) this command has when executed by the library.

nOptions: Options for reading the variables (see table). The individual constants must be linked with OR operators.

Constants

Description

DALIV2_OPTION_ACTUAL_DIM_LEVEL

The variable ACTUAL DIM LEVEL

DALIV2_OPTION_POWER_ON_LEVEL

The variable POWER ON LEVEL

DALIV2_OPTION_SYSTEM_FAILURE_LEVEL

The variable SYSTEM FAILURE LEVEL

DALIV2_OPTION_MIN_LEVEL

The variable MIN LEVEL

DALIV2_OPTION_MAX_LEVEL

The variable MAX LEVEL

DALIV2_OPTION_FADE_RATE_FADE_TIME

The variables FADE RATE

DALIV2_OPTION_RANDOM_ADDRESS

The variable RANDOM ADDRESS

DALIV2_OPTION_GROUPS

The variables GROUP 0-7 GROUP 8-15 are read

DALIV2_OPTION_SCENE_LEVELS

The variables SCENE 0 to SCENE 15

DALIV2_OPTION_STATUS_INFORMATION

The variable STATUS INFORMATION

DALIV2_OPTION_VERSION_NUMBER

The variable VERSION NUMBER

DALIV2_OPTION_DEVICE_TYPE

The variable DEVICE TYPE

DALIV2_OPTION_PHYSICAL_MIN_LEVEL

The variable PHYSICAL MIN LEVEL

DALIV2_OPTION_DONT_CLEAR_DEVICE_SETTINGS

Before reading doesn't delete the variable arrDALIDeviceSettings.

DALIV2_OPTION_ALL

All variables are read.

VAR_OUTPUT

bBusy              : BOOL;
bError             : BOOL;
nErrorId           : UDINT;
nCurrentShortAddr  : BYTE;

bBusy: When the block is activated the output is set, and it remains active until execution of the command has been completed.

bError: This output is switched to TRUE if 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 an instruction at the inputs.

nErrorId: Contains the command-specific error code of the most recently executed command. Is reset to 0 by the execution of an instruction at the inputs. See Error codes.

nCurrentShortAddr: Short address of the ballast from which variables are being read.

VAR_IN_OUT

stCommandBuffer        : ST_DALIV2CommandBuffer;
arrDALIDeviceSettings  : ARRAY[0..63] OF ST_DALIV2DeviceSettings;

stCommandBuffer: A reference to the structure for communication with the FB_DALIV2Communication() (KL6811) or FB_KL6821Communication() (KL6821) block.

arrDALIDeviceSettings: Reference to an array of 64 elements of type ST_DALIV2DeviceSettings. The settings of each individual DALI ballast are stored in these variables.