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.
Hardware
Einrichtung der Komponenten
Es wird folgende Hardware benötigt:
- 1x Embedded-PC CX9020
- 1x Digitale 2-Kanal-Eingangsklemme KL1002 (für die Schritt hoch und runter Funktion)
- 1x SMI-Klemme KL6831
- 1x Endklemme KL9010
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.

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.

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.

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.

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.