TwinCAT C++ Entwicklung

Übersicht der Entwicklungsumgebung

TwinCAT C++ Entwicklung 1:

Das Layout des Visual Studios ist flexibel und anpassbar, so dass an dieser Stelle nur eine Übersicht einer üblichen Anordnung gegeben werden kann. Der Nutzer ist aber frei in der Konfiguration der Fenster und Anordnungen.

  1. In der TwinCAT Solution kann durch Rechts-Klick auf das C++ Icon ein TwinCAT C++ Projekt angelegt werden. Innerhalb dieses Projektes sind zum einen die Quellen („Untitled Project“) von ggf. mehreren Modulen enthalten. Zum anderen können Modulinstanzen („Untitled1_Obj1 (CModule1)“) angelegt werden. Die Modulinstanzen haben Ein-/Ausgänge die auf die übliche Weise verbunden („Link“) werden können. Zusätzlich gibt es weitere Möglichkeiten, wie Module interagieren können.
  2. Zur Programmierung wird der Visual Studio Editor für Visual C++ verwendet. Hier ist insbesondere auf die Drop-Down Boxen zur schnellen Navigation innerhalb einer Datei hinzuweisen. Im unteren Bereich wird die Ausgabe des Compile-Vorganges ausgegeben. Es kann auch auf die TwinCAT Meldungen (vgl. Modul-Nachrichten zum Engineering (Logging / Tracing)) umgeschaltet werden.
    In den Editoren können die üblichen Features wie Haltepunkte (vgl. Debuggen) genutzt werden.
  3. In der frei konfigurierbaren Toolbar-Leiste ist üblicherweise die Toolbar für TwinCAT XAE Base platziert. Activate Configuration, RUN, CONFIG, Auswahl des Zielsystems (hier <Local>) und einige andere Buttons geben schnellen Zugriff auf häufig genutzte Funktionen. Der TwinCAT Debugger ist der Button um die Verbindung zum Zielsystem in Bezug auf C++ Module aufzubauen (die PLC nutzt einen eigenständigen Debugger). Bei TwinCAT C++ ist wie bei anderen C++ Programmen im Gegensatz zur PLC zu unterscheiden zwischen „Release“ und „Debug“. Bei einem Build-Vorgang für „Release“ wird der Code soweit optimiert, dass ein Debugger unter Umständen die Haltepunkte nicht mehr zuverlässig erreicht, sowie auch falsche Daten angezeigt werden.

Ablauf

In diesem Abschnitt werden die Prozesse für Programmierung, Kompilierung und Starten eines TwinCAT C++ Projekts beschrieben.

Er soll einen allgemeinen Überblick über den Engineering-Prozess für TwinCAT C++ Projekte mit Verweisen auf die entsprechende ausführliche Dokumentation geben. Der Schnellstart geht die gemeinsamen Schritte im Einzelnen durch.

1. Typen-Deklaration und Modultyp:
Der TwinCAT Module Class Editor (TMC) und TMC Code Generator werden für die Definition von Datentypen und Schnittstellen, und auch der Module, die diese verwenden, herangezogen.
Der TMC Code Generator generiert Quellcode anhand der bearbeiteten TMC-Datei und bereitet Datentypen / Schnittstellen vor, die in anderen Projekten (wie SPS) zu verwenden sind.
Das Bearbeiten und den Code Generator Starten kann so oft wie gewünscht gemacht werden - die Code-Generierung achtet auf programmierten Benutzercode und bewahrt diesen.
2. Programmierung
Die bekannte Visual Studio C++ Programmierungsumgebung wird für die Entwicklung und das Debugging des benutzerdefinierten Codes innerhalb der Code-Vorlage verwendet.
3. Module instanziieren
Das Programm beschreibt eine Klasse, die als Objekte instanziiert wird. Der TwinCAT Module Instance Configurator wird für die Konfiguration der Instanz verwendet. Allgemeine Konfigurationselemente sind: Task zuweisen, Symbolinformation für Laufzeit (TwinCAT Module Instance (TMI) Datei) herunterladen oder Parameter- /Schnittstellenzeiger festlegen.
4. Mapping von Variablen
Die Ein- und Ausgangsvariablen eines Objekts können mit Variablen von anderen Objekten oder SPS-Projekten unter Verwendung des normalen TwinCAT Systemmanagers verknüpft werden.
5. Erstellung (Building)
Bei der Erstellung (Kompilieren und Verknüpfung) des TwinCAT C++ Projekts werden alle Komponenten für die ausgewählte Plattform kompiliert. Die Plattform wird automatisch festgelegt, wenn das Zielsystem ausgewählt ist.
6. Veröffentlichung (Publishing) (siehe Exportieren bis TwinCAT 3.1 4022.xx / Importieren bis TwinCAT 3.1 4022.xx)
Die Veröffentlichung eines Moduls erstellt die Treiber für alle Plattformen und bereitet es für die Verteilung vor. Das erzeugte Verzeichnis kann verteilt werden, ohne dass der Quellcode übergeben werden muss. Es wird ausschließlich Binärcode mit Schnittstellenbeschreibung übergeben.
7. Signatur (siehe Treibersignierung)
Die TwinCAT-Treiber müssen für x64-Laufzeiten signiert sein, weil 64-Bit-Windows Versionen fordern, dass Kernel-Module signiert sind. Also gilt dies sowohl für die x64-Erstellung als auch für das Veröffentlichen von Modulen, weil diese Module die x64-Binärcodes enthalten (falls nicht deaktiviert).
Der Signaturprozess kann benutzerdefiniert sein.
8. Aktivierung
Der TwinCAT C++ Treiber kann wie jedes TwinCAT Projekt mittels Activate Configuration aktiviert werden. Daraufhin bittet ein Dialog darum, TwinCAT in den RUN-Modus zu setzen.
Das (von IEC61131-basierten Systemen her bekannte) Debuggen in Echtzeit, sowie das Setzen von (bedingten) Haltepunkten ist im Falle von TwinCAT C++ Modulen möglich.
Das Modul läuft unter Echtzeitbedingungen.