Dateibeschreibung

Bei der Entwicklung von TwinCAT C++ Modulen ist ein direkter Umgang mit Dateien des Dateisystems möglich. Dies ist von Interesse, entweder um zu verstehen wie das System funktioniert oder für spezielle Anwendungsfälle, wie z. B. manuelle Dateiübertragung, usw.  

Hier eine Liste der Dateien, die in Zusammenhang mit C++ Modulen stehen.

Datei

Beschreibung

Weitere Informationen

Engineering / XAE

*.sln

Visual Studio Solution-Datei, beherbergt TwinCAT- und Nicht-TwinCAT-Projekte

 

*.tsproj

TwinCAT Projekt, Sammlung aller verschachtelten TwinCAT-Projekte, wie TwinCAT C++ oder TwinCAT SPS-Projekt

 

_Config/

Ordner enthält weitere Konfigurationsdateien (*.xti), die zum TwinCAT-Projekt gehören.

Siehe Menü Tools| Options| TwinCAT| XAE-Environment| File Settings

_Deployment/

Ordner für kompilierte TwinCAT C++ Treiber

 

*.tmc

TwinCAT Module Class Datei (XML-basiert)

Siehe TwinCAT Module Class Editor (TMC)

*.rc

Ressourcendatei

Siehe Setzen von Version/Herstellerinformationen

*.vcxproj.*

Visual Studio C++ Projektdateien

 

*ClassFactory.cpp/.h

Class Factory für diesen TwinCAT Treiber

 

*Ctrl.cpp/.h

Treiber hochladen und entfernen für TwinCAT UM Plattform

 

*Driver.cpp/.h

Treiber hochladen und entfernen für TwinCAT RT Plattform

 

*Interfaces.cpp/.h

Deklaration der TwinCAT COM Schnittstellenklassen

 

*W32.cpp./.def/.idl

 

 

*.cpp/.h

Eine C++/Header-Datei pro TwinCAT Modul im Treiber. Benutzercode hier einfügen.

 

Resource.h

Wird von *.rc Datei benötigt

 

TcPch.cpp/.h

Wird für die Erstellung von vorkompiliertem Header verwendet

 

%TC_INSTALLPATH%\Repository\<Vendor>\<PrjName>\<Version>\<Platform>\*.tmx

Kompilierter Treiber, der über das TcLoader geladen wird.

TwinCAT 3.1.4024.x:

C:\TwinCAT\3.1\Repository\C++ Module Vendor\Untitled1\0.0.0.1\TwinCAT RT *\Unititled1.tmx

Ab TwinCAT 3.1.4026.x:

C:\ProgramData\Beckhoff\TwinCAT\3.1\Repository\C++ Module Vendor\Untitled1\0.0.0.1\TwinCAT RT *\Unititled1.tmx

Siehe Versionierte C++ Projekte

%TC_INSTALLPATH% \CustomConfig\Modules\*

Veröffentlichtes TwinCAT C++ Projekt normalerweise
TwinCAT 3.1.4024.x:

C:\TwinCAT\3.1\CustomConfig\Modules\*

Ab TwinCAT 3.1.4026.x:

C:\ProgramFiles (x86)\Beckhoff \TwinCAT\3.1\Config\Modules\*

Siehe Module exportieren

 

Laufzeit / XAR

%TC_BOOTPRJPATH% \CurrentConfig\*

Derzeitiges Konfigurationssetup

Windows:
TwinCAT 3.1.4024.x:

C:\TwinCAT\3.1\Boot

Ab TwinCAT 3.1.4026.x:

Windows: C:\ProgramData\Beckhoff \TwinCAT\3.1\Boot

TwinCAT/BSD: /usr/local/etc/TwinCAT/3.1/Boot

 

%TC_DRIVERAUTOINSTALLPATH% \*.sys/pdb

Kompilierter, plattformspezifischer Treiber, der über das Betriebssystem geladen wird.

Windows:

TwinCAT 3.1.4024.x:

C:\TwinCAT\3.1\Driver\AutoInstall (vom System geladen)

Ab TwinCAT 3.1.4026.x:

<nicht verfügbar>
Bitte migrieren zu TMX
basierten C++ Projekten

TwinCAT/BSD:
<nicht verfügbar>

 

%TC_INSTALLPATH%\Boot\Repository\<Vendor>\<PrjName>\<Version>\*.tmx

Kompilierter Plattform-spezifischer Treiber, der über den TcLoader geladen wird.

Windows:

TwinCAT 3.1.4024.x:

C:\TwinCAT\3.1\Boot\Repository\C++ Module Vendor\Untitled1\0.0.0.1\Untitled1.tmx

Ab TwinCAT 3.1.4026.x:

C:\ProgramData\Beckhoff \TwinCAT\3.1\Boot\Repository\C++ Module Vendor\Untitled1\0.0.0.1\Untitled1.tmx

TwinCAT/BSD: /usr/local/etc/TwinCAT/3.1/Boot\/Repository\C++ Module Vendor\Untitled1/0.0.0.1/Untitled1.tmx

 

%TC_BOOTPRJPATH% \TM\OBJECTID.tmi

TwinCAT Module Instance Datei

Beschreibt Variablen des Treibers

Dateiname lautet ObjectID.tmi

Windows:
TwinCAT 3.1.4024.x:

C:\TwinCAT\3.1\Boot\TMI\OTCID.tmi

Ab TwinCAT 3.1.4026.x:

Windows: C:\ProgramData\Beckhoff \TwinCAT\3.1\Boot\TMI\OTCID.tmi

TwinCAT/BSD:
/usr/local/etc/TwinCAT/3.1/Boot/TMI/OTCID.tmi

 

Temporäre Dateien

*.sdf

IntelliSense Datenbank

 

*.suo / *.v12.suo

Benutzerspezifische und Visual Studio-spezifische Dateien

 

*.tsproj.bak

Automatisch generierte Sicherungsdatei von tsproj

 

ipch/

Für vorkompilierten Header erstelltes Zwischen-Verzeichnis

 

Ablauf der Kompilierung

Hier wird der Ablauf beschrieben, den ein Build oder Rebuild auf einem TwinCAT C++ Projekt im TwinCAT Engineering XAE auslöst. Dies ist beispielsweise zu berücksichtigen, wenn Firmen-spezifische Umgebungen und Bauprozesse integriert werden sollen.

Welche Konfiguration bei einem Build oder Rebuild gebaut wird, hängt von der aktuellen Auswahl im Visual Studio ab:

Dateibeschreibung 1:

Die richtige Ziel-Architektur (TwinCAT RT (x64) hier) wird durch eine Auswahl des Zielsystems passend gesetzt.

Der Configuration Manager erlaubt die dezidierte Einstellung der Build-Konfiguration.

Bei Auswahl von Build oder Rebuild (und damit auch beim Activate Configuration) laufen die folgenden Schritte ab:

1. Die Quellen liegen im jeweiligen Projekt-Verzeichnis.
2. Die Kompilate werden architektur-spezifisch erzeugt unterhalb des Projekt-Verzeichnisses _products\TwinCAT RT (x64)\Release\<ProjectName>
3. Nach dem Linkvorgang wird danach die .tmx/.pdb-Datei in dem Projekt-Verzeichnis abgelegt.
4. Ein Druck auf den Activate Configuration-Button führt dazu, dass .tmx/.pdb von dem Engienering Repository auf das Zielsystem übertragen wird (ggf. ist das eine lokale Kopie).

Bei Auswahl von Publish auf dem Projekt baut für die ausgewählten Plattformen und legt das Ergebnis im Engineering-Repository ab: C:\ProgramData\Beckhoff\TwinCAT\3.1\Repository\<vendor>\<ProjectName>\<version>\TwinCAT RT (x64)\Release\, wobei auch die TMC Datei aktualisiert wird.