Beobachtungs- und Forcetabellen für Webserver- und PLC-Display zuordnen - 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
Beobachtungs- und Forcetabellen für Webserver- und PLC-Display zuordnen

Voraussetzung

Anwendung

Mit TIA Portal Openness können Sie bereits erstellte Beobachtungs- und Forcetabellen dem Webserver zuordnen. Bei der Beobachtungstabelle und der Forcetabelle handelt es sich um Software, die im Softwarecontainer gefunden, erstellt und gelöscht werden kann. Sie können mit TIA Portal Openness Beobachtungs- und Forcetabellen exportieren/importieren. Zum Export/Import von Beobachtungs- und Forcetabellen siehe Beobachtungs- und Forcetabelle exportieren/importieren

Für die Zuordnung von Beobachtungs- und Forcetabellen zum Webserver wird der Dienst WatchAndForceTableAccessManager am DeviceItem der PLC verwendet.

Dieser Dienst enthält zwei Navigatoren für Beobachtungs- und Forcetabellen.

  • WatchtableAccessRules {WatchtableAccessRuleComposition}

  • ForcetableAccessRules {ForcetableAccessRuleComposition}

Der Navigator WatchTableAccessRules stellt die Zusammensetzung WatchTableAccessRuleComposition zur Verfügung, die Objekte vom Typ WatchTableAccessRule enthält. Die Zusammensetzung ist standardmäßig leer. Für die WatchTableAccessRule -Objekte sind die Aktionen "Finden" und "Erstellen" definiert.

AccessRule für WatchTable & ForceTable

  • PlcWatchTable watchtable {get;} gibt die Beobachtungstabelle des Softwareobjekts zurück. Um eine zugeordnete Beobachtungstabelle auszutauschen, muss der Benutzer die Zuordnung der aktuellen Tabelle entfernen (mit WatchTableAccessRule.Delete()) und eine neue Tabelle hinzufügen (mit WatchTableAccessRule.Create()).

  • WatchAndForceTableAccess access {get; set;} gibt die Webserver-Zugriffsstufe (d. h. Lesen oder Lesen/Schreiben) zurück bzw. legt sie fest

Name in der TIA UI

Wert

enum-Beschreibung in Openness

-

0

None

Lesen

1

Read

Lesen/Schreiben

2

Write

In folgenden Fällen werden Fehler ausgelöst:

  • Wenn der Webserver nicht aktiviert wurde (WebserverActivate == FALSE), wird eine EngineeringTargetInvocationException ausgelöst, deren Fehlerdetails besagen, dass eine WatchTableAccessRule nur hinzugefügt werden kann, wenn der Webserver aktiviert ist.

  • Wenn der Benutzer versucht, eine Beobachtungstabelle mit WatchAndForceTableAccess.None hinzuzufügen, wird eine ConfigOpenessUserException ausgelöst, deren Fehlerdetails besagen, dass WatchAndForceTableAccess.None als Zugriffsstufe nicht zulässig ist

Programmcode: Beobachtungstabelle zuordnen und deren Zuordnung aufheben

Ändern Sie folgenden Programmcode, um eine Beobachtungstabelle auf dem Webserver zu suchen:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

WatchAndForceTableAccessManager mngr = deviceItem.GetService<WatchAndForceTableAccessManager>();

WatchTableAccessRuleComposition watchTableCmp = mngr.WatchTableAccesseRules;

WatchTableAccessRule accessRule1 = watchTableCmp.Find(watchTable1);

Hinweis

Es wird null zurückgegeben, wenn die betreffende Beobachtungstabelle nicht mit einer WatchTableAccessRule auf dem Webserver verknüpft ist

Ändern Sie folgenden Programmcode, um auf dem Webserver eine neue Beobachtungstabelle mit Lesezugriff zu erstellen:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

WatchAndForceTableAccessManager mngr = deviceItem.GetService<WatchAndForceTableAccessManager>();

WatchTableAccessRuleComposition watchTableCmp = mngr.WatchTableAccesseRules;

watchTableCmp.Create(watchTable1, WatchAndForceTableAccess.Read);

Ändern Sie folgenden Programmcode, um eine vorhandene WatchTableAccessRule zu löschen und die Zuordnung der Beobachtungstabelle zum Webserver aufzuheben:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

WatchTableAccessRule whatchtable= watchTableCmp.Find(watchTable1);

whatchtable.Delete();

In folgenden Fällen werden Fehler ausgelöst:

  • Wenn der Webserver nicht aktiviert wurde (WebserverActivate == FALSE), wird eine EngineeringTargetInvocationException ausgelöst, deren Fehlerdetails besagen, dass eine WatchTableAccessRule nur hinzugefügt werden kann, wenn der Webserver aktiviert ist

  • Wenn eine WatchtableAccessRule zu dieser Beobachtungstabelle bereits vorhanden ist, wird eine ConfigOpenessUserException ausgelöst, deren Fehlerdetails besagen, dass die Beobachtungstabelle bereits vorhanden ist.

  • Wenn Sie versuchen, eine Beobachtungstabelle mit WatchAndForceTableAccess.None hinzuzufügen, wird eine ConfigOpenessUserException ausgelöst, deren Fehlerdetails besagen, dass WatchAndForceTableAccess.None als Zugriffsstufe nicht zulässig ist

Programmcode: Dem Webserver eine Forcetabelle zuordnen

Ändern Sie folgenden Programmcode, um eine Forcetabelle auf dem Webserver zu suchen:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

WatchAndForceTableAccessManager mngr = deviceItem.GetService<WatchAndForceTableAccessManager>();

ForceTableAccessRuleComposition forceTableCmp = mngr.ForceTableAccessRules;

ForceTableAccess forceTable = forceTableCmp.Find(forceTable1);

Ändern Sie folgenden Programmcode, um auf dem Webserver eine PLC-Forcetabelle mit Lesezugriff zu erstellen:

Kopiert den nachfolgenden Programmcode in die Zwischenablage.

ForceTableAccessRuleComposition forceTableCmp = mngr.ForceTableAccessRules;

forceTableCmp.Create(forceTable1, WatchAndForceTableAccess.Read);

Beobachtungs- und Forcetabellen am PLC-Display

Sie können denselben Openness-Dienst WatchAndForceTableAccessManager verwenden, der am Submodul Display (DeviceItem) des PLC DeviceItem verfügbar ist. Für die Zuordnung von Beobachtungs- und Forcetabellen am PLC-Display wird dieselbe Webserver-Funktion wie oben beschrieben verwendet. Im Unterschied zum Webserver kann das Display nicht deaktiviert werden. Damit ist eine ähnliche Validierung wie bei WebserverActive hier nicht möglich.