Voraussetzung
-
Die TIA Portal Openness-Anwendung ist mit dem TIA Portal verbunden.
Siehe Verbindung zum TIA Portal aufbauen -
Ein Projekt ist geöffnet.
Siehe Projekt öffnen
Einleitung
Sie können mit TIA Portal Openness die Bibliothekstypversion in diesem Projekt bearbeiten. Zum Bearbeiten der Bibliothekstypversion verwenden Sie die Methode Edit() in LibraryTypeVersion.
Die Methode Edit() gibt LibraryTypeVersion zurück, welches zum Typ Siemens.Engineering.Library.Types.LibraryTypeVersion gehört.
In STEP 7 ist die zurückgegebene Version immer in Arbeit oder in der Testphase, wurde aus einer ausgewählten bestehenden Version erstellt und wird für Typen verwendet, die eine Instanz zur Bearbeitung des Typs erfordern, während in HMI die zurückgegebene Version immer ein neuer Typ "In Arbeit" oder "In der Testphase" ist, der aus einer ausgewählten Version erstellt wurde.
|
Hinweis Die Methode Edit() ist in der Projektbibliothek verfügbar und wird über die globale Bibliothek nicht unterstützt. |
Parameter
Die Methode Edit() in STEP 7 akzeptiert die folgenden Parameter:
|
Parametername |
Datentypen |
Obligatorisch |
Beschreibung |
|---|---|---|---|
|
libraryTypeInstanceInfo |
Siemens.Engineering.Library.Types.LibraryTypeInstanceInfo |
Ja |
Instanzinformationen für die neu zu erstellende Version. |
|
Hinweis Die Methode Edit() ist eine Methodenüberladung, die keine Parameter für die HMI akzeptiert. |
Ausnahme
Die Methode Edit() löst die Ausnahme EngineeringTargetInvocation unter den folgenden Bedingungen aus:
-
Version, die bereits in Arbeit ist.
-
Jede Version des gleichen Typs ist in Arbeit.
-
Die Bearbeitung der Version ist aufgrund der schreibgeschützten oder nur lesbaren Persistenz nicht zulässig.
-
Die Version ist in der globalen Bibliothek.
-
Versionsbezogene erforderliche Pakete fehlen.
Programmcode
Ändern Sie folgenden Programmcode, um eine Bibliothekstypversion in STEP 7 zu bearbeiten:
|
private static void EditLibraryTypeStep7(TiaPortal portal) { var project = portal.Projects.Open(new System.IO.FileInfo (@"D:\Temp\Test\Project1_test2\Project1_test2.ap20")); LibraryTypeComposition libTypes = project.ProjectLibrary.TypeFolder.Types; try { var libraryVersion = libTypes[0].Versions[0]; var device = project.Devices[0]; var rack = device.Items[0]; var plc = rack.Items[0]; var softwareContainer = plc.GetService<SoftwareContainer>(); var plcSoftware = softwareContainer?.Software as PlcSoftware; IInstanceSearchScope searchScope = plcSoftware as IInstanceSearchScope; IList<LibraryTypeInstanceInfo> libraryTypeInstanceInfos = libraryVersion.FindInstances(searchScope); if(libraryTypeInstanceInfos.Any()) { var libraryInWorkVersion = libraryVersion.Edit(libraryTypeInstanceInfos.First()); } } catch (EngineeringException e) { Console.WriteLine(e); } } |
Ändern Sie folgenden Programmcode, um eine Version eines Bibliothekstyps in der HMI zu bearbeiten:
|
private static void EditLibraryTypeHMI(TiaPortal portal) { var project = portal.Projects.Open(new System.IO.FileInfo (@"D:\Temp\Test\Project1_test2\Project1_test2.ap20")); LibraryTypeComposition libTypes = project.ProjectLibrary.TypeFolder.Types; try { var libraryVersion = libTypes[0].Versions[0]; var libraryInWorkVersion = libraryVersion.Edit(); } catch (EngineeringException e) { Console.WriteLine(e); } } |