FB_DALI_Theben_TA_4_S

Der Funktionsbaustein repräsentiert die DALI-Tasterschnittstelle TA 4 S DALI-2 der Firma Theben.
Über das Gerät können bis zu 4 Taster (Instanzen 2 bis 5) und 2 Schieberegler/Temperatursensoren (Instanzen 0 und 1) angebunden werden.
Die Tastereingänge sind im Auslieferungszustand als Schließer (NO) konfiguriert. Sie können die Kontaktart über die Eigenschaften in Öffner (NC) ändern.
Die Parameter der zwei Absolute Input Eingänge können Sie über die Eigenschaften einstellen. Im Auslieferungszustand können 100 kOhm variable Widerstände direkt angeschlossen werden.
Weitere Informationen zur Konfiguration entnehmen Sie bitte der Gerätedokumentation des Herstellers.
Nähere Informationen zu den unterstützten Instanztypen finden Sie hier:
Part 301 (Taster) – Einleitung
Part 302 (Absolutwertgeber) - Einleitung
Durch Änderung der unten aufgeführten Eigenschaften, können die bestehenden Parameter überschrieben werden. Alle Parameter werden durch eine positive Flanke an bInitialize in das DALI-Steuergerät geschrieben und dort gespeichert.
Die Ausgänge mit den Ausgabewerten des DALI-Gerätes enthalten nur dann gültige Werte, wenn der Baustein fehlerfrei ausgeführt wurde (bError = FALSE). Ist der Ausgang bError = TRUE, so dürfen die Ausgänge mit den Ausgabewerten nicht ausgewertet werden.
Alle Eingänge können über eine positive Flanke an bQueryInputValueN und bQueryAbsoluteInputN unmittelbar abgefragt werden, auch wenn die entsprechende Instanz nicht freigegeben ist.
![]() | Stellen Sie die Zeiten so ein, dass möglichst wenige Ereignisse versendet werden. Werden zu viele Ereignisse versendet, kann sich das negativ auf das Verhalten der Anwendung auswirken. |
![]() | Bei Einsatz der KL6811 kann der Baustein nicht verwendet werden. |
Eingänge
VAR_INPUT
bInitialize : BOOL := FALSE;
nShortAddress : BYTE := 0;
nOptions : DWORD := 0;
bQueryInputValue1 : BOOL := FALSE;
bQueryInputValue2 : BOOL := FALSE;
bQueryInputValue3 : BOOL := FALSE;
bQueryInputValue4 : BOOL := FALSE;
bQueryAbsoluteInput1 : BOOL := FALSE;
bQueryAbsoluteInput2 : BOOL := FALSE;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bInitialize | BOOL | Durch eine positive Flanke an diesem Eingang wird das Konfigurieren des DALI-Steuergerätes gestartet. Während dieser Zeit werden keine DALI-Befehle bearbeitet. |
nShortAddress | BYTE | Kurzadresse (0…63) des DALI-Steuergerätes. |
nOptions | DWORD | Reserviert für zukünftige Erweiterungen. |
bQueryInputValueN | BOOL | Unmittelbare Abfrage der Werte an den Tastereingängen 1 bis 4. |
bQueryAbsoluteInputN | BOOL | Unmittelbare Abfrage der Werte an den Absolutwerteingängen 1 bis 2. |
Ausgänge
VAR_OUTPUT
bError : BOOL;
ipResultMessage : I_TcMessage;
bInitializing : BOOL;
bReadingInputValue1 : BOOL;
bReadingInputValue2 : BOOL;
bReadingInputValue3 : BOOL;
bReadingInputValue4 : BOOL;
bReadingAbsoluteInputValue1 : BOOL;
bReadingAbsoluteInputValue2 : BOOL;
nPushButton1Event : WORD;
nPushButton2Event : WORD;
nPushButton3Event : WORD;
nPushButton4Event : WORD;
nAbsoluteInput1 : BYTE;
nAbsoluteInput2 : 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. |
bInitializing | BOOL | Der Ausgang wird gesetzt, sobald die Initialisierung des DALI-Steuergerätes gestartet wurde und bleibt so lange aktiv, bis alle DALI-Befehle abgearbeitet wurden. |
bReadingValueN | BOOL | Der Ausgang ist TRUE, solange Werte der Instanz des Bewegungsmelders vom DALI-Steuergerät gelesen werden. |
nPushButtonNEvent | WORD | Die Ausgänge geben die Ereignisse für den entsprechenden Taster über je ein Bit für einen Zyklus aus. |
Bit | Beschreibung |
---|---|
0 | Taster losgelassen. |
1 | Taster gedrückt. |
2 | Kurzer Tastendruck. |
3 | Doppelter Tastendruck. |
4 | Start langer Tastendruck. |
5 | Wiederholung langer Tastendruck. |
6 | Stopp langer Tastendruck. |
7 | Taster wieder frei, war zuvor blockiert. |
8 | Taster blockiert. |
Mit Hilfe des Funktionsbausteins FB_DALI_ToPushButtonState kann der Zustand eines Tasters in eine BOOL-Variable umgewandelt werden.
Name | Typ | Beschreibung |
---|---|---|
nAbsoluteInputN | BYTE | Ausgänge, welche die Messwerte, [°C] oder [Ω], der angeschlossenen variablen Widerstände enthalten. Die passende Skalierung des Ausgangswertes entnehmen Sie bitte der Herstellerdokumentation des TA 4 S DALI-2. |
Eigenschaften
Alle Parameter, die per bInitialize in das DALI-Steuergerät geschrieben werden, sind als Eigenschaften vorhanden.
Die Eigenschaften von Instanzen des gleichen Typs sind in der Tabelle nur einmal aufgeführt und am Ende mit N gekennzeichnet.
Name | Typ | Zugriff | Initialwert | Beschreibung |
---|---|---|---|---|
bEnablePushButtonN | BOOL | Get, Set | TRUE | Taster Eingang 1 bis 4, der jeweils am DALI-Steuergerät freigegeben oder gesperrt werden kann. Ein FALSE an dieser Eigenschaft bewirkt, dass das Versenden von Ereignissen aus dieser Instanz deaktiviert ist. Der Istwert der Instanz kann jedoch über den Eingang bQueryPushButtonN weiterhin abgefragt werden. |
nEventFilterPushButtonN | BYTE | Get, Set | 2#1000_0011 | Einstellung des Ereignis-Filters. |
eEventPriorityInputN | E_DALIEventPriority | Get, Set | Middle | Einstellung der Ereignis-Priorität. |
nDeadtimeTimerAbsoluteInputN | UINT | Get, Set | 100 ms | Totzeit (0...12750 ms), um sicherzustellen, dass nicht zu viele Ereignisse hintereinander versendet werden. Ein Ereignis wird erst nach Ablauf des Deadtime-Timer gesendet. Der Deadtime-Timer wird jedes Mal neu gestartet, nachdem ein Ereignis gesendet wurde. |
nReportTimerAbsoluteInputN | BYTE | Get, Set | 0 s | Zeit [s] nach der das anstehende Ereignis des Absolutwertgebers wiederholt wird, wenn in der Zwischenzeit kein anderes Ereignis eingetreten ist. |
nDoubleTimerPushButtonN | UINT | Get, Set | 0 ms | Zeit (0, tDoubleMin…2000 ms) zur Unterscheidung zwischen einem einfachen und einem doppelten Tastendruck. |
nRepeatTimerPushButtonN | UINT | Get, Set | 160 ms | Intervall (100…2000 ms) von Wiederholungsereignissen bei einem langen Tastendruck. |
nShortTimerPushButtonN | UINT | Get, Set | 500 ms | Zeit (tShortMin…5100 ms) zur Unterscheidung zwischen einem langen und einem kurzen Tastendruck. tShortMin ist ein herstellerspezifischer Wert. |
nStuckTimerPushButtonN | BYTE | Get, Set | 20 s | Zeit (5…255 s) nach deren Ablauf der Taster keinen langen Tastendruck mehr repräsentiert. Der Taster klemmt. |
nContactTypePushButtonN | BYTE | Get, Set | 16#00 | Kontaktart des Tasters: 16#00: Schließer NO (Auslieferungszustand) 16#FF: Öffner NC |
bEnableAbsoluteInputN | BOOL | Get, Set | FALSE | Absolutwert Eingang 1 bis 2, der jeweils am DALI-Steuergerät freigegeben oder gesperrt werden kann. Ein FALSE an dieser Eigenschaft bewirkt, dass das Versenden von Ereignissen aus dieser Instanz deaktiviert ist. Der Istwert der Instanz kann jedoch über den Eingang bQueryAbsoluteInputN weiterhin abgefragt werden. |
eEventPriorityAbsoluteInputN | E_DALIEventPriority | Get, Set | Middle | Einstellung der Ereignis-Priorität. |
nDeadtimeTimerAbsoluteInputN | UINT | Get, Set | 100 ms | Totzeit (0...12750 ms), um sicherzustellen, dass nicht zu viele Ereignisse hintereinander versendet werden. Ein Ereignis wird erst nach Ablauf des Deadtime-Timer gesendet. Der Deadtime-Timer wird jedes Mal neu gestartet, nachdem ein Ereignis gesendet wurde. |
nReportTimerAbsoluteInputN | BYTE | Get, Set | 0 s | Zeit [s] nach der das anstehende Ereignis des Absolutwertgebers wiederholt wird, wenn in der Zwischenzeit kein anderes Ereignis eingetreten ist. |
nSensorTypeAbsoluteInputN | BYTE | Get, Set | 16#03 | Sensortyp: |
nBetaHighAbsoluteInputN | BYTE | Get, Set | 16#11 | Wenn der Sensortyp 16#02 ausgewählt wurde, sollte hier der zugehörige B oder Beta [K] eingestellt werden. Der B oder Beta ist eine vierstellige Zahl in [K], welche im Datenblatt des NTC-Sensors zu finden ist. Für die Speicherung in der Memory Bank muss die vierstellige Zahl zuerst in das Hex-Format umgewandelt und anschließend in die Bytes Beta Low und Beta High abgelegt werden. |
nBetaLowAbsoluteInputN | BYTE | Get, Set | 16#E4 | Siehe nBetaHighAbsoluteInputN |
nFilterAbsoluteInputN | BYTE | Get, Set | 16#00 | Zur Rauschunterdrückung kann ein Filter eingestellt werden. Der Einstellbereich beträgt 16#00…16#0B. 16#00: jeder Messwert wird unverändert übermittelt (Auslieferzustand) Achtung: Der Filter verzögert die Messung! |
nHysteresisAbsoluteInputN | BYTE | Get, Set | 16#00 | Hysteresewert zur Vermeidung von häufigen Ereignissen. Der Einstellbereich beträgt 16#00…16#FF. Das entspricht bei den Sensortypen 16#00…16#02 einem Wertebereich von 0,1 °C…25,5 °C oder beim Sensortypen 16#03 einem Wertebereich von 100 Ω…25,5 kΩ. Die Schrittweite der Hysterese entspricht 0,1 °C oder 100 Ω. |
nOffsetAbsoluteInputN | BYTE | Get, Set | 16#80 | Der Einstellbereich des Offsets beträgt 16#01…16#FF. Das entspricht bei den Sensortypen 16#00…16#02 einem Wertebereich von -12,7 °C…+12,7 °C oder beim Sensortypen 16#03 einem Wertebereich von -12,7 kΩ…+12,7 kΩ. Die Schrittweite des Offsets entspricht 0,1 °C oder 100 Ω. Die 16#80 im Auslieferungszustand entsprechen 0 °C bzw. 0 Ω. |
nRangeAbsoluteInputN | BYTE | Get, Set | 16#00 | Einstellung des Parameters Range: 16#00: Temperatursensoren mit einem positiven Temperaturbereich (Auslieferzustand). 16#01: Temperatursensoren mit einem negativen Temperaturbereich. |
ipDALICommunication | I_DALICommunication | Get, Set | 0 | Interface-Pointer auf den Kommunikationsbaustein (siehe Übergabe der Referenz auf den Kommunikationsbaustein). |
Voraussetzungen
Entwicklungsumgebung | Erforderliche SPS-Bibliothek |
---|---|
TwinCAT ab v3.1.4024.20 | Tc3_DALI ab v3.8.0.0 |