Verbesserte Typkonsistenz - 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
Verbesserte Typkonsistenz

Voraussetzung

Einleitung

Sie können mit TIA Portal Openness Typen auf Inkonsistenzen prüfen. Die Typen können einen unterschiedlichen Konsistenzstatus haben. Der Typ ist konsistent, wenn der abhängige Typ die Standardversion des Abhängigkeitstyps verwendet. Der Typ ist inkonsistent, wenn der abhängige Typ nicht die Standardversion des Abhängigkeitstyps verwendet.

Der Konsistenzstatus des Ordners zeigt an, ob ein Typ unter der Struktur konsistent oder inkonsistent ist.

Die Status API gehört zur Klasse Siemens.Engineering.Library.Types.LibraryTypeund Siemens.Engineering.Library.Types.LibraryTypeFolderund hat den Typ ConsistencyStatus.

Damit ein Benutzer von TIA Portal Openness den Konsistenzstatus eines Typs/Ordners prüfen kann, wird das Attribut "Status" für folgende Elemente eingeführt:

  • Systemordner

  • Benutzerdefinierter Ordner

  • Typ

Damit können Sie eine Liste inkonsistenter Typen erstellen, um bestimmte Operationen mit ihnen auszuführen:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

var listOfInconsistentTypes = Folder.Types.Where(x => x.Status == ConsistencyStatus.DefaultVersionInconsistent);

Enum ConsistencyStatus unterstützt die folgenden Werte:

Wert

Beschreibung

DefaultVersionInConsistent

Abhängige Typen verwenden nicht die Standardversion von Abhängigkeitstypen

Consistent

Abhängige Typen verwenden die Standardversion von Abhängigkeitstypen

Programmcode

Ändern Sie folgenden Programmcode, um das Statusattribut für den Systemordner "Types" in der Projektbibliothek zu lesen:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

...

ILibrary myProjectLibrary = Project.ProjectLibrary;

LibraryTypeSystemFolder typeFolder = myProjectLibrary.TypeFolder;

var systemTypeFolderConsistencyStatus = typeFolder.Status;

if(systemTypeFolderConsistencyStatus == ConsistencyStatus.DefaultVersionInConsistent)

{

//Do something.

}

// List of InConsistentType

var listOfInCosistentTypes = typeFolder.Types.Where(x => x.Status == ConsistencyStatus.InConsistent);

foreach(var type in listOfInCosistentTypes)

{// From type, user can get details like Author, Guid etc

var nameOfType = type.LibraryTypeName;

var guid = type.Guid;

var authorOfTheVersion = type.Author;

var status = type.State;

}

...

Ändern Sie folgenden Programmcode, um das Statusattribut für "UserFolder" in der Projektbibliothek zu lesen:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

...

ILibrary myProjectLibrary = Project.ProjectLibrary;

LibraryTypeUserFolder userFolder = myProjectLibrary.TypeFolder.Folders.Find("folder1");

var userTypeFolderConsistencyStatus = userFolder.Status;

if(userTypeFolderConsistencyStatus == ConsistencyStatus.DefaultVersionInConsistent)

{

//Do something.

}

...

Ändern Sie folgenden Programmcode, um das Statusattribut für "Individual Type" in der Projektbibliothek zu lesen:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

...

ILibrary myProjectLibrary = Project.ProjectLibrary;

LibraryTypeUserFolder userFolder = myProjectLibrary.TypeFolder.Folders.Find("folder1");

ILibraryType blockType = userFolder.Types.Find("block1");

var blockTypeConsistencyStatus = blockType.Status;

if(blockTypeConsistencyStatus == ConsistencyStatus.DefaultVersionInConsistent)

{

//Do something.

}

...

Hinweis

Dieses Attribut kann auch in der globalen Bibliothek auf die gleiche Weise verwendet werden.

Ausnahmebehandlung

Ist einer der ausgewählten Typen oder Ordner Null oder nicht Teil der Quellbibliothek, wird eine Ausnahme ArgumentNullException ausgegeben.

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

var projectLibrary = Project.ProjectLibrary;

var type1 = projectLibrary.Types.FindType("Type1");

var status = typeFolder.Status; // throws ArgumentNullException

Siehe auch

Projekt öffnen