FB_DALI306GeneralPurposeSensor

FB_DALI306GeneralPurposeSensor 1:

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.

FB_DALI306GeneralPurposeSensor 2:

Bei Einsatz der KL6811 kann der Baustein nicht verwendet werden.

FB_DALI306GeneralPurposeSensor 3: 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 (magnitudePhMinmagnitudePhMax).

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.

FB_DALI306GeneralPurposeSensor 4: 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.

FB_DALI306GeneralPurposeSensor 5:

Dieser Messwert muss mit den gemessenen Referenzwerten am Einsatzort des DALI-Steuergerätes abgeglichen werden.

FB_DALI306GeneralPurposeSensor 6: 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