KL6821 mit PC-System (CX5120)

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.

Beispiel: DALI_Sample_KL6821_CX5120.zip

Hardware

Einrichtung der Komponenten

  • 1x Embedded-PC CX5120
  • 1x Digitale 4-Kanal-Eingangsklemme KL1104 (für die Dimm- und Reset-Funktion)
  • 1x DALI-Klemme KL6821
  • 1x Endklemme KL9010

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

Das Beispiel geht davon aus, dass ein Dimm-Taster auf den ersten und ein Reset-Taster auf den zweiten Eingang der KL1104 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 „TwinCAT XAE Project“ und legen Sie ein „Standard PLC Project“ an.

Fügen Sie im SPS-Projekt unter „References“ die Bibliothek Tc2_DALI hinzu.

Erzeugen Sie die folgenden globalen Variablen:

VAR_GLOBAL
   bSwitch         AT %I* : BOOL;
   bReset          AT %I* : BOOL;
   stKL6821InData  AT %I* : 
ST_KL6821InData;
   stKL6821OutData AT %Q* : 
ST_KL6821OutData;
   stCommandBuffer        : ST_DALIV2CommandBuffer;
END_VAR

bSwitch: Eingangsvariable für den Dimm-Taster.

bReset: Eingangsvariable für den Reset-Taster.

ST_KL6821InData: Eingangsvariable für die DALI-Klemme. (ST_KL6821InData)

ST_KL6821OutData: Ausgangsvariable für die DALI-Klemme. (ST_KL6821OutData)

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

Legen Sie ein Programm (CFC) für die Hintergrundkommunikation mit DALI an. In dem Programm wird der Baustein FB_KL6821Communication() aufgerufen. Achten Sie beim Kommunikationsbaustein darauf, die Strukturen stInData, stOutData und stCommandBuffer zu verknüpfen.

KL6821 mit PC-System (CX5120) 1:

Legen Sie ein MAIN-Programm (CFC) an, in dem der Baustein FB_DALIV2Dimmer1Switch() aufgerufen wird. Der Eingang bSwitchDimm des Dimmer-Bausteins wird mit der globalen Variable bSwitch verknüpft und stCommandBuffer mit der globalen Variable stCommandBuffer.

KL6821 mit PC-System (CX5120) 2:

Parameter nMinlevelMasterDevice und nMaxlevelMasterDevice

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.

Navigieren Sie in den Bereich der Taskkonfiguration und konfigurieren die PlcTask. Exemplarisch erhält die Task die Priorität 16 und eine Zykluszeit von 6 ms.

KL6821 mit PC-System (CX5120) 3:

Legen Sie eine weitere Task für die Hintergrundkommunikation an. Geben Sie dieser Task eine höhere Priorität (kleinere Zahl) und eine niedrigere Intervall-Zeit als der PLCTask.

KL6821 mit PC-System (CX5120) 4:

Fügen Sie dieser Task das Programm für die Kommunikation zu. Genauere Information zur Taskkonfiguration finden Sie in der Beschreibung des Bausteins FB_KL6821Communication().

KL6821 mit PC-System (CX5120) 5:

E/A Konfiguration

Wählen Sie als Zielsystem den CX und lassen Sie nach dessen Hardware suchen. Im Bereich der SPS, in der Instanz des Projekts sehen Sie, dass die Ein- und Ausgangsvariablen den entsprechenden Tasks zugeordnet sind.

KL6821 mit PC-System (CX5120) 6:

Verknüpfen Sie die globalen Variablen des SPS-Programms nun mit den Ein- und Ausgängen der Busklemmen. Erstellen Sie die Projektmappe und aktivieren Sie die Konfiguration.

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