FB_DALIV2GetSettingsType01
This function-block reads the variables (BATTERY CHARGE, DURATION TEST RESULT, LAMP EMERGENCY TIME…) from all emergency lighting ballasts in a DALI line and stores them in a structure of type ST_DALIV2DeviceSettingsType01.
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_DALIV2DeviceSettingsType01), after which the settings of the ballast are read out one by one and written in 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 arrDALIDeviceSettingsType01[0], and so on through to the device with short address 63 having its data at arrDALIDeviceSettingsType01[63]. If a read error occurs when reading from a device, the corresponding bit in nErrors 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 BATTERY CHARGE |
2 | Error whilst reading the variable DURATION TEST RESULT |
3 | Error whilst reading the variable LAMP EMERGENCY TIME |
4 | Error whilst reading the variable LAMP TOTAL OPERATION TIME |
5 | Error whilst reading the variable EMERGENCY LEVEL |
6 | Error whilst reading the variable EMERGENCY MIN LEVEL |
7 | Error whilst reading the variable EMERGENCY MAX LEVEL |
8 | Error whilst reading the variable RATED DURATION |
9 | Error whilst reading the variable FUNCTION TEST DELAY TIME |
10 | Error whilst reading the variable DURATION TEST DELAY TIME |
11 | Error whilst reading the variable FUNCTION TEST INTERVAL |
12 | Error whilst reading the variable DURATION TEST INTERVAL |
13 | Error whilst reading the variable TEST EXECUTION TIMEOUT |
14 | Error whilst reading the variable PROLONG TIME |
15 | Error whilst reading the variable EMERGENCY MODE |
16 | Error whilst reading the variable FEATURES |
17 | Error whilst reading the variable FAILURE STATUS |
18 | Error whilst reading the variable EMERGENCY STATUS |
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 := eDALIV2CommandPriorityHigh;
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: Priority (high, medium or low) with which the command is processed by the library.
nOptions: Options for reading the variables (see table). The individual constants must be linked with OR operators.
Constant | Description |
---|---|
DALIV2_OPTION_BATTERY_CHARGE | The variable BATTERY CHARGE |
DALIV2_OPTION_DURATION_TEST_RESULT | The variable DURATION TEST RESULT |
DALIV2_OPTION_LAMP_EMERGENCY_TIME | The variable LAMP EMERGENCY TIME |
DALIV2_OPTION_LAMP_TOTAL_OPERATION_TIME | The variable LAMP TOTAL OPERATION TIME |
DALIV2_OPTION_EMERGENCY_LEVEL | The variable EMERGENCY LEVEL |
DALIV2_OPTION_EMERGENCY_MIN_LEVEL | The variable EMERGENCY MIN LEVEL |
DALIV2_OPTION_EMERGENCY_MAX_LEVEL | The variable EMERGENCY MAX LEVEL |
DALIV2_OPTION_RATED_DURATION | The variable RATED DURATION |
DALIV2_OPTION_NEXT_FUNCTION_TEST | The variable FUNCTION TEST DELAY TIME |
DALIV2_OPTION_NEXT_DURATION_TEST | The variable DURATION TEST DELAY TIME |
DALIV2_OPTION_FUNCTION_TEST_INTERVAL | The variable FUNCTION TEST INTERVAL |
DALIV2_OPTION_DURATION_TEST_INTERVAL | The variable DURATION TEST INTERVAL |
DALIV2_OPTION_TEST_EXECUTION_TIMEOUT | The variable TEST EXECUTION TIMEOUT |
DALIV2_OPTION_PROLONG_TIME | The variable PROLONG TIME |
DALIV2_OPTION_EMERGENCY_MODE | The variable EMERGENCY MODE |
DALIV2_OPTION_FEATURES | The variable FEATURES is read. |
DALIV2_OPTION_FAILURE_STATUS | The variable FAILURE STATUS |
DALIV2_OPTION_EMERGENCY_STATUS | The variable EMERGENCY STATUS |
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 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 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 current ballast from which variables are being read.
VAR_IN_OUT
stCommandBuffer : ST_DALIV2CommandBuffer;
arrDALIDeviceSettingsType01 : ARRAY[0..63] OF ST_DALIV2DeviceSettingsType01;
stCommandBuffer: A reference to the structure for communication with the FB_DALIV2Communication() (KL6811) or FB_KL6821Communication() (KL6821) block.
arrDALIDeviceSettingsType01: Reference to an array of 64 elements of type ST_DALIV2DeviceSettingsType01. The settings of each individual DALI ballast are stored in these variables.