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