FB_DALI_Steinel_Hallway_IPD

Der Funktionsbaustein repräsentiert den DALI-Sensor Hallway IPD der Firma Steinel.
Dieser gibt den gemessenen Helligkeitswert (Instanz 0), drei Präsenzmeldungen (Instanzen 1 bis 3), einen Temperaturwert (Instanz 4) und einen Wert für die relative Luftfeuchtigkeit (Instanz 5) aus.
Nähere Information zu den unterstützten Instanztypen finden Sie hier:
Part 303 (Präsenzmelder) - Einleitung
Part 304 (Helligkeitssensoren) - 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.
Der DALI-Sensor enthält drei Präsenzmelder. Ein Präsenzmelder (Instanz 2) ist ausgerichtet in Richtung „S“, des STEINEL-Schriftzugs auf dem Gerät, während der zweite Präsenzmelder (Instanz 3) in Richtung „L“ ausgerichtet ist. Der dritte Präsenzmelder (Instanz 1) kombiniert beide Sensoren zu einer einzigen Instanz.
Es sollten niemals alle drei Instanzen gleichzeitig aktiviert werden, da hierdurch der DALI-Bus unnötig belastet wird. Entweder sind die beiden Instanzen für die Richtung „S“ und „L“ aktiv oder die kombinierte Instanz (Standardeinstellung). Somit sollten entweder die Eigenschaften nXyzDirectionS / nXyzDirectionL gesetzt werden oder die Eigenschaften nXyzCombined, aber nicht alle gleichzeitig. Das Setzen der Eigenschaften nXyzCombined überschreibt die Werte von nXyzDirectionS / nXyzDirectionL.
Die Temperaturmessung und Luftfeuchtigkeitsmessung sind als Generic Inputs ausgeführt. Diese Werte können ausschließlich über eine positive Flanke an den Eingängen bQueryTemperature und bQueryHumidity abgefragt werden.
Für die anderen Instanzen kann das Auslesen ebenfalls unmittelbar über die Eingänge bQueryBrightness, bQueryOccupancyCombined, bQueryOccupancyDirectionS und bQueryOccupancyDirectionL ausgelöst 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 aus-wirken. |
![]() | Bei Einsatz der KL6811 kann der Baustein nicht verwendet werden. |
Eingänge
VAR_INPUT
bInitialize : BOOL := FALSE;
nShortAddress : BYTE := 0;
nOptions : DWORD := 0;
bQueryOccupancyCombined : BOOL := FALSE;
bQueryOccupancyDirectionS : BOOL := FALSE;
bQueryOccupancyDirectionL : BOOL := FALSE;
bQueryBrightness : BOOL := FALSE;
bQueryTemperature : BOOL := FALSE;
bQueryHumidity : BOOL := FALSE;
bCancelHoldTimerOccupancyCombined : BOOL := FALSE;
bCancelHoldTimerOccupancyDirectionS : BOOL := FALSE;
bCancelHoldTimerOccupancyDirectionL : 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. |
bQueryOccupancyCombined | BOOL | Durch eine positive Flanke an diesem Eingang wird der Wert des kombinierten Präsenzmelders unmittelbar abgefragt. |
bQueryOccupancyDirectionS | BOOL | Durch eine positive Flanke an diesem Eingang wird der Wert des Präsenzmelders für die Richtung „S“ unmittelbar abgefragt. |
bQueryOccupancyDirectionL | BOOL | Durch eine positive Flanke an diesem Eingang wird der Wert des Präsenzmelders für die Richtung „L“ unmittelbar abgefragt. |
bQueryBrightness | BOOL | Durch eine positive Flanke an diesem Eingang wird die Helligkeit unmittelbar abgefragt. |
bQueryTemperature | BOOL | Durch eine positive Flanke an diesem Eingang wird die Temperatur unmittelbar abgefragt. Das DALI-Gerät unterstützt keine Übertragung der Temperatur per Ereignis. |
bQueryHumidity | BOOL | Durch eine positive Flanke an diesem Eingang wird die relative Luftfeuchtigkeit unmittelbar abgefragt. Das DALI-Gerät unterstützt keine Übertragung der relativen Luftfeuchte per Ereignis. |
bCancelHoldTimerOccupancyCombined | BOOL | Durch eine positive Flanke an diesem Eingang wird der Hold Timer für den kombinierten Präsenzmelders vorzeitig beendet und der Ausgang bOccupiedCombined zurückgesetzt. |
bCancelHoldTimerOccupancyDirectionS | BOOL | Durch eine positive Flanke an diesem Eingang wird der Hold Timer des Präsenzmelders für die Richtung „S“ vorzeitig beendet und der Ausgang bOccupiedDirectionS zurückgesetzt. |
bCancelHoldTimerOccupancyDirectionL | BOOL | Durch eine positive Flanke an diesem Eingang wird der Hold Timer des Präsenzmelders für die Richtung „L“ vorzeitig beendet und der Ausgang bOccupiedDirectionL zurückgesetzt. |
Ausgänge
VAR_OUTPUT
bError : BOOL;
ipResultMessage : I_TcMessage;
bInitializing : BOOL;
bReadingOccupancyCombined : BOOL;
bReadingOccupancyDirectionS : BOOL;
bReadingOccupancyDirectionL : BOOL;
bReadingBrightness : BOOL;
bReadingTemperature : BOOL;
bReadingHumidity : BOOL;
bOccupiedCombined : BOOL;
bOccupiedDirectionS : BOOL;
bOccupiedDirectionL : BOOL;
nBrightnessLevel : UINT;
fTemperature : LREAL;
nHumidity : 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. |
bReadingOccupancyCombined | BOOL | Der Ausgang ist TRUE, solange Werte der Instanz des kombinierten Bewegungsmelders vom DALI-Steuergerät gelesen werden. |
bReadingOccupancyDirectionS | BOOL | Der Ausgang ist TRUE, solange Werte der Instanz des Bewegungsmelders für die Richtung „S“ vom DALI-Steuergerät gelesen werden. |
bReadingOccupancyDirectionL | BOOL | Der Ausgang ist TRUE, solange Werte der Instanz des Bewegungsmelders für die Richtung „L“ vom DALI-Steuergerät gelesen werden. |
bReadingBrightness | BOOL | Der Ausgang ist TRUE, solange Werte der Instanz des Helligkeitssensors vom DALI-Steuergerät gelesen werden. |
bReadingTemperature | BOOL | Der Ausgang ist TRUE, solange Werte der Instanz des Temperatursensors vom DALI-Steuergerät gelesen werden. |
bReadingHumidity | BOOL | Der Ausgang ist TRUE, solange Werte der Instanz des Luftfeuchtigkeitssensors vom DALI-Steuergerät gelesen werden. |
bOccupiedCombined | BOOL | Ist der Ausgang auf TRUE, so wurde Präsenz im Erfassungsbereich des kombinierten Präsenzmelders erkannt. |
bOccupiedDirectionS | BOOL | Ist der Ausgang auf TRUE, so wurde Präsenz im Erfassungsbereich des Präsenzmelders für die Richtung „S“ erkannt. |
bOccupiedDirectionL | BOOL | Ist der Ausgang auf TRUE, so wurde Präsenz im Erfassungsbereich des Präsenzmelders für die Richtung „L“ erkannt. |
nBrightnessLevel | UINT | Gemessener Helligkeitswert des Helligkeitssensors. |
![]() | Dieser Messwert muss mit den gemessenen Referenzwerten am Einsatzort des DALI-Steuergerätes abgeglichen werden. |
Name | Typ | Beschreibung |
---|---|---|
fTemperature | LREAL | Gemessener Temperaturwert (-5,0...60,0 °C) des Temperatursensors. |
nHumidity | BYTE | Gemessener Wert der relativen Luftfeuchtigkeit (0...100 %). |
Eigenschaften
Alle Parameter, die per bInitialize in das DALI-Steuergerät geschrieben werden, sind als Eigenschaften vorhanden.
Name | Typ | Zugriff | Initialwert | Beschreibung |
---|---|---|---|---|
bEnableBrightness | BOOL | Get, Set | TRUE | Ein TRUE an dieser Eigenschaft gibt die Instanz zur Helligkeitsmessung frei. 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 bQueryBrightness weiterhin abgefragt werden. |
bEnableOccupancyCombined | BOOL | Get, Set | TRUE | Ein TRUE an dieser Eigenschaft gibt die Instanz für den kombinierten Präsenzmelder frei. 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 bQueryOccupancyCombined weiterhin abgefragt werden. |
bEnableOccupancyDirectionS | BOOL | Get, Set | FALSE | Ein TRUE an dieser Eigenschaft gibt die Instanz für die Bewegungserkennung in Richtung „S“ frei. 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 bQueryOccupancyDirectionS weiterhin abgefragt werden. |
bEnableOccupancyDirectionL | BOOL | Get, Set | FALSE | Ein TRUE an dieser Eigenschaft gibt die Instanz für die Bewegungserkennung in Richtung „L“ frei. 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 bQueryOccupancyDirectionL weiterhin abgefragt werden. |
bEnableTemperature | BOOL | Get, Set | FALSE | Ein TRUE an dieser Eigenschaft gibt die Instanz zur Temperaturmessung frei. Ein FALSE an dieser Eigenschaft bewirkt, dass die Instanz bei der Initialisierung nicht konfiguriert wird. Der Istwert der Instanz kann ausschließlich über den Eingang bQueryTemperature abgefragt werden. |
bEnableHumidity | BOOL | Get, Set | FALSE | Ein TRUE an dieser Eigenschaft gibt die Instanz zur Messung der relativen Luftfeuchtigkeit frei. Ein FALSE an dieser Eigenschaft bewirkt, dass die Instanz bei der Initialisierung nicht konfiguriert wird. Der Istwert der Instanz kann ausschließlich über den Eingang bQueryHumidity abgefragt werden. |
eEventPriorityBrightness | E_DALIEventPriority | Get, Set | MiddleLow | Einstellung der Ereignis-Priorität. |
nReportTimerBrightness | BYTE | Get, Set | 30 s | Zeit (0…255 s) nach der das anstehende Ereignis des Helligkeitssensors wiederholt wird, wenn in der Zwischenzeit kein anderes Ereignis eingetreten ist. |
nDeadtimeTimerBrightness | UINT | Get, Set | 1500 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 neugestartet, nachdem ein Ereignis gesendet wurde. |
nHysteresisBrightness | BYTE | Get, set | 20 % | Wert (0…25 %) zur Errechnung eines Hysterese Werts, um häufige und störende Änderungen bei der Messung der Helligkeit zu verhindern. |
nHysteresisMinBrightness | BYTE | Get, Set | 10 | Da bei geringer Helligkeit die prozentuale Hysterese auch zu starken Schwankungen führen kann, kann über diese Eigenschaft eine minimale Hysterese vorgegeben werden. Bei der minimalen Hysterese handelt es sich um einen Absolutwert, mit einem Wertebereich von 0 bis 255. |
eEventPriorityOccupancyCombined | BYTE | Get, Set | Middle | Einstellung der Ereignis-Priorität. |
nDeadtimeTimerOccupancyCombined | 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, wenn ein Ereignis gesendet wird. |
nDetectionRangeOccupancyCombined | UINT | Get, Set | 100 % | Einstellung des Erfassungsbereichs des Präsenzmelders von 0 % (kleiner Erfassungsbereich) bis 100 % (großer Erfassungsbereich). |
nHoldTimerOccupancyCombined | UINT | Get, Set | 900 s | Haltezeit (1...2538 s), in der die Präsenz weiter aktiv ist, nachdem keine Bewegung mehr vom Sensor erkannt wurde. |
nReportTimerOccupancyCombined | BYTE | Get, Set | 60 s | Zeit (0…255 s) nach der das anstehende Ereignis des Präsenzmelders wiederholt wird, wenn in der Zwischenzeit kein anderes Ereignis eingetreten ist. |
nSensitivityOccupancyCombined | BYTE | Get, Set | 100 % | Einstellung der Empfindlichkeit des Präsenzmelders von 0 % (niedrige Empfindlichkeit) bis 100 % (hohe Empfindlichkeit). |
eEventPriorityOccupancyDirectionS | E_DALIEventPriority | Get, Set | Middle | Einstellung der Ereignis-Priorität. |
nDeadtimeTimerOccupancyDirectionS | 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, wenn ein Ereignis gesendet wird. |
nDetectionRangeOccupancyDirectionS | UINT | Get, Set | 100 % | Einstellung des Erfassungsbereichs des Präsenzmelders von 0 % (kleiner Erfassungsbereich) bis 100 % (großer Erfassungsbereich). |
nHoldTimerOccupancyDirectionS | UINT | Get, Set | 900 s | Haltezeit (1...2538 s), in der die Präsenz weiter aktiv ist, nachdem keine Bewegung mehr vom Sensor erkannt wurde. |
nReportTimerOccupancyDirectionS | BYTE | Get, Set | 60 s | Zeit (0…255 s) nach der das anstehende Ereignis des Präsenzmelders wiederholt wird, wenn in der Zwischenzeit kein anderes Ereignis eingetreten ist. |
nSensitivityOccupancyDirectionS | BYTE | Get, Set | 100 % | Einstellung der Empfindlichkeit des Präsenzmelders von 0 % (niedrige Empfindlichkeit) bis 100 % (hohe Empfindlichkeit). |
eEventPriorityOccupancyDirectionL | E_DALIEventPriority | Get, Set | Middle | Einstellung der Ereignis-Priorität. |
nDeadtimeTimerOccupancyDirectionL | 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, wenn ein Ereignis gesendet wird. |
nDetectionRangeOccupancyDirectionL | UINT | Get, Set | 100 % | Einstellung des Erfassungsbereichs des Präsenzmelders von 0 % (kleiner Erfassungsbereich) bis 100 % (großer Erfassungsbereich). |
nHoldTimerOccupancyDirectionL | UINT | Get, Set | 900 s | Haltezeit (1...2538 s), in der die Präsenz weiter aktiv ist, nachdem keine Bewegung mehr vom Sensor erkannt wurde. |
nReportTimerOccupancyDirectionL | BYTE | Get, Set | 60 s | Zeit (0…255 s) nach der das anstehende Ereignis des Präsenzmelders wiederholt wird, wenn in der Zwischenzeit kein anderes Ereignis eingetreten ist. |
nSensitivityOccupancyDirectionL | BYTE | Get, Set | 100 % | Einstellung der Empfindlichkeit des Präsenzmelders von 0 % (niedrige Empfindlichkeit) bis 100 % (hohe Empfindlichkeit). |
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.25 | Tc3_DALI ab v3.10.5.0 |