FB_DALI306GeneralPurposeSensor

Der Funktionsbaustein dient der Konfiguration und dem Betrieb einer Instanz eines DALI-Steuergerätes, welches den Part 306 (Universalsensor) unterstützt.
Nähere Information zu dem unterstützten Instanztypen finden Sie hier:
Part 306 (Universalsensoren) - Einleitung
Bei Bedarf kann der Ausgabewert auch unmittelbar über die Variable bQueryInputSignal abgefragt werden, auch wenn die entsprechende Instanz nicht freigegeben ist.
Je nach vorgegebener Auflösung nResolution (applikations- und herstellerspezifisch), wird die Ausgangsvariable fInputSignal beschrieben.
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.
![]() | Bei Einsatz der KL6811 kann der Baustein nicht verwendet werden. |
Eingänge
VAR_INPUT
bInitialize : BOOL := FALSE;
nShortAddress : BYTE := 0;
nInstanceNumber : BYTE := 0;
nResolution : BYTE := 10;
nMagnitude : BYTE := 0;
bInputSignalSigned : BOOL := FALSE;
bQueryInputSignal : BOOL := FALSE;
bGetInputNotifications : BOOL := TRUE;
bGetAlarmNotifications : BOOL := TRUE;
nOptions : DWORD := 0;
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. |
nInstanceNumber | BYTE | Nummer der anzusprechenden Instanz (0…31) das DALI-Steuergerätes. |
nResolution | BYTE | Herstellerspezifische Auflösung (1...64) des Eingangswerts. Der Wert gibt die Anzahl der Bits an, mit der der Eingangswert skaliert wird. |
nMagnitude | BYTE | Magnitude (magnitudePhMin…magnitudePhMax). |
bInputSignalSigned | BOOL | Vorzeichenbehaftetes Eingangssignal. |
bQueryInputSignal | BOOL | Unmittelbare Abfrage des Messwertes. Eine Abfrage ist auch dann möglich, wenn die Instanz über die Eigenschaft bEnableInstance gesperrt ist. |
bGetInputNotifications | BOOL | Durch ein TRUE an diesem Eingang werden die empfangenen Input Notification Events am Ausgang ausgegeben. |
bGetAlarmNotifications | BOOL | Durch ein TRUE an diesem Eingang werden die empfangenen Alarm Notification Events am Ausgang ausgegeben. |
nOptions | DWORD | Reserviert für zukünftige Erweiterungen. |
Ausgänge
VAR_OUTPUT
bError : BOOL;
ipResultMessage : I_TcMessage;
bInitializing : BOOL;
bReadingInputSignal : BOOL;
fInputSignal : LREAL;
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. |
bReadingInputSignal | BOOL | Der Ausgang ist TRUE, solange Werte der Instanz des Sensors vom DALI-Steuergerät gelesen werden. |
fInputSignal | LREAL | Gemessener und skalierter Wert des Sensors. |
![]() | Dieser Messwert muss mit den gemessenen Referenzwerten am Einsatzort des DALI-Steuergerätes abgeglichen werden. |
Eigenschaften
Alle Parameter, die per bInitialize in das DALI-Steuergerät geschrieben werden, sind als Eigenschaften vorhanden.
Name | Typ | Zugriff | Initialwert | Beschreibung |
---|---|---|---|---|
bEnableInstance | BOOL | Get, Set | TRUE | Die Instanz kann am DALI-Steuergerät freigegeben oder gesperrt werden. Wenn diese Eigenschaft FALSE ist, dann ist das Versenden von Ereignissen aus dieser Instanz deaktiviert. Der Istwert der Instanz kann jedoch über den Eingang bQueryInputValue weiterhin abgefragt werden. |
eAlarm0Type…eAlarm3Type | E_DALIAlarmType | Get, Set | E_DALIAlarmType.HighLimit | Der Wert definiert, ob beim Überschreiten (E_DALIAlarmType.HighLimit) oder beim Unterschreiten (E_DALIAlarmType.LowLimit) von nAlarmNLevel der Alarm aktiviert wird. |
eEventPriority | E_DALIEventPriority | Get, Set | MiddleLow | Einstellung der Ereignis-Priorität. |
nAlarm0Hysteresis…nAlarm3Hysteresis | DINT | Get, Set | 0 | Wert (0…25 %) zur Errechnung einer Hysterese, um häufige und störende Änderungen bei der Erfassung der Alarme zu verhindern. |
nAlarm0Level…nalarm3Level | DINT | Get, Set | MASK | Legt den Schwellwert fest, ab dem ein Alarm aktiv wird. Der Wert von eAlarmNType definiert, ob beim Überschreiten (E_DALIAlarmType.HighLimit) oder beim Unterschreiten (E_DALIAlarmType.LowLimit) aktiv wird. |
nAlarmReportTimer | UINT | Get, Set | 150 s | Zeit (0...1275 s), nach der das anstehende Event der Alarme wiederholt wird, falls in der Zwischenzeit kein anderes Event aufgetreten ist. |
nDeadtimeTimer | 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 neu gestartet, wenn ein Ereignis gesendet wird. |
nHysteresis | BYTE | Get, Set | 5 % | Wert (0…25 %) zur Errechnung einer Hysterese, um häufige und störende Änderungen bei der Erfassung des Messwertes zu verhindern. |
nHysteresisMin | BYTE | Get, Set | 10 | Da bei einem zu geringen Messwert 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. Der Wert ist abhängig von der Auflösung. |
nReportTimer | BYTE | Get, Set | 150 s | Zeit (0…255 s) nach der das anstehende Ereignis des Messwertes wiederholt wird, wenn in der Zwischenzeit kein anderes Ereignis eingetreten ist. |
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.59 | Tc3_DALI ab v3.19.1.0 |