FB_BA_LightActrDALI_Base

FB_BA_LightActrDALI_Base 1:

Dieser Baustein dient zur Ansteuerung eines DALI-Lichtaktors, einer DALI-Gruppe oder von DALI-Geräten mit Sammelbefehl (broadcast), wobei nur der Lichthelligkeitswert verändert wird.

Funktion

Im Baustein werden 2 Routinen durchlaufen:

Als "aktueller Wert" wird zunächst immer der Wert angenommen, welcher fehlerfrei gesendet wurde. Die zyklische Abfrage der 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 einmal gelesen wird.

Die Ansteuerung des Bausteins erfolgt über Werte aus dem Lichttelegramm stLightingCmd. Dabei werden die Steuerwerte des Lichts 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.

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 0s, um Dimmrampen so allein 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_LightActrDALI_Base
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            : I_DALICommunication;
END_VAR
VAR_OUTPUT
  byActlLgtVal                   : BYTE;
  fActlLgtVal                    : REAL;
  bInitializing                  : BOOL;
  bErr                           : BOOL;
END_VAR
VAR_INPUT CONSTANT PERSISTENT
  nHysLgtVal                     : BYTE;
  nPrdQueryLgtVal                : 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;
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_Base 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_Base 3: VAR_OUTPUT

Name

Typ

Beschreibung

byActlLgtVal

BYTE

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

fActlLgtVal

REAL

Aktueller Lichtwert in Prozent.

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_Base 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.

nPrdQueryLgtVal

UDINT

Abfrageintervall des Lichtwertes [s].

FB_BA_LightActrDALI_Base 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.

VAR CONSTANT

FB_BA_LightActrDALI_Base 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