TwinCAT-Projekt als Archiv speichern
TwinCAT unterstützt zwei Varianten des Projektexports: Die gesamte Solution lässt sich als .tnzip-Archiv speichern. Einzelne Teilprojekte, etwa ein PLC-Projekt oder einen POUs-Ordner, exportiert ExportChild als .tpzip- oder .zip-Datei.
Voraussetzungen
- TwinCAT XAE ist installiert und gestartet.
- Eine DTE-Verbindung zur Zielinstanz ist aktiv.
ITcSysManagerist in einem STA-Thread initialisiert.- Eine TwinCAT-Solution ist geöffnet.
- Das Zielverzeichnis für das Archiv ist vorhanden.
Solution als Archiv speichern
Das ITcArchivePersist-Interface wird über dte.GetObject("TcArchivePersist") bezogen. SaveAsArchive speichert die gesamte Solution als .tnzip-Datei. Das Archiv enthält alle Projektdateien und lässt sich auf einem anderen Rechner wiederherstellen.
using EnvDTE;
// Get ITcArchivePersist object via DTE
ITcArchivePersist persist = (ITcArchivePersist)dte.GetObject("TcArchivePersist");
// Save solution as .tnzip
persist.SaveAsArchive(@"C:\Archives\MyProject.tnzip");
// Optionally close solution afterwards
dte.Solution.Close();
Teilprojekte exportieren
Für den Export einzelner Teilprojekte steht ExportChild auf ITcSmTreeItem zur Verfügung. Der erste Parameter gibt den Namen des zu exportierenden Kindelements an, der zweite den Zieldateipfad.
// Export PLC project as .tpzip
ITcSmTreeItem plc = sysManager.LookupTreeItem("TIPC");
plc.ExportChild("PLC1", @"C:\Archives\PLC1.tpzip");
// Export POUs as .zip
ITcSmTreeItem pous = sysManager.LookupTreeItem("TIPC^PLC1^PLC1 Project^POUs");
pous.ExportChild("", @"C:\Archives\POUs.zip");