Voraussetzung
-
Die Anwendung TIA Portal Openness ist mit dem TIA Portal verbunden.
SieheVerbindung zum TIA Portal aufbauen -
Eine Bibliothek ist geöffnet.
Siehe Bibliotheken öffnen -
Eine Bibliothek ist gespeichert
Siehe Bibliotheken speichern und schließen
Einleitung
Sie können mit TIA Portal Openness geöffnete und gespeicherte globale Bibliotheken archivieren, bevor weitere Änderungen daran vorgenommen werden. Auf diese Weise verhindern Sie unbeabsichtigte Änderungen und können die archivierte Bibliothek später wieder über TIA Portal Openness abrufen. Außerdem können Sie die archivierte Datei problemlos im Netzwerk teilen.
Bibliothek archivieren
Über die Schnittstelle TIA Portal Openness API können Sie eine globale Anwenderbibliothek archivieren. Die API ist am Objekt Siemens.Engineering.UserGlobalLibrary verfügbar.
Die API-Definition lautet wie folgt:
|
public void Archive(System.IO.DirectoryInfo targetDirectory, string targetName, Siemens.Engineering.Library.LibraryArchivationMode archivationMode) |
Hierbei ist targetName der Name der Datei, die für die archivierten oder nicht-archivierten Bibliotheken erstellt wurde. Diese Datei kann Dateierweiterungen oder keine Dateierweiterungen enthalten. Wenn Sie keine Erweiterung oder eine andere Erweiterung als "zalx" oder "zal14" usw. angeben, kann die archivierte Datei nicht außerhalb der Openness API aus dem TIA Portal abgerufen werden.
Wenn der Wert für LibraryArchivationMode mit Compressed und DiscardRestorableDataAndCompressed angegeben wird, ist der Name der archivierten Datei identisch mit dem von Ihnen bereitgestellten Namen. Bei den Werten None und DiscardRestorableData für LibraryArchivationMode wird die Erweiterung der Bibliotheksdatei automatisch von der Komponente Project Manager des TIA Portals anhand der aktuellen Version des TIA Portals festgelegt.
|
Hinweis Sie müssen die Bibliothek vor dem Aufrufen der Archivierungs-API speichern. Falls die Bibliothek nicht gespeicherte Änderungen enthält, löst das Archiv eine EngineeringTargetInvocationException aus. |
Archivierungsmodus der Bibliothek
Für die Enumeration LibraryArchivationMode (Archivierungsmodus der Bibliothek) können vier Werte angegeben werden.
|
LibraryArchivationMode |
Beschreibung |
|---|---|
|
None |
|
|
DiscardRestorableData |
|
|
Compressed |
Die vom Archivierungsprozess erstellte Struktur des TMP-Bibliotheksordners wird zu einem ZIP-kompatiblen Archiv komprimiert. Nach Erstellung der ZIP-Datei wird die TMP-Ordnerstruktur gelöscht. |
|
DiscardRestorableDataAndCompressed |
Die vom Archivierungsprozess erstellte Struktur des TMP-Bibliotheksordners verwirft die wiederherstellbaren Daten und wird dann zu einem ZIP-kompatiblen Archiv komprimiert. Nach Erstellung der ZIP-Datei wird die TMP-Ordnerstruktur gelöscht. |
Programmcode: Bibliothek archivieren
Ändern Sie folgenden Programmcode, um eine globale Anwenderbibliothek zu archivieren:
|
var tiaPortal = new TiaPortal(TiaPortalMode.WithoutUserInterface); //Please adapt the path and the extension alx to the installed version of TIA Portal var libraryFilePath = @"E:\Sample1\Sample1.alx"; var userGlobalLibrary = tiaPortal.GlobalLibraries.Open(new FileInfo(LibraryFilePath), OpenMode.ReadWrite); var archivePath = @"E:\Archive"; var archiveFileName = "SampleArchive"; userGlobalLibrary.Archive(new DirectoryInfo(archivePath), archiveFileName, LibraryArchivationMode.Compressed); |
Bibliothek abrufen
Über die Schnittstelle TIA Portal Openness API können Sie eine archivierte TIA Portal-Bibliothek abrufen. Der Abruf ist nur mit einem komprimierten Archiv möglich. Die API ist am Objekt
Siemens.Engineering.GlobalLibraryComposition verfügbar.
Die API-Definition lautet wie folgt:
|
public Siemens.Engineering.Library.UserGlobalLibrary Retrieve(System.IO.FileInfo sourcePath, System.IO.DirectoryInfo targetDirectory, Siemens.Engineering.OpenMode openMode) |
|
Hinweis Es ist nicht möglich, archivierte Bibliotheken mit den Enumerationswerten 'LibraryArchivationMode.None' oder 'LibraryArchivationMode.DiscardRestorableData' abzurufen. |
Durch Aufrufen von RetrieveWithUpgrade API stellen Sie die archivierte Bibliothek einer früheren TIA Portal-Version wieder her. Die API-Definition lautet wie folgt:
|
public Siemens.Engineering.Library.UserGlobalLibrary RetrieveWithUpgrade(System.IO.FileInfo sourcePath, System.IO.DirectoryInfo targetDirectory, Siemens.Engineering.OpenMode openMode) |
Öffnungsmodus
Die Enumeration OpenMode weist zwei Werte auf:
|
OpenMode |
Beschreibung |
|---|---|
|
ReadMode |
Lesezugriff auf die Bibliothek. Daten können aus der Bibliothek gelesen werden. |
|
ReadWrite |
Schreibzugriff auf die Bibliothek. Daten können in die Bibliothek geschrieben werden. |
Programmcode: Bibliothek abrufen
Ändern Sie den folgenden Programmcode, um eine Bibliothek abzurufen:
|
//Please adapt the path and the extension zalx to the installed version of TIA Portal var archivePath = @"E:\Archive\Sample1.zalx"; var retrievedLibraryDirectory = @"E:\RetrievedLibraries"; var tiaPortal = new TiaPortal(TiaPortalMode.WithoutUserInterface); tiaPortal.GlobalLibraries.Retrieve(new FileInfo(archivePath), new DirectoryInfo(retrievedLibraryDirectory), OpenMode.ReadWrite)); |
Siehe auch