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.

Neues C++-Modul erstellen 1:

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