Beispiel02: Zyklische C++ Logik, die IO von der IO Task verwendet

Dieser Artikel beschreibt die Implementierung eines TC3 C++ Moduls das ein Image einer IO Tasks verwendet.

Download

Hier erhalten Sie den Quellcode für dieses Beispiel.

1. Entpacken Sie die heruntergeladene ZIP-Datei.
2. Öffnen Sie mittels eines Visual Studios, in dem TwinCAT installiert ist, das Projekt über Open Project ….
3. Konfigurieren Sie das Signieren für dieses Projekt, indem Sie auf der Seite unter Rechtsklick auf dem Projekt->Properties->Tc Sign die TwinCAT Signierung anschalten und Ihr Zertifikat und ggf. Passwort konfigurieren.
Weitere Informationen zur Signierung der C++ Projekte erhalten Sie hier.
4. Wählen Sie Ihr Zielsystem aus.
5. Bauen Sie das Beispiel (z. B. Build->Build Solution).
6. Aktivieren Sie die Konfiguration mit einem Klick auf Beispiel02: Zyklische C++ Logik, die IO von der IO Task verwendet 1:.
Das Beispiel ist einsatzbereit.

Quellcode, der vom Assistenten nicht automatisch generiert wird, ist mit einem Beginn-Flag „//sample code“ und Ende-Flag „//sample code end“ gekennzeichnet.
Somit können Sie nach diesen Zeichenketten in den Dateien suchen, um sich ein Bild von den Einzelheiten zu machen.

Beschreibung

Dieses Beispiel beschreibt die Flexibilität von C++ Code bei der Arbeit mit IOs, welche an der Task konfiguriert sind. Durch diesen Ansatz kann ein kompiliertes C++ Modul flexibler reagieren, wenn mit der IO Task unterschiedlich viele IOs verbunden sind. Eine Einsatzmöglichkeit wäre die zyklische Prüfung analoger Eingangskanäle mit je nach Projekt unterschiedlicher Anzahl Kanäle.

Das Beispiel enthält

Der C++ Code greift über ein Datenimage auf die Werte zu, das beim Übergang SAFEOP to OP (SO) initialisiert wird.

In der zyklisch ausgeführten Methode CycleUpdate wird durch Aufruf der Helfermethode CheckValue der Wert jeder Eingangsvariablen überprüft. Ist er kleiner als 0, wird die entsprechende Ausgangsvariable auf 1 gesetzt, ist er größer als 0, wird sie auf 2 gesetzt und ist sie gleich 0, dann wird der Ausgang auf 3 gesetzt.

Nach der Aktivierung der Konfiguration können Sie auf die Variablen über den Solution Explorer zugreifen und diese setzen.
Doppelklicken Sie auf das Task1-Abbild des Systems, um eine Übersicht zu erhalten.
Die Eingangsvariablen können geöffnet und dann mit dem Karteireiter Online gesetzt werden.