FB_DALI102SendCommand

FB_DALI102SendCommand 1:

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.

FB_DALI102SendCommand 2:

Pro DALI-Linie sollte nur eine Instanz von FB_DALI102SendCommand angelegt werden. Das Synchronisieren der DALI-Befehle muss dann im SPS-Programm erfolgen.

FB_DALI102SendCommand 3: 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_VAR

Name

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

E_DALIAddressType

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

E_DALICommandPriority

Priorität (low, middle low, middle, middle high, high), mit der die DALI-Befehle versendet werden.

FB_DALI102SendCommand 4:

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.
Mögliche DALI-Befehle sind in der Tabelle unten aufgeführt.

nParameter

USINT

Zusätzlicher Parameter eines DALI-Befehls. Befehle mit weiteren Parametern sind in der Tabelle unten aufgeführt.

FB_DALI102SendCommand 5: Ausgänge

VAR_OUTPUT
  bError                  : BOOL;
  ipResultMessage         : I_TcMessage;
  bBusy                   : BOOL;
  nResponse               : BYTE;
END_VAR

Name

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