Unterstützung der Selbstbeschreibung für Attribute, Navigatoren, Aktionen und Dienste - 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
Unterstützung der Selbstbeschreibung für Attribute, Navigatoren, Aktionen und Dienste

Verwendung

In TIA Portal Openness beschreibt jeder IEngineeringServiceProvider der TIA Portal Openness API seine Fähigkeiten für potentielle Aufrufe.

Unterstützung der Selbstbeschreibung für IEngineeringObject

Methodenname

Rückgabewerte

GetCompositionInfos

Gibt eine Sammlung von Objekten des Typs EngineeringCompositionInfo zurück, die die verschiedenen Zusammensetzungen dieser Objekte beschreiben. EngineeringCompositionInfo wird nachstehend beschrieben.

GetAttributeInfos

Gibt eine Sammlung von Objekten des Typs EngineeringAttributeInfo zurück, die die verschiedenen Attribute dieser Objekte beschreiben. EngineeringAttributeInfo wird nachstehend beschrieben.

GetInvocationInfos

Gibt eine Sammlung von Objekten des Typs EngineeringInvocationInfo zurück, die die verschiedenen Aktionen dieser Objekte beschreiben. EngineeringInvocationInfo wird nachstehend beschrieben.

Unterstützung der Selbstbeschreibung für IEngineeringServiceProvider

Methodenname

Rückgabewerte

GetServiceInfos

Gibt eine Sammlung von Objekten des Typs EngineeringServiceInfo zurück, die die verschiedenen Dienste dieser Objekte beschreiben. EngineeringServiceInfo wird nachstehend beschrieben.

Unterstützung der Selbstbeschreibung für IEngineeringComposition

Methodenname

Rückgabewerte

GetCreationInfos

Gibt eine Sammlung von Objekten des Typs EngineeringCreationInfo zurück, die die verschiedenen Aktionen dieser Objekte beschreiben.

EngineeringcreationInfo wird nachstehend beschrieben.

Klasse EngineeringCompositionInfo

Attributname

Rückgabewerte

Name

Name der Zusammensetzung

Klasse EngineeringAttributeInfo

Attributname

Rückgabewerte

AccessMode

Die vom Attribut unterstützte Zugriffsebene. Dieses Attribut ist kombinierbar und wird nachstehend ausführlich beschrieben.

Name

Name des Attributs.

CreateRelevance

Ebene, bis zu der das Attribut relevant für das Erstellen ist.

SupportedTypes

Die potenziell unterstützten Typen des Attributs.

Klasse EngineeringInvocationInfo

Attributname

Rückgabewerte

Name

Name der Aktion.

ParameterInfos

Eine Sammlung von Objekten des Typs EngineeringInvocationParameterInfo, die von der Aktion möglicherweise benötigte Parameter beschreiben. EngineeringInvocationParameterInfo wird nachstehend beschrieben.

Klasse EngineeringServiceInfo

Attributname

Rückgabewerte

Type

Der Diensttyp als System.Type-Objekt.

Enum AccessMode

Enumerationswert

Rückgabewerte

None

Keine gültige Option.

Read

Das Attribut kann gelesen werden.

Write

Das Attribut kann geschrieben werden.

Klasse EngineeringInvocationParameterInfo

Attributname

Rückgabewerte

Name

Name des Parameters

Type

Typ des Parameters als System.Type-Objekt

Klasse EngineeringCreationInfo

Attributname

Rückgabewerte

Type

Die Eigenschaft Type gibt ein Objekt System.Type zurück.

ParameterInfos

Die Eigenschaft ParameterInfos gibt eine Sammlung von Objekten EngineeringCreationParameterInfo zurück.

Klasse EngineeringCreationParameterInfo

Attributname

Rückgabewerte

Name

Name des betreffenden Parameters

Programmcode

AccessMode ist eine Merker-Enumeration, ihre Werte können wie der folgende Programmcode kombiniert werden:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

EngineeringAttributeAccessMode value = EngineeringAttributeAccessMode.Read|EngineeringAttributeAccessMode.Write;

Ändern Sie den folgenden Programmcode, um alle Attribute eines IEngineeringObject zu suchen und Änderungen am Zugriffsmodus dieser Attribute vorzunehmen.

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

...

IEngineeringObject engineeringObject = ...;

IList<EngineeringAttributeInfo> attributeInfos = engineeringObject.GetAttributeInfos();

foreach(EngineeringAttributeInfo attributeInfo in attributeInfos)

{

    switch (attributeInfo.AccessMode)

        {

        case EngineeringAttributeAccessMode.Read:

            ...

            break;

        case EngineeringAttributeAccessMode.Write:

            ...

            break;

        case EngineeringAttributeAccessMode.Read|EngineeringAttributeAccessMode.Write:

            ...

            break;

        }

}

...

Ändern Sie folgenden Programmcode dafür, wie Create und GetCreationInfos gemeinsam verwendet werden sollen.

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

...

Project project = tiaPortal.Projects.Open(projectPath);

IEngineeringComposition deviceGroupComposition = project.DeviceGroups;

EngineeringCreationInfo deviceGroupCreationInfo = deviceGroupComposition.GetCreationInfos()[0];

EngineeringCreationParameterInfo deviceGroupCreationParameterInfo = deviceGroupCreationInfo.ParameterInfos[0];

string deviceGroupCreationParameterName = deviceGroupCreationParameterInfo.Name;

string groupName = "Example";

IDictionary<string, object> createParameters = new Dictionary<string, object>

{

 {deviceGroupCreationParameterName, groupName }

};

IEngineeringObject group = deviceGroupComposition.Create(deviceGroupCreationInfo.Type, createParameters);

...