Auf den Synchronisationsstatus untergeordneter Objekte zugreifen - 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
Auf den Synchronisationsstatus untergeordneter Objekte zugreifen

Voraussetzung

Einleitung

Sie können mit TIA Portal Openness den Synchronisationsstatus untergeordneter Objekte abrufen.

Methode

Methodenname

Beschreibung

GetService<ChildObjectsStateProvider>()

Gibt das Objekt ChildObjectsStateProvider-Dienst aus der Workspace-Zuordnung an dem Objekt zurück, das über mindestens ein VCI-aktiviertes untergeordnetes Objekt verfügt.

Das Objekt ChildObjectStateProvider bietet folgende Methode, um den Synchronisationsstatus untergeordneter Objekte anzuzeigen.

Methodenname

Beschreibung

GetStatus()

Gibt das Objekt SynchronizationResult zurück, das den aktuellen Synchronisationsstatus untergeordneter Objekte darstellt.

ENUM

Das Objekt SynchronizationResult bietet folgende Enumeration, um mögliche Änderungen eines Objekts anzuzeigen.

Enum

Wert

Beschreibung

MappingState

Equal

Alle untergeordneten Objekte sind zugeordnet und synchronisiert.

UnEqual

Ein untergeordnetes Objekt eines hierarchischen Objekts ist nicht synchronisiert.

Programmcode

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

var workspaceMapping = ...;

//To get the ChildObjectStateProvider object from the worksspace mapping that contains the child of hierarchial objects.

var childObjectsStateProvider = workpaceMapping.GetService<ChildObjectsStateProvider>();

//To perform null check before invoking the actions on child object synchronization service as the mapping may or may not support child objects synchronization.

if(childObjectsStateProvider != null)

{

//The GetStatus()returns all the child objects are mapped and are in sync.

//The SynchronizationResult returns the mapping status as Equal.

var synchronizationResult= childObjectsStateProvider.GetStatus();

//When MappingState is unequal

if(synchronizationResult.MappingState == MappingState.Unequal)

{

//Access to an individual child object and retrieve the status

}

}