_OPCGroup (OPC Client)

Für jede Gruppe, die im OPC Server verwendet werden soll, muss ein interner Datenpunkt vom Typ _OPCGroup vorhanden sein. Dieser Datenpunkt muss angelegt sein bevor die Gruppe im Server angelegt wird, also bevor der erste Datenpunkt mit einer Adresse, die diese Gruppe enthält, parametriert wird.

Tabelle: die Datenpunktelemente von _OPCGroup)

DP Element Typ Beschreibung
Active bit Setzt den Status der Gruppe auf aktiv (1) oder auf inaktiv (0). Für eine inaktive Gruppe erfolgt kein Update und auf sie kann keine Generalabfrage ausgelöst werden. Allerdings können Items, die sich in inaktiven Gruppen befinden, geschrieben werden.
AllItemsInvalid bit Der Wert wird vom Treiber gesetzt und wird nur angezeigt. Wird vom Treiber gesetzt (TRUE), wenn alle Items in einer Gruppe die Qualität BAD oder UNCERTAIN haben. Sobald mindestens ein Item die Qualität GOOD hat, wird dieser Wert auf FALSE gesetzt.
DataSourceDevice bit Wenn dieser Wert auf TRUE gesetzt wird, erfolgen Generalabfragen direkt von der Hardware und werden nicht aus dem Cache des Servers beantwortet.
DeathBand float [%]

Bestimmt die Totbandglättung für analoge Items in der Gruppe. Ein Wert wird geglättet (d.h. es erfolgt kein Update des Client), wenn gilt:

|letzterWertimCache - aktuellerWert |<DeathBand* (EUHigh -EU Low )

Die Werte EUHigh und EULow werden vom Server festgelegt oder über die CALL-R Schnittstelle parametriert.

DeleteGroup bit Wird auf dieses Element der Wert 1 gesetzt, wird die entsprechende Gruppe im Server gelöscht. Der zugehörige Datenpunkt wird nicht gelöscht.
DpIds dyn. Bezeichnerfeld In diesem Feld werden die DpIds aller in der Gruppe enthaltenen Datenpunkte angezeigt. Dem ersten Eintrag in dieser Liste entspricht der erste Eintrag in der Liste ItemIds.
EnableCallback bit Wird dieser Wert auf 0 gesetzt, liefert die Gruppe keine Callbacks mehr. Die Werte im CACHE des Servers werden allerdings aktuell gehalten. (Das ist auch der Unterschied zum inaktiv Status einer Gruppe. Dabei werden nämlich die in der Gruppe enthaltenen Items im CACHE auch nicht mehr von der Peripherie aktualisiert.)
GetIds bit Das Schreiben eines Wertes auf dieses, aktualisiert die Daten in den Feldern DpIds und ItemIds.
ItemIds dyn. Textfeld Hier werden alle in einer Gruppe enthaltenen ItemIds dargestellt. Dieser Wert ist vom User nicht schreibbar. HINWEIS: Items dürfen nur einmal in einer Gruppe definiert sein!
Refresh bit Eine Wertänderung in diesem Feld löst eine Generalabfrage auf alle Items in der Gruppe aus.
RefreshTimer uint [s] Kommt RefreshTimer Sekunden lang kein Callback vom Server, wird durch diesen Timer ein Refresh für die Gruppe direkt auf das DEVICE ausgelöst. Der Wert sollte daher nicht kleiner als der von UpdateRateAct sein.
UpdateRateAct uint [ms] Tatsächliche, vom Server garantierte Update Rate. Dieses Feld wird vom Server als Antwort auf eine UpdaterateReq Änderung gesetzt und kann vom User nicht beschrieben werden. Neue Werte werden vom Server nicht schneller als alle updateRateAct ms geschickt. Sollten die Wertänderungen an der Peripherie schneller als alle updateRateAct ms auftreten, gehen die Werte dazwischen verloren.
UpdateRateReq uint [ms] Die vom Server geforderte Update Rate für die Gruppe in Millisekunden.
retryCorruptItems bool Wenn eine OPC-Gruppe ein OPCItem im Server durch AddItem() nicht einfügen kann (die Adresse ist also ungültig, das Item "corrupt"), dann merkt sich die Gruppe dieses Item. Durch setzen des DPEs "retryCorruptItem" kann zu einem späteren Zeitpunkt versucht werden das Item erneut einzufügen.
ItemInsState dyn. Textfeld

Mit diesem Datenfeld wird angezeigt ob ein Item erfolgreich in die Gruppe eingefügt werden konnte.

  • x - konnte nicht eingefügt werden

  • 1 - erfolgreich eingefügt

  • 0 - nicht erfolgreich eingefügt, weil aktuell nicht notwendig. Das betrifft nur nicht permanente Gruppen