FB_DALI102SendCommand

Der Baustein FB_DALI102SendCommand versendet den angegebenen DALI-Befehl an das DALI-Vorschaltgerät.
Über den Eingang nParameter kann für bestimmte DALI-Befehle ein zusätzlicher Parameter übergeben werden. Die genaue Bedeutung des Parameters ist im DALI-Standard hinterlegt. Ob ein DALI-Befehl einen Parameter verwendet, wird in der unteren Tabelle durch die Spalte nParameter gekennzeichnet.
Der Rückgabewert bei den Abfragebefehlen wird an dem Ausgang nResponse ausgegeben. Die genaue Bedeutung der Rückgabewerte ist im DALI-Standard hinterlegt. Ob ein DALI-Befehl einen Rückgabewert verwendet, wird in der unteren Tabelle durch die Spalte nResponse gekennzeichnet.
Einige DALI-Befehle werden zweimal versendet, so wie es der DALI-Standard für bestimmte DALI-Befehle vorsieht. Ob ein DALI-Befehl zweimal versendet wird, wird in der unteren Tabelle durch die Spalte Send twice gekennzeichnet.
Versenden mehrere Instanzen von FB_DALI102SendCommand DALI-Befehle über dieselbe DALI-Klemme, so werden die DALI-Befehle der einzelnen Instanzen nicht untereinander synchronisiert. Dieses kann zu einem unerwünschten Verhalten führen, wenn z.B. Parameter in DALI-Vorschaltgeräten verändert werden.
Für das Verändern eines Parameters muss in den meisten Fällen auch der DALI-Befehl zum Setzen des DTR verwendet werden. Da der DALI-Befehl zum Setzen des DTR immer als Broadcast-Befehl versendet wird, hat dieses Auswirkungen auf alle DALI-Vorschaltgeräte einer DALI-Linie. Verändern mehrere Instanzen von FB_DALI102SendCommand gleichzeitig Parameter von DALI-Vorschaltgeräten an einer DALI-Linie, so kann es durch das globale Schreiben des DTR zu unerwünschten Seiteneffekten kommen.
![]() | Pro DALI-Linie sollte nur eine Instanz von FB_DALI102SendCommand angelegt werden. Das Synchronisieren der DALI-Befehle muss dann im SPS-Programm erfolgen. |
Eingänge
VAR_INPUT
bStart : BOOL;
nAddress : BYTE;
eAddressType : E_DALIAddressType := E_DALIAddressType.Short;
eCommandPriority : E_DALICommandPriority := E_DALICommandPriority.MiddleLow;
nCommand : INT;
nParameter : USINT;
END_VARName | Typ | Beschreibung |
|---|---|---|
bStart | BOOL | Über eine positive Flanke an diesem Eingang wird die Ausführung der DALI-Befehle gestartet. |
nAddress | BYTE | Adresse eines DALI-Vorschaltgerätes oder einer DALI-Gruppe. |
eAddressType | Definiert, ob der Eingang nAddress eine Kurzadresse (0…63) oder eine Gruppenadresse (0…15) enthält. Der Eingang nAddress hat keine Bedeutung, wenn ein Sammelruf (Broadcast) oder ein Sammelruf an nicht adressierte Geräte (BroadcastUnaddr) ausgewählt wurde. | |
eCommandPriority | Priorität (low, middle low, middle, middle high, high), mit der die DALI-Befehle versendet werden. |
![]() | eCommandPriority hat bei der KL6811 keine Verwendung. Die Prioritäten für die DALI-Befehle werden von der KL6821 ab dem Firmwarestand BD unterstützt. |
Name | Typ | Beschreibung |
|---|---|---|
nCommand | INT | Zu sendender DALI-Befehl. |
nParameter | USINT | Zusätzlicher Parameter eines DALI-Befehls. Befehle mit weiteren Parametern sind in der Tabelle unten aufgeführt. |
Ausgänge
VAR_OUTPUT
bError : BOOL;
ipResultMessage : I_TcMessage;
bBusy : BOOL;
nResponse : BYTE;
END_VARName | Typ | Beschreibung |
|---|---|---|
bError | BOOL | Der Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung ein Fehler aufgetreten ist. Weitere Informationen zu dem Fehler können über die Variable ipResultMessage abgefragt werden. Der Ausgang wird wieder auf FALSE gesetzt, sobald bBusy auf TRUE geht. |
ipResultMessage | I_TcMessage | Interface-Pointer (siehe Fehlerauswertung) mit dem detaillierte Informationen über die Abarbeitung des Bausteins abgefragt werden können (siehe Laufzeitmeldungen). Der Interface-Pointer ist gültig, nachdem bBusy von TRUE auf FALSE gewechselt hat. |
bBusy | BOOL | Der Ausgang wird gesetzt, sobald die Ausführung der DALI-Befehle gestartet wurde und bleibt so lange aktiv, bis alle DALI-Befehle abgearbeitet wurden. |
nResponse | BYTE | Rückgabewert des Abfragebefehls. Die Tabelle unten zeigt die Befehle mit möglichen Rückgabewerten. |
Befehle
nCommand | DALI-Command | nParameter | nResponse | Send twice |
|---|---|---|---|---|
-1 | DAPC | + | - | - |
0 | OFF | - | - | - |
1 | UP | - | - | - |
2 | DOWN | - | - | - |
3 | STEP UP | - | - | - |
4 | STEP DOWN | - | - | - |
5 | RECALL MAX LEVEL | - | - | - |
6 | RECALL MIN LEVEL | - | - | - |
7 | STEP DOWN AND OFF | - | - | - |
8 | ON AND STEP UP | - | - | - |
9 | ENABLE DAPC SEQUENCE | - | - | - |
10 | GO TO LAST ACTIVE LEVEL | - | - | - |
11 | CONTINUOUS UP | - | - | - |
12 | CONTINUOUS DOWN | - | - | - |
16…31 | GO TO SCENE | - | - | - |
32 | RESET | - | - | + |
33 | STORE ACTUAL LEVEL IN DTR0 | - | - | + |
35 | SET OPERATING MODE | - | - | + |
36 | RESET MEMORY BANK | - | - | + |
37 | IDENTIFY DEVICE | - | - | + |
42 | SET MAX LEVEL | - | - | + |
43 | SET MIN LEVEL | - | - | + |
44 | SET SYSTEM FAILURE LEVEL | - | - | + |
45 | SET POWER ON LEVEL | - | - | + |
46 | SET FADE TIME | - | - | + |
47 | SET FADE RATE | - | - | + |
48 | SET EXTENDED FADE TIME | - | - | + |
64…79 | SET SCENE | - | - | + |
80…95 | REMOVE FROM SCENE | - | - | + |
96…111 | ADD TO GROUP | - | - | + |
112…127 | REMOVE FROM GROUP | - | - | + |
128 | SET SHORT ADDRESS | - | - | + |
129 | ENABLE WRITE MEMORY | - | - | + |
144 | QUERY STATUS | - | + | - |
145 | QUERY CONTROL GEAR PRESENT | - | + | - |
146 | QUERY LAMP FAILURE | - | + | - |
147 | QUERY LAMP POWER ON | - | + | - |
148 | QUERY LIMIT ERROR | - | + | - |
149 | QUERY RESET STATE | - | + | - |
150 | QUERY MISSING SHORT ADDRESS | - | + | - |
151 | QUERY VERSION NUMBER | - | + | - |
152 | QUERY CONTENT DTR0 | - | + | - |
153 | QUERY DEVICE TYPE | - | + | - |
154 | QUERY PHYSICAL MINIMUM | - | + | - |
155 | QUERY POWER FAILURE | - | + | - |
156 | QUERY CONTENT DTR1 | - | + | - |
157 | QUERY CONTENT DTR2 | - | + | - |
158 | QUERY OPERATING MODE | - | + | - |
159 | QUERY LIGHT SOURCE TYPE | - | + | - |
160 | QUERY ACTUAL LEVEL | - | + | - |
161 | QUERY MAX LEVEL | - | + | - |
162 | QUERY MIN LEVEL | - | + | - |
163 | QUERY POWER ON LEVEL | - | + | - |
164 | QUERY SYSTEM FAILURE LEVEL | - | + | - |
165 | QUERY FADE TIME/FADE RATE | - | + | - |
166 | QUERY MANUFACTURER SPECIFIC MODE | - | + | - |
167 | QUERY NEXT DEVICE TYPE | - | + | - |
168 | QUERY EXTENDED FADE TIME | - | + | - |
170 | QUERY CONTROL GEAR FAILURE | - | + | - |
176…191 | QUERY SCENE LEVEL | - | + | - |
192 | QUERY GROUPS 0-7 | - | + | - |
193 | QUERY GROUPS 8-15 | - | + | - |
194 | QUERY RANDOM ADDRESS H | - | + | - |
195 | QUERY RANDOM ADDRESS M | - | + | - |
196 | QUERY RANDOM ADDRESS L | - | + | - |
197 | READ MEMORY LOCATION | - | + | - |
255 | QUERY EXTENDED VERSION NUMBER | - | + | - |
256 | TERMINATE | - | - | - |
257 | DTR0 | + | - | - |
258 | INITIALISE | + | - | + |
259 | RANDOMISE | - | - | + |
260 | COMPARE | - | + | - |
261 | WITHDRAW | - | - | - |
264 | SEARCHADDR H | + | - | - |
265 | SEARCHADDR M | + | - | - |
266 | SEARCHADDR L | + | - | - |
267 | PROGRAM SHORT ADDRESS | + | - | - |
268 | VERIFY SHORT ADDRESS | + | + | - |
269 | QUERY SHORT ADDRESS | - | + | - |
272 | ENABLE DEVICE TYPE | + | - | - |
273 | DTR1 | + | - | - |
274 | DTR2 | + | - | - |
275 | WRITE MEMORY LOCATION | + | + | - |
276 | WRITE MEMORY LOCATION – NO REPLY | + | + | - |
Voraussetzungen
Entwicklungsumgebung | Erforderliche SPS-Bibliothek |
|---|---|
TwinCAT ab v3.1.4024.68 | Tc3_DALI ab v3.22.2.0 |
