_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.
|