FB_DALI302AbsoluteInputDevice

Der Funktionsbaustein dient der Konfiguration und dem Betrieb einer Instanz eines DALI-Steuergerätes, welches den Part 302 (Absolutwertgeber) unterstützt.
Bei Bedarf kann der Ausgabewert auch unmittelbar über die Variable bQueryInputValue abgefragt werden, auch wenn die entsprechende Instanz nicht freigegeben ist.
Je nach vorgegebener Auflösung nResolution (applikations- und herstellerspezifisch), wird die Ausgangsvariable nInputLevel 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.
![]() | 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;
nInstanceNumber : BYTE := 0;
nResolution : BYTE := 1;
bQueryInputValue : BOOL := FALSE;
bGetInputNotifications : 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. |
bQueryInputValue | BOOL | Durch eine positive Flanke an diesem Eingang wird der Zustand des Eingangs unmittelbar abgefragt. 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. |
nOptions | DWORD | Reserviert für zukünftige Erweiterungen. |
Ausgänge
VAR_OUTPUT
bError : BOOL;
ipResultMessage : I_TcMessage;
bInitializing : BOOL;
bReadingInputValue : BOOL;
nInputLevel : 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. |
bReadingInputValue | BOOL | Der Ausgang wird gesetzt, sobald das manuelle Lesen des Eingangs ausgelöst wurde. |
nInputLevel | BYTE | Gibt den gemessenen Wert der Widerstandsmessung aus. |
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. |
eEventPriority | E_DALIEventPriority | Get, Set | Middle | Einstellung der Ereignis-Priorität. |
nReportTimer | BYTE | Get, Set | 0 | Zeit (0…255 s) nach der das anstehende Ereignis der Messung wiederholt wird, wenn in der Zwischenzeit kein anderes Ereignis eingetreten ist. |
nDeadtimeTimer | 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. |
ipDALICommunication | I_DALICommunication | Get, Set | 0 | Interface-Pointer auf den Kommunikationsbaustein (siehe Übergabe der Referenz auf den Kommunikationsbaustein). |
Beispiele zur Einstellung der Auflösung:
Einfacher Schalter (Schließer)
nResolution := 1;
Bei geöffnetem Kontakt hat der Ausgang den folgenden Wert:
nInputLevel := 0;
Bei geschlossenem hat der Ausgang den folgenden Wert:
nInputLevel := 1;
Schalter mit zwei Positionen
nResolution := 2;
Bei geschlossenem Kontakt 1 hat der Ausgang den folgenden Wert:
nInputLevel := 1;
Bei geschlossenem Kontakt 2 hat der Ausgang den folgenden Wert:
nInputLevel := 2;
Schalter mit zwei Positionen und neutraler Mittelstellung:
nResolution := 2;
Bei geschlossenem Kontakt 1 hat der Ausgang den folgenden Wert:
nInputLevel := 1;
In Mittelstellung hat der Ausgang den folgenden Wert:
nInputLevel := 0
Bei geschlossenem Kontakt 2 hat der Ausgang den folgenden Wert:
nInputLevel := 2;
Drehschalter:
Bei Verwendung eines Drehschalters mit rastenden Positionen richtet sich die Auflösung nResolution nach der Anzahl der verfügbaren Positionen.
Dementsprechend ist auch die Ausgabe des Wertes nInputLevel.
Schiebewiderstand, Potenziometer (Absolutwertgeber):
Bei Verwendung eines Absolutwertgebers ist die Auflösung nResolution und Ausgabe der Variable nInputLevel herstellerabhängig.
Voraussetzungen
Entwicklungsumgebung | Erforderliche SPS-Bibliothek |
---|---|
TwinCAT ab v3.1.4024.12 | Tc3_DALI ab v3.5.0.0 |