FB_DALIV2xThebenPlanoSpot360

FB_DALIV2xThebenPlanoSpot360 1:

Dieser Baustein dient als Beispiel und ist nicht in der Bibliothek enthalten. Der Baustein kann als Export-Datei heruntergeladen und in das gewünschte Projekt importiert werden. Bei Bedarf können somit beliebige Anpassungen durchgeführt werden.

Dieser Baustein wertet die gemessene Helligkeit und die Präsenz des ThebenHTS PlanoSpot DALI-Steuergerätes aus. Ebenfalls ist es mit diesem Baustein möglich, das DALI-Steuergerät zu initialisieren.

Das DALI-Steuergerät belegt eine Kurzadresse und enthält 5 Instanzen. Instanz 0 ist der Bewegungsmelder und entspricht der Norm IEC 62386-303. Die Helligkeitssensoren sind in Instanz 1 bis 4 abgelegt und entsprechen der Norm IEC 62386-304.

Eine erkannte Bewegung wird als Ereignis versendet, während die Helligkeiten zyklisch ausgelesen werden. Jede Instanz kann einzeln bei Bedarf deaktiviert werden.

Download der TwinCAT-3-PLCopenXML-Datei: FB_DALIV2xThebenPlanoSpot360.zip

VAR_INPUT

bInitialize              : BOOL := FALSE;
nAddr                    : BYTE;
(* Occupancy Sensor Parameters *)
bPIREnable               : BOOL := TRUE;
nPIRHold                 : BYTE := 1;    (* 10 s *)
nPIRReport               : BYTE := 30;   (* 30 s *)
nPIRSensitivity          : BYTE := 3;    (* standard *)
nPIRDetectionRange       : BYTE := 0;    (* standard *)
(* Light Sensor Parameters *)
arrLSEnable              : ARRAY [1..4] OF BYTE := TRUE, TRUE, TRUE, TRUE;
arrLSRoomCorrectionValue : ARRAY [1..4] OF BYTE := 30, 30, 30, 30; (* 0.3 *)
tLSCycleTime             : TIME := T#1M;

bInitialize: Über eine positive Flanke an diesem Eingang wird das DALI-Steuergerät initialisiert. Die Parameter werden in das DALI-Steuergerät geschrieben, das über die Kurzadresse nAddr erreichbar sein muss. Während der Initialisierung ist der Ausgang bInitializing TRUE.

nAddr: Kurzadresse des DALI-Steuergerätes.

bPIREnable: Parameter: Ist dieser Eingang TRUE, so wird der Bewegungsmelder (Instanz 0) freigegeben. Durch ein FALSE wird der Präsenzmelder deaktiviert.

nPIRHold: Parameter: Setzt den Wert für den Hold Timer. Wird keine Bewegung erkannt, so wird erst nach Ablauf des Hold Timer der Status des Bewegungsmelders geändert. Die Einheit ist 10 s. Somit sind Zeiten bis 42 min 20 s (Wert 254) möglich. Der Wert 0 entspricht 1 s während der Wert 255 ignoriert wird.

nPIRReport: Parameter: Setzt den Wert für den Report Timer. Der Status des Bewegungsmelders wird nach Ablauf des Report Timer erneut gesendet, auch dann, wenn der Status sich nicht geändert hat. Die Einheit ist 1 s. Durch den Wert 0 wird der Report Timer deaktiviert. Somit sind Zeiten bis 4 min 15 s (Wert 255) möglich.

nPIRSensitivity: Parameter: Die Erfassungsempfindlichkeit kann in fünf Stufen angepasst werden (1: sehr unempfindlich bis 5: sehr empfindlich).

nPIRDetectionRange: Parameter: Der Sensor unterstützt zwei verschiedene Größen für den Erfassungsbereich (0: Standard und 1: Reduziert).

arrLSEnable: Parameter: Ist dieser Eingang TRUE, so wird der Helligkeitssensor (Instanz 1 bis 4) freigegeben. Durch ein FALSE wird der Helligkeitssensor deaktiviert.

arrLSRoomCorrectionValue: Parameter: Mit dem Raum-Korrekturfaktor kann der Messwert des Lichtsensors mit einem Referenzgerät (Luxmeter) abgeglichen werden.

tLSCycleTime: Zykluszeit, in der der aktuelle Istwert des Helligkeitssensors ausgelesen wird.

Weitere Einzelheiten zu den Parametern sind der Norm IEC 62386 und der Dokumentation des Herstellers zu entnehmen.

VAR_OUTPUT

bInitializing     : BOOL;
bError            : BOOL;
nErrorId          : UDINT;
nInputDeviceError : BYTE;
(* Occupancy Sensor *)
bPIROccupied      : BOOL;
(* Light Sensor *)
nActualLightLevel01 : UINT;  (* Light sensor 1 (integral) *)
nActualLightLevel02 : UINT;  (* Light sensor 2 (inner) *)
nActualLightLevel03 : UINT;  (* Light sensor 3 (middle) *)
nActualLightLevel04 : UINT;  (* Light sensor 4 (window) *)

bInitializing: Dieser Ausgang ist während der Initialisierung TRUE.

bError: Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in nErrorId enthalten.

nErrorId: Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. (Siehe Fehlercodes)

nInputDeviceError: Vor der Initialisierung wird der Status des DALI-Steuergerätes (INPUT DEVICE ERROR) abgefragt. 0 bedeutet kein Fehler. Die einzelnen Fehlernummern sind herstellerspezifisch.

bPIROccupied: Dieser Ausgang zeigt den Status des Bewegungsmelders an.

nActualLightLevel01 ... nActualLightLevel04: Dieser Ausgang zeigt den Istwert der Helligkeitssensoren an.

VAR_IN_OUT

stCommandBuffer   : ST_DALIV2CommandBuffer;

stCommandBuffer: Verweis auf die interne Struktur zur Kommunikation mit dem Baustein FB_KL6821Communication() (KL6821).

Voraussetzungen

Entwicklungsumgebung

erforderliche SPS-Bibliothek

TwinCAT ab v3.1.4022.4

Tc2_DALI ab v3.6.2.0