KL6811 Integration in TwinCAT (BC9191)

Dieses Beispiel beschreibt, wie ein einfaches SPS-Programm für DALI in TwinCAT geschrieben werden kann und wie es mit der Hardware verknüpft wird. Es soll eine einzelne dimmbare Lampe angesteuert und per Taster verändert werden.

Beispieldateien entpacken

Hardware

Einrichtung der Komponenten

Es wird folgende Hardware benötigt:

Richten Sie die Hardware sowie die DALI-Komponenten wie in den entsprechenden Dokumentationen beschrieben ein.

Dieses Beispiel geht davon aus, dass ein Dimm-Taster auf den ersten und ein Reset-Taster auf den zweiten Eingang der KL1002 gelegt wurde und sich an der DALI-Adresse 0 eine dimmbare Lampe befindet. Stellen Sie die Fade-Rate des Vorschaltgerätes zunächst auf 7 um ein ansprechendes Dimmen zu erzielen.

Software

Erstellung des SPS-Programms

Erstellen Sie ein neues SPS-Projekt für BC-basierte Systeme (BCxx50 über AMS) und fügen die Bibliotheken TcDALIV2.lbx und TcSystemBCxx50.lbx hinzu. Gehen Sie danach im Menü auf Projekt → Optionen... → Übersetzungsoptionen und wählen LREAL als REAL übersetzen an.

KL6811 Integration in TwinCAT (BC9191) 1:

Unter Controller Einstellungen wählen Sie  den BC9191 und stellen Sie die Maximale Anzahl der POUs auf 1000

KL6811 Integration in TwinCAT (BC9191) 2:

Erzeugen Sie als Nächstes die folgenden globalen Variablen:

VAR_GLOBAL
    bSwitch      AT %I*     : BOOL;
    bReset       AT %I*     : BOOL;
    stDALIInData     AT %I* : ST_DALIV2InData;
    stDALIOutData    AT %Q* : ST_DALIV2OutData;
    stCommandBuffer         : ST_DALIV2CommandBuffer;
END_VAR

bSwitch: Eingangsvariable für den Dimm-Taster.

bReset: Eingangsvariable für den Reset-Taster.

stDALIInData: Eingangsvariable für die DALI-Klemme.

stDALIOutData: Ausgangsvariable für die DALI-Klemme.

stCommandBuffer: Wird für die Kommunikation mit DALI benötigt.

Da BC-Geräte nur über eine Task verfügen, kann die Kommunikation mit DALI nicht separat ausgeführt werden.

Legen Sie daher ein MAIN-Programm (CFC) an in dem die Bausteine FB_DALIV2Communication() und FB_DALIV2Dimmer1Switch() aufgerufen werden. Achten Sie beim Kommunikationsbaustein darauf, mit stDALIInData, stDALIOutData und stCommandBuffer zu verknüpfen.

KL6811 Integration in TwinCAT (BC9191) 3:

Der Eingang bSwitchDimm des Dimmer-Bausteins wird mit der globalen Variable bSwitch verknüpft und stCommandBuffer mit der globalen Variable stCommandBuffer.

KL6811 Integration in TwinCAT (BC9191) 4:
KL6811 Integration in TwinCAT (BC9191) 5:

Parameter

Die eingetragenen Parameter nMinlevelMasterDevice und nMaxLevelMasterDevice müssen unbedingt dem Minimal- und Maximalwert des angesprochenen Gerätes entsprechen, da es sonst zu Fehlfunktionen kommen kann.

Gehen Sie in die Taskkonfiguration und geben Sie der Task eine niedrigere Intervall-Zeit. Genauere Informationen dazu finden Sie in der Beschreibung des Bausteins FB_DALIV2Communication().

KL6811 Integration in TwinCAT (BC9191) 6:

Laden Sie das Projekt als Bootprojekt auf den BC und speichern Sie es ab.

Konfiguration im System Manager

Legen Sie ein neues TwinCAT System-Manager-Projekt an, wählen Sie als Zielsystem den BC und lassen Sie nach dessen Hardware suchen.

Fügen Sie das oben angelegte SPS-Programm unter SPS-Konfiguration hinzu.

KL6811 Integration in TwinCAT (BC9191) 7:

Verknüpfen Sie die globalen Variablen des SPS-Programms nun mit den Ein- und Ausgängen der Busklemmen, erzeugen Sie die Zuordnungen und aktivieren Sie die Konfiguration. Starten Sie dann das Gerät im Run-Modus.

Ihr BC ist jetzt einsatzbereit.

Durch kurzes oder längeres Drücken auf den Dimm-Taster kann nun die Lampe geregelt werden. Mit dem Reset-Taster können Sie die Einträge in arrBufferMaximumDemandMeter und arrBufferOverflowCounter zurücksetzen.