Integration in TwinCAT (CX9020)

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. Es soll ein SMI-Motor angesteuert und per Taster die Laufrichtung verändert werden.

Beispieldateien entpacken

Hardware

Einrichtung der Komponenten

Es wird folgende Hardware benötigt:

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

Dieses Beispiel geht davon aus, dass ein Hoch-Taster auf den ersten und ein Runter-Taster auf den zweiten Eingang der KL1002 gelegt wurde und sich an der Adresse 1 ein SMI-Motor befindet.

Software

Erstellung des SPS-Programms

Erstellen Sie ein neues SPS-Projekt für PC-basierte Systeme (ARM) und fügen die Bibliothek TcSMI.lib hinzu.

Erzeugen Sie als Nächstes die folgenden globalen Variablen:

VAR_GLOBAL
    bUp          AT %I* : BOOL;
    bDown        AT %I* : BOOL;
    stInData     AT %I* : ST_KL6831KL6841InData;
    stOutData    AT %Q* : ST_KL6831KL6841OutData;
    stCommandBuffer     : ST_SMICommandBuffer;
END_VAR

bUp: Eingangsvariable für den Hoch-Taster.

bDown: Eingangsvariable für den Runter-Taster.

stInData: Eingangsvariable für die SMI-Klemme.

stOutData: Ausgangsvariable für die SMI-Klemme.

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

Legen Sie anschließend ein Programm (CFC) für die Hintergrundkommunikation mit SMI an. In diesem wird der Baustein FB_KL6831KL6841Communication aufgerufen. Achten Sie beim Kommunikationsbaustein darauf, mit stInData, stOutData und stCommandBuffer zu verknüpfen.

Integration in TwinCAT (CX9020) 1:
Sample_FB_Com

Legen Sie ein MAIN-Programm (CFC) an in dem die Bausteine FB_SMIUpStep und FB_SMIDownStep aufgerufen werden. Der Eingang bStart des StepUp-Bausteins wird mit der globalen Variable bUp verknüpft und stCommandBuffer mit der globalen Variable stCommandBuffer. Verfahren Sie entsprechend für den StepDown-Baustein.

Integration in TwinCAT (CX9020) 2:

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

Integration in TwinCAT (CX9020) 3:

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

Konfiguration im System Manager

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

Fügen Sie das oben angelegte SPS-Programm unter SPS-Konfiguration hinzu. Beim Aufklappen des SPS-Projekts in der Baumansicht werden die beiden Tasks aufgelistet. Beim Erweitern der Tasks ist sicherzustellen, dass alle globalen Ein- und Ausgangsvariablen der Standard-Task zugeordnet sind. Da die Variablen stInData und stOutData jedoch schneller abgearbeitet werden sollen, müssen diese mit Drag&Drop auf die Hintergrund-Kommunikations-Task verschoben werden.

Integration in TwinCAT (CX9020) 4:

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 CX ist jetzt einsatzbereit.

Durch Betätigen von einem der Richtungstaster steuert der SMI-Motor die gewählte Richtung für den unter uiAngle angegebenen Winkelgrad an.