Bibliothekstypversion bearbeiten - TIAPortal

TIA Portal Openness: API für die Automatisierung von Engineering-Workflows

ft:publication_title
TIA Portal Openness: API für die Automatisierung von Engineering-Workflows
Product
TIAPortal
Version
V20
Publication date
01/2025
Language
de-DE
Bibliothekstypversion bearbeiten

Voraussetzung

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:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

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:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

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);

      }

}