KL6831 mit CX5120

Dieses Beispiel beschreibt, wie ein einfaches SPS-Programm für SMI in TwinCAT geschrieben werden kann und wie es mit der Hardware verknüpft wird.

Ein Motor wird stufenweise per Taster angesteuert. Ein Taster sendet den Auf-Befehl, ein anderer Taster den Ab-Befehl.

Beispiel: SMI_Sample_KL6831_CX5120.zip

KL6831 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 SMI-Komponenten, wie in den entsprechenden Dokumentationen beschrieben, ein.

Das Beispiel geht davon aus, dass ein Reset-Taster auf den ersten, ein Auf-Taster auf den zweiten und ein Ab-Taster auf den dritten Eingang der KL1104 gelegt wurde. An der SMI-Teilnehmeradresse 1 befindet sich ein Antrieb.

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_SMI hinzu.

Erzeugen Sie die folgenden globalen Variablen:

VAR_GLOBAL
    bReset              AT %I* : BOOL;
    bUp                 AT %I* : BOOL;
    bDown               AT %I* : BOOL;
    stKL6831InData      AT %I* : ST_KL6831KL6841InData;
    stKL6831OutData     AT %Q* : ST_KL6831KL6841OutData;
    stCommandBuffer            : ST_SMICommandBuffer;
END_VAR

Name

Typ

Beschreibung

bReset

BOOL

Eingangsvariable für den Reset-Taster

bUp

BOOL

Eingangsvariable für den Auf-Taster

bDown

BOOL

Eingangsvariable für den Ab-Taster

stKL6831InData

ST_KL6831KL6841InData

Eingangsvariable für die SMI-Klemme

stKL6831OutData

ST_KL6831KL6841OutData

Ausgangsvariable für die SMI-Klemme

stCommandBuffer

ST_SMICommandBuffer

Wird für die Kommunikation mit SMI benötigt

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

KL6831 mit CX5120 2:

Legen Sie ein MAIN-Programm (CFC) an, in dem die Bausteine FB_SMIUpStep und FB_SMIDownStep aufgerufen werden.

Der Eingang bStart des Bausteins zum Senden des Auf-Befehls wird mit der globalen Variable bUp verknüpft.

Der Eingang bStart des Bausteins zum Senden des Ab-Befehls wird mit der globalen Variable bDown verknüpft.

KL6831 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 10 ms.

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

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

KL6831 mit CX5120 6:

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.

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

Mit dem Reset-Taster können Sie die Eingänge in arrBufferMaximumDemandMeter und arrBufferOverflowCounter zurücksetzen.