FB_BA_BrightnessPresenceDALI

Dieses Template dient zum Auslesen eines kombinierten DALI-Helligkeits- und Präsenzmelders.
Datenaustausch HMI
Der Datenaustausch mit der HMI wird in der Basisklasse FB_BA_BaseBrightnessPresence (interner Baustein) realisiert. In diesem Template sichtbar ist die Verwendung folgender Variable:
- bInitializeRm: Start DALI-Initialisierungsroutine aus der HMI.
Funktion
Das Gerät selbst wird spezifiziert durch die Instanznummer der Präsenz, nInstancePresence, und der Instanznummer der Helligkeit, nInstanceBrightness. Hinzu kommt die gerätespezifische Auflösung, nResBrtns. Diese drei Kenngrössen sind von Hersteller zu Hersteller verschieden.
Im internen Baustein BrightnessPresenceSns wird die Helligkeit zyklisch (Intervall nPrdQueryBrtns [s]) abgefragt. Bei der Präsenz hingegen wird das geräteinterne Ereignissystem (notifications) verwendet, welches selbsttätig ein Telegramm losschickt, sobald Präsenz bzw. Abwesenheit erkannt wird.
Die DALI-spezifischen Parameter dieses Bausteines (nInstPrc, nInstBrtns und nResBrtns) werden durch Ein TRUE-Signal an bInitialize oder über die HMI durch bInitialize_In an das betreffende Gerät übertragen. Die Adressierung des Gerätes erfolgt über die Benennung der Adresse (nAdr) und der Verknüpfung des Kommunikationsbausteines der entsprechenden DALI-Linie über ipDALICommunication.
Der Baustein PresenceDelay stellt ein abfallverzögertes Signal bPresence zur Verfügung. Nach Ablauf der Verzögerungszeit wird zusätzlich eine positive Flanke an bRstSwi ausgebeben, mit der die Merkerschaltungen von Licht und Jalousie abgelöscht werden können.
Präsenz und Helligkeitswert werden an die Objekte Presence und Brightness verknüpft und stehen so im BACnet zur Verfügung.
Eine eventuelle Skalierung der Helligkeit kann durch entsprechende Parametrierung von Brightness im FB_Init durch die Parameter fResolution und fScaleOffset erfolgen.
![]() | Die Initialisierung des Templates erfolgt innerhalb der Methode FB_Init. |
Blockschaltbild

Syntax
FUNCTION_BLOCK FB_BA_BrightnessPresenceDALI EXTENDS FB_BA_Ext_BrightnessPresence_Base
VAR_INPUT
bEn : BOOL;
bInitialize : BOOL;
bResetPresence : BOOL;
nPrdQueryBrtns : UDINT := 1;
END_VAR
VAR_OUTPUT
bPresence : BOOL;
bPresenceDelayActive : BOOL;
bRstSwi : BOOL;
fBrightness : REAL;
bInitializing : BOOL;
bErr : BOOL;
END_VAR
VAR_INPUT CONSTANT PERSISTENT
nAdr : BYTE;
nInstancePresence : BYTE;
nInstanceBrightness : BYTE;
nResBrtns : BYTE;
ipDALICommunication : Tc3_DALI.I_DALICommunication;
END_VAR
VAR_INPUT CONSTANT
BrightnessPresenceSns : FB_BA_BrtnsPrcDALI;
PresenceDelay : FB_BA_PresenceMonitoring;
Brightness : FB_BA_AI_RAW;
Presence : FB_BA_BI_RAW;
END_VAR
VAR_INPUT
Name | Typ | Beschreibung |
---|---|---|
bEn | BOOL | Freigabe des Bausteines: ein TRUE-Signal an diesem Eingang aktiviert die Funktion. |
bInitialize | BOOL | Eine positive Flanke an diesem Eingang startet die DALI-Initialisierungsroutine, welche die eingestellten Parameter in das DALI-Gerät überträgt, siehe FB_BA_Swi4DALI. |
bResetPresence | BOOL | Setzt die interne Abfallverzögerung der Präsenz zurück und triggert dadurch einmal den Ausgang bRstSwi. |
nPrdQueryBrtns | UDINT | Abfrageintervall der Helligkeit in Sekunden. Die Deklaration dieser Variable als Eingang soll eine variable Abfragegeschwindigkeit ermöglichen. So genügt bei einer Konstantlichtregelung beispielsweise zunächst ein langsames Abfrageintervall bis eine größere auszugleichende Abweichung erkannt wird, die dann mit einem kürzeren Abfrageintervall ausgeregelt wird. |
VAR_OUTPUT
Name | Typ | Beschreibung |
---|---|---|
bPresence | BOOL | Präsenzmelde-Ausgang. |
bPresenceDelayActive | BOOL | Dieser Ausgang steht dann auf TRUE, wenn keine Präsenz mehr erkannt wird und der Präsenzmelde-Ausgang bPresence nur noch durch die interne Abfallverzögerung gesetzt ist. |
bRstSwi | BOOL | Rücksetzausgang für Handübersteuerungen. Wird für einen SPS-Zyklus nach Ablauf der der internen Präsenzverzögerung (siehe PresenceDelay) oder bei einem TRUE-Signal am Eingang bResetPresence gesetzt, |
fBrightness | REAL | Gemessene Helligkeit. Die Einheit ist herstellerspezifisch. Eine Umrechnung in Lux muss, falls gewünscht, beim Hersteller erfragt werden. |
bInitializing | BOOL | Der Sensor befindet sich in der DALI-Initialisierungsphase, d.h. die eingetragenen Parameter werden in das DALI-Gerät übertragen. |
bErr | BOOL | Fehlerausgang. Ein Klartext wird in TwinCAT im Ausgabefenster in der Fehlerliste (Error List) ausgegeben. |
VAR_INPUT CONSTANT PERSISTENT
Name | Typ | Beschreibung |
---|---|---|
nAdr | BYTE | DALI-Einzeladresse des Sensors. |
nInstancePresence | BYTE | Nummer der abzufragenden Präsenz-Instanz. |
nInstanceBrightness | BYTE | Nummer der abzufragenden Helligkeits-Instanz. |
nResBrtns | BYTE | Herstellerspezifische Helligkeits-Auflösung. |
ipDALICommunication | Interface-Pointer auf den DALI-Kommunikationsbaustein. |
VAR_INPUT CONSTANT
Name | Typ | Beschreibung |
---|---|---|
BrightnessPresenceSns | Baustein zum Auslesen des DALI-Helligkeits- und Präsenzsensors. | |
PresenceDelay | Universelles Präsenzmeldetemplate mit Rücksetzeingängen für Verzögerungstimer und Handfunktion. | |
Brightness | Dieser Baustein dient zum einen der Umrechnung des herstellerspezifischen Rohwertes der Helligkeit auf eine gewünschte Einheit, beispielsweise Lux und zum anderen zur Darstellung des Wertes im BACnet. | |
Presence | Baustein zur Darstellung des Präsenzzustandes im BACnet. |
Voraussetzungen
Entwicklungsumgebung | Erforderliche Function |
---|---|
TwinCAT ab v3.1.4024.35 | TF8040 | TwinCAT Building Automation ab V5.0.0.0 |