FB_BA_LightActrDALI_TC

FB_BA_LightActrDALI_TC 1:

Dieser Baustein dient zur Ansteuerung eines DALI-Lichtaktors, einer DALI-Gruppe oder von DALI-Geräten mit Sammelbefehl (broadcast), wobei Farbtemperatursteuerung (Temperature-Control) unterstützt wird.

Funktion

Im Baustein werden 4 Routinen durchlaufen:

Als "aktueller Wert" wird zunächst immer der Wert angenommen, welcher fehlerfrei gesendet wurde. Die zyklische Abfrage der jeweiligen Lesefunktion wird den Wert korrigieren, sollte ein Telegramm dennoch "verloren" gegangen oder das Vorschaltgerät in irgendeiner Form anderweitig angesteuert worden sein.

Diese Vorgehensweise stellt sicher, dass zum einen der DALI-Bus nicht zu sehr belastet wird, auf der anderen Seite jedoch der tatsächliche Lichtwert immer wieder gelesen wird.

Die Ansteuerung des Bausteins erfolgt über Werte aus dem Lichttelegramm stLightingCmd. Dabei werden die Steuerwerte des Lichts und der Farbtemperatur auf die Grenzen limitiert, welche zuvor durch eine Initialisierungsroutine mit anderen Konfigurationsparametern in das Vorschaltgerät, bzw. die Geräte übertragen wurden, siehe VAR_INPUT CONSTANT PERSISTENT. Die Initialisierung erfolgt über den Eingang bInitialize. Hier werden auch fest eingestellte Werte übertragen, siehe VAR CONSTANT.

Ein Farbtemperatur-Sollwert von "0" wird explizit ignoriert. Dadurch lassen sich Telegramme erzeugen, welche nur die Helligkeit, nicht aber die zuvor anderweitig eingestellte Farbtemperatur beeinflussen.

Das Setzen des Lichtwertes erfolgt intern ausschließlich über den DALI-Befehl FB_DALI102DirectArcPowerControl. Damit ist die FadeTime (Stufenzeit) die Zeit, mit der jeweils auf den neuen Lichtwert gedimmt wird.

Voreingestellt ist diese Dimmzeit auf 0 s, um Dimmrampen so ausschließlich in der SPS realisieren zu können.

Ist eine Gruppen- oder Sammelansteuerung gewählt (broadcast), so richten sich die Steuer- und Initialisierungsbefehle an alle Geräte. Lesebefehle hingegen werden nur an das Referenzgerät gesendet.

Syntax

FUNCTION_BLOCK FB_BA_LightDALI_TC
VAR_INPUT
  bEn                          : BOOL;
  bInitialize                  : BOOL;
  stLightingCmd                : ST_BA_Lighting;
  eAdrType                     : Tc3_DALI.E_DALIAddressType := Tc3_DALI.E_DALIAddressType.Short;
  nAdr                         : BYTE;
  nAdrRefDev                   : BYTE;
  ipDALICommunication          : Tc3_DALI.I_DALICommunication;
END_VAR
VAR_OUTPUT
  byActlLgtVal                 : BYTE;
  fActlLgtVal                  : REAL;
  fActlLgtT                    : REAL;
  bInitializing                : BOOL;
  bErr                         : BOOL;
END_VAR
VAR_INPUT CONSTANT PERSISTENT
  nHysLgtVal                   : BYTE;
  fHysLgtT                     : REAL;
  nPrdQueryLgtVal              : UDINT;
  nPrdQueryLgtT                : UDINT;

  nMinLevel                    : BYTE := 126;
  nMaxLevel                    : BYTE := 254;
  nPowerOnLevel                : BYTE := 254;
  nSystemFailureLevel          : BYTE := 254;
  eFadeTime                    : Tc3_DALI.E_DALIFadeTime := Tc3_DALI.E_DALIFadeTime.Disabled;
  eFadeRate                    : Tc3_DALI.E_DALIFadeRate := Tc3_DALI.E_DALIFadeRate.N358StepsPerSec;
  fTemperatureLimitWarmest     : LREAL := 2700;
  fTemperatureLimitCoolest     : LREAL := 6500;
  fPowerOnTemperature          : LREAL := 3000;
  fSystemFailureTemperature    : LREAL := 3000;
END_VAR
VAR CONSTANT
  eExtendedFadeTimeBase        : Tc3_DALI.E_DALIExtendedFadeTimeBase := Tc3_DALI.E_DALIExtendedFadeTimeBase.Base01;
  eExtendedFadeTimeMultiplier  : Tc3_DALI.E_DALIExtendedFadeTimeMultiplier := Tc3_DALI.E_DALIExtendedFadeTimeMultiplier.Disabled;
END_VAR

FB_BA_LightActrDALI_TC 2: VAR_INPUT

Name

Typ

Beschreibung

bEn

BOOL

Freigabe des Bausteines: ein TRUE-Signal an diesem Eingang aktiviert die Funktion.

bInitialize

BOOL

Eine positive Flanke an diesem Eingang startet die DALI-Initialisierungsroutine, welche die eingestellten Parameter in das DALI-Gerät überträgt, siehe FB_BA_Swi4DALI.

stLightingCmd

ST_BA_Lighting

Lichtsteuertelegramm

eAdrType

Tc3_DALI.E_DALIAddressType

Definiert, ob der Eingang nAdr eine Kurzadresse (0…63) oder eine Gruppenadresse (0…31) enthält. Der Eingang nAdr hat keine Bedeutung, wenn ein Sammelruf (Broadcast) geschickt wird

nAdr

BYTE

DALI-Kurzadresse des Sensors.

nAdrRefDev

BYTE

DALI-Adresse eines Referenzgerätes, sollte Gruppen- oder Broadcast-Steuerung gewählt sein. Dieses Referenzgerät repräsentiert dann alle anderen angesteuerten Geräte.

ipDALICommunication

Tc3_DALI.I_DALICommunication

Interface-Pointer auf den DALI-Kommunikationsbaustein.

FB_BA_LightActrDALI_TC 3: VAR_OUTPUT

Name

Typ

Beschreibung

byActlLgtVal

BYTE

Aktueller Lichtwert im DALI-Format (0…254).

fActlLgtVal

REAL

Aktueller Lichtwert in Prozent.

fActlLgtT

REAL

Aktuelle Farbtemperatur in Kelvin.

bInitializing

BOOL

Der Sensor befindet sich in der DALI-Initialisierungsphase, d.h. die eingetragenen Parameter werden in das DALI-Gerät übertragen.

bErr

BOOL

Fehlerausgang. Ein Klartext wird in TwinCAT im Ausgabefenster in der Fehlerliste (Error List) ausgegeben.

FB_BA_LightActrDALI_TC 4: VAR_INPUT CONSTANT PERSISTENT

Name

Typ

Beschreibung

nHysLgtVal

BYTE

Hysteresebereich um den Lichtvorgabewert. Ein erneuter Setzbefehl wird dann gestartet, wenn der Sollwert nHysLgtVal/2 über oder unter dem Istwert liegt.

fHysLgtT

REAL

Hysteresebereich um den Farbtemperaturvorgabewert. Ein erneuter Setzbefehl wird dann gestartet, wenn der Sollwert nHysLgtVal/2 über oder unter dem Istwert liegt.

nPrdQueryLgtVal

UDINT

Abfrageintervall des Lichtwertes [s].

nPrdQueryLgtT

UDINT

Abfrageintervall der Farbtemperatur [s].

FB_BA_LightActrDALI_TC 5:

Die folgenden Parameter werden durch die Initialisierungsroutine in das DALI-Vorschaltgerät bzw. die DALI-Geräte übertragen.

Name

Typ

Beschreibung

nMinLevel

BYTE

Minimaler Lichtstellwert im DALI-Ausgabeformat (0…254). Voreingestellt auf 126.

nMaxLevel

BYTE

Maximaler Lichtstellwert im DALI-Ausgabeformat (0…254). Voreingestellt auf 254.

nPowerOnLevel

BYTE

Lichtstellwert beim Anlegen der Versorgungsspannung an das Vorschaltgerät. Voreingestellt auf 254.

nSystemFailureLevel

BYTE

Lichtstellwert bei einem Fehler am DALI-Bus. Voreingestellt auf 254.

eFadeTime

Tc3_DALI.E_DALIFadeTime

Die Fade Time (Stufenzeit) legt die Zeit des aktuellen Ausgangswerts zum geforderten Wert fest. Die FadeTime ist auf "disabled" voreingestellt, was zusammen mit der deaktivierten "Extended FadeTime" (VAR CONSTANT) einer Stufenzeit von 0s entspricht.

eFadeRate

Tc3_DALI.E_DALIFadeRate

Die Fade Rate (Stufengeschwindigkeit) legt die Veränderungsgeschwindigkeit (in Stufen pro Sekunde) für die Änderung des Ausgangswerts fest. Für das Verhalten dieses Bausteines ist sie nicht ausschlaggebend. Sie ist auf 358 Stufen/s voreingestellt.

fTemperatureLimitWarmest

LREAL

Untere Grenze des Farbtemperaturbereiches in Kelvin. Voreingestellt auf 2700K.

fTemperatureLimitCoolest

LREAL

Obere Grenze des Farbtemperaturbereiches in Kelvin. Voreingestellt auf 6500K.

fPowerOnTemperature

LREAL

Farbtemperaturwert beim Anlegen der Versorgungsspannung an das Vorschaltgerät. Voreingestellt auf 3000K.

fSystemFailureTemperature

LREAL

Farbtemperaturwert bei einem Fehler am DALI-Bus. Voreingestellt auf 3000K.

VAR CONSTANT

FB_BA_LightActrDALI_TC 6:

Die folgenden Parameter sind unveränderbar und werden durch die Initialisierungsroutine in das DALI-Gerät übertragen.

Name

Typ

Beschreibung

eExtendedFadeTimeBase

Tc3_DALI.E_DALIExtendedFadeTimeBase

Die Extended Fade Time ist für sehr lange Dimmrampen bis 16 min gedacht. Sie ist für diesen Anwendungsfall deaktiviert.

eExtendedFadeTimeBase bezeichnet die Zeitbasis und ist auf den kleinsten Wert "Base01" voreingestellt.

eExtendedFadeTimeMultiplier

Tc3_DALI.E_DALIExtendedFadeTimeMultiplier

eExtendedFadeTimeMultiplier ist der Multiplikator zur Zeitbasis und ist auf den Wert "Disabled" eingestellt.

Voraussetzungen

Entwicklungsumgebung

Erforderliche Function

TwinCAT ab v3.1.4024.35

TF8040 | TwinCAT Building Automation ab V5.0.0.0