TMC- und TPY-Dateierzeugung konfigurieren
TwinCAT kann beim Build automatisch .tmc- und .tpy-Dateien erzeugen. Die TMC-Datei (TwinCAT Module Class) enthält die Typbeschreibung des PLC-Projekts und wird für TcCOM-Module und die Modulbeschreibung in der TwinCAT-Umgebung benötigt. Die TPY-Datei enthält das Prozessabbild des PLC-Projekts und ermöglicht den Import von Variablen in andere Projekte.
Beide Einstellungen werden per ConsumeXml auf dem PLC-Projektstamm gesetzt. Zusätzlich lässt sich das Prozessabbild einer vorhandenen TMC-Datei als PLC-Instanz in den IO-Konfigurationsbaum importieren.
Voraussetzungen
- TwinCAT XAE ist installiert und gestartet.
- Eine DTE-Verbindung zur Zielinstanz ist aktiv.
-
ITcSysManagerist in einem STA-Thread initialisiert. - Ein PLC-Projekt ist in der Solution vorhanden.
TMC- und TPY-Erzeugung aktivieren
Die Einstellung wird über ein kurzes XML-Fragment per ConsumeXml auf dem PLC-Projektstamm gesetzt. Für TmcFileCopy und TpyFileCopy genügt jeweils ein einzelner Aufruf.
ITcSmTreeItem plcProjectRoot = sysManager.LookupTreeItem(@"TIPC^PLC1^PLC1 Project");
// Generate TMC file on build
plcProjectRoot.ConsumeXml(
"<TreeItem><PlcProjectDef><TmcFileCopy>true</TmcFileCopy></PlcProjectDef></TreeItem>");
// Generate TPY file on build (implicitly activates TmcFileCopy as well)
plcProjectRoot.ConsumeXml(
"<TreeItem><PlcProjectDef><TpyFileCopy>true</TpyFileCopy></PlcProjectDef></TreeItem>");
Prozessabbild aus TMC-Datei importieren
Eine vorhandene TMC-Datei lässt sich als PLC-Instanz in den IO-Konfigurationsbaum importieren. Der Pfad zur TMC-Datei wird als vierter Parameter an CreateChild übergeben.
ITcSmTreeItem plcNode = sysManager.LookupTreeItem("TIPC");
// Create PLC instance from TMC file
plcNode.CreateChild("ImportedPLC", 0, "", @"C:\Projects\MyModule.tmc");
![]() | Die erzeugten TMC- und TPY-Dateien werden standardmäßig im Projektordner abgelegt. |
