Priorities

If several DALI control devices are connected to a DALI line, priorities control concurrent access to the DALI bus. According to IEC 62386-103, all DALI-2 devices that can initiate sending of a DALI command (controllers) or sending of an event (input devices) on the DALI bus are referred to as DALI control device.

All DALI-2 devices of a DALI line must share the same data line. To avoid collisions during sending, the sending device checks whether the DALI bus has already been assigned. Sending takes place after a certain settling time, once the DALI bus is free. For high-priority DALI commands the bus access takes place after a short settling time, for low-priority commands the settling time is longer. In other words, high-priority DALI commands are given preference over low-priority DALI commands.

DALI control gears are defined in IEC 62386-102. They are not capable of sending DALI commands or events independently. DALI control gears may only return the 8-bit backward frame to forward frames sent by a DALI controller (see also Communication). Since a DALI controller waits for the backward frame, the 8-bit backward frame has the shortest settling time. This settling time is shorter than for DALI commands with the highest priority. This means that DALI forward frames can be processed without interference from other DALI commands.

The priorities used by a DALI controller for sending the DALI commands are referred to as command priorities and are mapped by the data type E_DALICommandPriority. Command priorities can have 5 different values:

Most function blocks referred to in chapter Part 102 (control gears) have the input eCommandPriority. This input is used to specify the priority with which the DALI commands are to be sent via the KL6821/EL6821.

Events also have a priority (event priority), which is represented by the data type E_DALIEventPriority. Event priorities can have 4 values in the range Low (DALI priority 5) to Middle high (DALI priority 2). The event priority is written as a parameter (see instance variable eventPriority) into the respective instances of the DALI devices.

Priority High (DALI priority 1) is only allowed for DALI-2 commands and cannot be used for events.

Tc3_DALI uses the following default values for the priorities:

E_DALICommandPriority/
E_DALIEventPriority

Application

Low

-

MiddleLow

Light sensor events (Part 304).
All other DALI commands.

Middle

Events of push buttons (Part 301), absolute input devices (Part 302) and occupancy sensors (Part 303).

MiddleHigh

DALI commands for writing parameters and for addressing DALI devices.

High

DALI commands for transactions (from the second DALI command).

When selecting priorities, care should always be taken to ensure that time-critical events that are important for switching the lighting have a higher priority than the DALI commands themselves. Non-system-critical DALI commands, such as the cyclic querying of states for the display in a visualization, should be sent with a lower priority.

Priorities for DALI commands (E_DALICommandPriority) are supported from Tc3_DALI V3.11.0.0. If the KL6821 is used, it must contain the firmware BD or newer. Older firmware versions always send DALI commands with the priority High.

Priorities 1:

Neither the KL6811 nor the Tc2_DALI library support priorities for DALI commands.

Priorities are always important in situations where DALI sensors (input devices) send events and DALI commands are sent in parallel via the KL6821/EL6821. If only DALI control gears and a DALI controller (KL6821/EL6821) are connected to a DALI line, the priorities of the DALI commands are of secondary importance. The priorities of the DALI commands can also be neglected if the DALI sensors on the DALI line do not send notifications.

Further details about the DALI priorities can also be found in the following chapter Bus Timing.