Kommunikation

Verbindungsaufbau

Der Verbindungsaufbau zum Server erfolgt, wie im Kapitel Aufnehmen der OPC Kommunikation beschrieben, beim Hochfahren des Clients. Eine Datenabfrage erfolgt erst wenn der Server den Status RUNNING ausweist.

Verbindungsüberwachung

Bei der Verbindungsüberwachung wird nur die Verbindung zwischen Server und Client überwacht, nicht die Verbindung zwischen Servers und Hardware. Der Server hat aber zwei Möglichkeiten dem Client einen eventuellen Hardwareausfall mitzuteilen:

  • Die erste Möglichkeit ist vom Client eine Unterbrechung der Verbindung zum Server über das IOPCShutdown zu verlangen.
  • Die zweite Möglichkeit ist es den Serverstatus entsprechend zu setzen.

OPCIfceShutdown

Dieses Client seitige Interface kann der Server benutzen, um den Client zu veranlassen die Verbindung zum Server zu trennen. Der Treiber reagiert auf so einen Request mit dem Freigeben aller Interfaces im Server. Sobald alle Interfaces freigegeben sind, beginnt der Reconnection Timer zu laufen. Nach Ablauf des Timers versucht der Client erneut die Verbindung zum Server herzustellen. Gelingt dies, werden alle Gruppen wieder so im Server angelegt, wie sie zum Zeitpunkt des Shutdowns vorhanden waren. Dieser Mechanismus kann allerdings nur von DA 2.0 Servern verwendet werden.

Über ServerStatus

Da der Serverstatus vom Treiber periodisch abgefragt wird, wird er zur Verbindungsüberwachung verwendet. Kann der Serverstatus nicht erfragt werden, dann geht der Treiber davon aus, dass keine Verbindung zum Server mehr besteht. Auch in diesem Fall wird der Reconnection Timer gestartet und periodisch ein Verbindungsaufbau zum Server probiert. Falls es gelingt die Verbindung zum Server wiederherzustellen, wird wie nach einem Shutdown durch den Server vorgegangen.

Verbindungsabbruch durch Client

Wird der Client gestoppt, werden alle Gruppen im Server gelöscht und alle Interfaces werden freigegeben. Ein inproc Server wird dann automatisch beendet, ein local Server nicht unbedingt. Es wird keine Wiederverbindung zum Server versucht, da das Programm beendet ist.

Verbindungsabbruch durch Server

Siehe Verbindungsüberwachung und Beschreibung des OPCIfceShutdown.