Neues C++-Modul erstellen
Innerhalb eines C++-Projekts werden einzelne TwinCAT-Module als eigenständige Klassen angelegt. Jedes Modul implementiert eine bestimmte TwinCAT-Modulschnittstelle, die festlegt, wie das Modul im Laufzeitsystem eingebunden wird. Typische Varianten sind zyklisch getaktete I/O-Module, ADS-Kommunikationsknoten und einfache Basismodule ohne besondere Systemanbindung. Der Modultyp wird beim Erstellen über den vInfo-Parameter von CreateChild() als Wizard-Name übergeben und bestimmt, welcher Code-Wizard die Klassen-Stubs erstellt. Das Elternobjekt des Aufrufs ist der Projektknoten des C++-Projekts, nicht der übergeordnete TIXC-Knoten.

Beispiel
Das folgende Beispiel zeigt das Erstellen eines leeren Moduls mit TcModuleEmptyWizard. Für andere Modultypen muss der entsprechende Wizard-Name aus der Tabelle weiter unten eingesetzt werden.
C#:
string moduleTemplate = "TcModuleEmptyWizard";
// Create a new module in the C++ project using the specified module wizard
ITcSmTreeItem cppModule = cppProject.CreateChild("NewModule", 1, "", moduleTemplate);PowerShell:
$moduleTemplate = "TcModuleEmptyWizard"
# Create a new module in the C++ project using the specified module wizard
$cppModule = $cppProject.CreateChild("NewModule", 1, "", $moduleTemplate)Modultypen
Der passende Wizard wird als vierter Parameter vInfo an CreateChild() übergeben. Die folgende Tabelle listet alle verfügbaren Modultypen und ihre Wizard-Bezeichnungen auf:
Modul Typ | Wizard Bezeichnung |
|---|---|
TwinCAT Module Class | TcModuleEmptyWizard |
TwinCAT Module Class with ADS Port | TcModuleAdsPortWizard |
TwinCAT Module Class with Cyclic Caller | TcModuleCyclicCallerWizard |
TwinCAT Module Class with Cyclic IO | TcModuleCyclicIOWizard |
TwinCAT Module Class with Data Pointer | TcModuleDataPointerWizard |
TwinCAT Module Class for RT Context | TcModuleRTWizard |
TwinCAT Module Class Online Changeable | TcModuleOCWizard |