DALI (Digitally Addressable Lighting Interface) is the communication protocol that the zencontrol lighting control system uses to control and monitor the lights and other fixtures under its remit. You can find a more complete explanation at the zencontrol website: Learn about DALI.
In this article we'll cover the basics that you'll need to know to get up and running with the rest of this guide. It will be helpful to learn the terminology used, as the zencontrol tools use DALI terminology where practical.
Everything below is in the context of a single DALI bus. In practice, a site could be made up of hundreds of these DALI systems, but how they fit together and communicate with one-another is the subject of later parts of this guide.
Note: Throughout this guide you'll see multiple references to DALI. Unless specified, you should understand this to mean DALI 2, which expanded on the first implementation to introduce standardised input devices.
The DALI system
A functional DALI system is typically made up of the following components:
- 2 signal wires. ⌀2.5mm and with a maximum total length of 500m. It's recommended that no single run exceed 300m.
- a power supply (nominally 16v DC, max 250mA)
- a control system
- up to 64 output devices (lights, relays, etc.) which are to be controlled
- up to 63 input devices (switches, sensors, measurement devices, electrical inputs from other systems, etc.)
In DALI terminology, the outputs in the above setup are referred to as Electronic Control Gear (ECGs), and the inputs are referred to as Electronic Control Devices (ECDs). It's important to note here that any given product could expose multiple inputs and outputs; For example, an LED driver which has an integrated sensor. In this case the product would be considered to have one ECG (the LED driver) and one ECD (the sensor).
These ECGs and ECDs each have an address from 0-63. These address spaces are separate, so it's perfectly normal to have a control gear at control gear address 3 and a control device at control device address 3 on the same DALI bus.
Note: In practice, the upper limit for the number of connected products is typically the 250mA current limit, as each product draws a small amount of current from the DALI bus.
As mentioned above, the ECGs are typically the parts of the system that you want to control. They're your luminaire drivers and your relays. We'll touch how these can be configured and controlled below, starting with the most important concept: arc level.
The output level of an ECG a point in time is referred to as its arc level (also known as actual level). Arc level is expressed as a number from 0 to 254, where 0 is off and 254 is 100%. The percentage of output which corresponds to the numbers in between those two extremes is determined by the dimming curve.
The standard dimming curve is logarithmic, and has been designed to match the behaviour of the human eye which views changes in bright light as less significant than changes in dim light. This means that changes at the top end of the range (eg. moving from 250 -> 254) will produce a larger change in absolute light output than changes at the bottom of the range (eg. moving from 80 -> 84).
There are two classes of commands within DALI to instruct a control gear to a new arc level: direct, and indirect. Direct arc commands will send the target to a specified level (eg. 200), while indirect commands will send the target to another level based either on where it is now (eg. UP, which increases the level from its current position) or to a level specified by some other parameter (eg. RECALL MAX).
The common commands for controlling lighting are:
|Off||Turns off the target|
|Recall max||Recalls the maximum arc level|
|Recall min||Recalls the minimum arc level|
|Up||If on, dims up for 200ms|
|Down||If on, dims down for 200ms|
|Step up||If on, steps up one arc level|
|Step down||If on, steps down one arc level|
|On and step up||Steps up one arc level|
|Step down and off||Steps down one arc level|
|Go to scene [0-15]||Goes to the specified scene. Valid scenes are numbered 0-15|
|Direct arc [0-254]||Sets the device to the specified level. Valid levels are 0-254|
The above lighting commands can be sent to everything (known as a broadcast command), to an individual address, or to a number of addresses which form what is known as a DALI Group.
There are 16 possible groups, numbered from 0-15, and any one ECG can be a member of multiple groups. When a command such as one from the table above is addressed to a group, all members of that group will heed that command.
In a typical lighting installation, most lighting commands will be addressed in this way. Targeting groups results in less traffic on the DALI bus and a better experience visually: all ECGs will hear the command at the same time, which avoids any staggered effects which might be observed with individual control across a large open space.
To take this one step further and send different ECGs within a group to different levels based on a desired configuration, we can use a Scene.
Any given ECG can contain up to 16 preset levels, called scenes. These are numbered 0-15 and when an ECG hears the command GO TO SCENE # (eg. GO TO SCENE 5), the control gear will set its arc level to the level which it has stored for that scene.
Certain device types (which we'll come to shortly) have extended these to contain further settings which are recalled when going to a scene, for example ECGs which implement the Colour Change type may store colour presets as well as arc level intensities.
As alluded to in the above section on Groups, scenes are typically combined with DALI groups to achieve varied preset lighting (and blinds, etc.) levels across a space with a single command.
Each control gear exposes a number of commonly-used settings which can be adjusted to modify their behaviour.
|Maximum level||The largest arc level which the control gear will accept. If instructed to output more than this level, it will instead go to this level.|
|Minimum level||The smallest arc level which the control gear will accept. If instructed to output lower than this level (other than 0, which is off), it will instead go to this level.|
|Power on level||The level which the ECG should set itself to when it goes from an unpowered to a powered state. There is a special case here, which is 255, which tells the device to go to its last level.|
|System failure level||The level which the ECG should set itself to when it detects that the DALI voltage has been lost. There is a special case here, which is 255, which tells the device to remain at its current level.|
|Fade rate||Determines the speed at which the target will change arc levels when receiving an UP or DOWN command.|
|Fade time||The speed at which the target changes arc levels when receiving DIRECT ARC or SCENE commands.|
|Group memberships||The groups which this ECG is a member of|
|Scenes 0 -15||The stored arc level for this numbered scene. There is a special case here, 255, which tells the device to remain at its current level.|
DALI supports a number of different types of control gear, known within DALI as its device type. They are often referred to in conversation as the letters DT and their given device type number, eg. DT1, and any one ECG can implement multiple types.
The most common types are listed below:
|Emergency (DT1)||Control gear with the capacity to illuminate from battery power when mains power is lost. The emergency device type also facilitates scheduled testing of emergency functionality and reporting of recent results.|
|LED (DT6)||Allows for changing the dimming curve and some reporting on LED-specific error states.|
|Switching Gear / Relays (DT7)||Allows setting arc level thresholds and directions which will switch on/off the relay.|
|Colour change (DT8)||Fittings which allow directly setting the colour or tuneable white temperature.|
If ECGs are the things we want to control, then ECDs are typically the devices we want to use to control them.
These Electronic Control Devices are each made up of instances. This is probably best explained with the example of a DALI switch interface behind a regular 4-way wall switch: In this scenario the switch interface would be the ECD, and each of the 4 inputs would be instances of that ECD.
An individual ECD may have up to 32 instances, numbered from 0 to 31, and don't need to all be of the same type like they were the above example of a 4-way switch.
The most common instance types are:
|Pushbutton||An input for a standard retractive or bell-press switch.|
|Absolute input||An absolute level or position input such as a reed switch, SPST switch, absolute-position rotary control, etc.|
|Occupancy sensor||A sensor which measures occupancy.|
|Light sensor||A sensor which measures light level.|
|General purpose sensor||Sensors and measurement devices for quantities and values other than light and occupancy.|
Some of the above are commonly seen together, and in many cases the types are configurable. For example in the zencontrol 8m PIR sensor you will find an occupancy sensor instance and a light sensor instance. Each input of the ubiquitous zencontrol DALI switch interface can be configured to be a pushbutton, absolute input or LED indicator.
Note: The role of an instance is to simply broadcast the events which happen to it. A pushbutton, for example, might raise an event to tell the rest of the system that it's been pressed, or an occupancy sensor might raise an event to say that it's detected occupancy.
What this means is that at a low level the switch or sensor doesn't need to know which lights it's been tasked with controlling, and for these events to have any effect on the world we need to introduce the concept of an Application Controller.
Application Controllers, or Controllers for short, are responsible for putting all of the above together into a lighting installation which does what a customer requires of it. A well-developed application controller will monitor the products on its DALI line for faults, ensure that addresses are properly allocated, turn any instance events that it hears into useful changes and in combination with a gateway will communicate with other controllers and systems to facilitate more complex, higher level applications.
Article is closed for comments.