Watchdog-Gruppen
Watchdog-Gruppen dienen der Verbindungsüberwachung. Eine Watchdog-Gruppe enthält nur ein Item und erwartet, dass dieses Item in einem festgelegten Intervall n einen Wert übermittelt. Sendet das Item der Watchdog-Gruppe innerhalb von 3 * n Millisekunden keinen Wert, setzt die Watchdog-Gruppe das allItemsInvalid-Bit.
Nachdem ein Watchdog ausgelöst wurde, wird der Watchdog vom Treiber nicht beim ersten Signal zurückgesetzt, sondern erst wenn Signale für einen definierten Zeitraum (validToReset) ohne Störung empfangen wurden.
Konfiguration
Zur Konfiguration der Watchdog-Gruppe, des Intervalls n und validToReset wird der Config-Eintrag watchdogGroup verwendet. Zur Definition des Zeitintervalls wird ein Multiplikationsfaktor angegeben. Das Intervall n wird dann über den angegebenen Faktor sowie der tatsächlichen Update-Rate der OPC-Gruppe (in Millisekunden) ermittelt. Die Update-Rate der OPC-Gruppe wird am Datenpunktelement UpdateRateAct des entsprechenden _OPCGroup-Datenpunkts angezeigt.
Der Watchdog-Mechanismus kann auch für Items, die Werte nicht spontan senden, verwendet werden. Beispielsweise wenn ein Skript alle n-2 Sekunden einen Aktualisierungs- und Lese-Vorgang für das Item (in einer Gruppe) startet und die Gruppe dann die empfangenen Werte speichert. Wenn nicht genug Werte empfangen wurden, wird AllItemsInvalid gesetzt und ein Kommunikationsfehler tritt auf. (Achtung: Das Gerät muss gelesen werden. Ansonsten funktioniert dieser Mechanismus nicht, da es laufend Werte vom Cache gibt.)
Beispiel
[opc_server1]
watchdogGroup = "ABB_Watch" 2 10
Bei einer tatsächlichen Update-Rate von 1000 Millisekunden und dem angegebenen Multiplikationsfaktor 2 ergibt sich ein Intervall n von 2000 Millisekunden. Wenn beispielsweise ein Zähler in der Peripherie verwendet wird, müsste dieser auf eine Inkrementzeit von unter 2000 Millisekunden gesetzt werden.
Im Fall dass der Watchdog ausgelöst wird, so muss der Client für mindestens 10 Sekunden (= validToReset) Signale erhalten. Der Client verwendet hierfür einen internen Zähler. Werden beispielsweise nur für 8 Sekunden Signale empfangen, wird der Zähler zurückgesetzt und die Zeitperiode startet wieder vom Anfang. Dadurch wird verhindert, dass ein Watchdog ständig gesetzt und zurückgesetzt wird.
Einschränkungen
Die folgenden Einschränkungen gelten für die Watchdog-Gruppen:
-
Wenn die vom Server garantierte Update-Rate kleiner als das Watchdog-Intervall ist, signalisiert die Gruppe das über den Status "AllItems Invalid".
-
Watchdog-Gruppen sind immer permanente Gruppen. Die Definition einer Watchdog-Gruppe ist stärker als die einer nonpermanenten Gruppe.
-
Watchdog-Gruppen akzeptieren nur ein Item, da sie eine Verbindung überwachen.
-
Es ist nicht möglich eine Watchdog-Gruppe zur Laufzeit zu erstellen. Der Client muss neu gestartet werden.
-
In einem redundanten System hat der aktuelle Wert des Items keine Bedeutung, da es auf dem passiven System vom aktiven System überschrieben werden kann.