KL6821 mit 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 Lampe angesteuert und per Taster auf den maximalen Ausgangswert geschaltet oder ausgeschaltet werden.

Beispiel: DALI_Sample_KL6821_CX5120.zip

KL6821 mit CX5120 1:

Das TwinCAT-Projekt steht als *.zip Datei zum Download zur Verfügung. Diese muss zuerst lokal entpackt werden, damit das Archiv (*.tnzip Datei) zum Import in das TwinCAT-Projekt zur Verfügung steht.

Hardware

Einrichtung der Komponenten

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

Das Beispiel geht davon aus, dass ein Ein-Taster auf den ersten und ein Aus-Taster auf den zweiten Eingang der KL1104 gelegt wurde. An der DALI-Adresse 0 befindet sich eine Lampe.

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 Tc3_DALI-Bibliothek hinzu. Erzeugen Sie eine globale Variablenliste mit den Namen GVL_DALI und legen Sie die folgenden Variablen an:

VAR_GLOBAL
    bSwitchOn           AT %I* : BOOL;
    bSwitchOff          AT %I* : BOOL;
    stKL6821InData      AT %I* : ST_KL6821InData;
    stKL6821OutData     AT %Q* : ST_KL6821OutData;
END_VAR

bSwitchOn: Eingangsvariable für den Ein-Taster.

bSwitchOff: Eingangsvariable für den Aus-Taster.

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

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

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

KL6821 mit CX5120 2:

Legen Sie ein MAIN-Programm (CFC) an, in dem die Bausteine FB_DALI102RecallMaxLevel und FB_DALI102Off folgendermaßen deklariert werden.

PROGRAM MAIN
VAR
  fb102RecallMaxLevel : FB_DALI102RecallMaxLevel(Communication.fbKL6821Communication);
  fb102Off            : FB_DALI102Off(Communication.fbKL6821Communication);
END_VAR

In den runden Klammern hinter der Deklaration wird der Kommunikationsbaustein angegeben. Über diese Angabe wird die Referenz zu der gewünschten DALI-Klemme festgelegt.

Weitere Informationen hierzu finden Sie unter Übergabe der Referenz auf den Kommunikationsbaustein.

Rufen Sie die beiden Instanzen der Bausteine FB_DALI102RecallMaxLevel und FB_DALI102Off mit den folgenden Variablen auf.

Der Eingang bStart des Bausteins zum Einschalten einer Lampe mit dem maximalen Ausgangswert wird mit der globalen Variable bSwitchOn verknüpft.

Der Eingang bStart des Bausteins zum Ausschalten einer Lampe wird mit der globalen Variable bSwitchOff verknüpft.

KL6821 mit CX5120 3:

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 CX5120 4:

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 CX5120 5:

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

E/A Konfiguration

Wählen Sie als Zielsystem den CX und lassen Sie nach dessen Hardware suchen.

In der Instanz (DALI_Sample_KL6821_CX5120 Instance) des SPS-Projekts, sehen Sie, dass die Ein- und Ausgangsvariablen des SPS-Programms den entsprechenden Tasks (PlcCommunication und PlcTask) zugeordnet sind.

KL6821 mit CX5120 7:

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 Betätigen des ersten Tasters wird die Lampe mit dem maximalen Helligkeitswert eingeschaltet. Mit dem zweiten Taster kann sie wieder ausgeschaltet werden.