_OPCServer (OPC Client)

Über den Server Datenpunkt werden die Eigenschaften eines Servers gesetzt und die Statusinformationen des Servers zur Verfügung gestellt. Die Werte werden im OPC Server Panel dargestellt (siehe Panel OPC-Server).

Für jeden Server, der über seinen config- Eintrag gestartet werden soll, muss so ein Datenpunkt vom Typ _OPCServer vor dem Start des OPC Client vorhanden sein. Der Name muss nach folgender Konvention zusammengesetzt werden:

_ + symbolischer Servername
Anmerkung: Erlaubte Zeichen für Datenpunkte sind: 0...9, A...Z, a...z und das Sonderzeichen "_", siehe Datenpunkt anlegen.

"server1"

Symbolischer Name: server1

Name des internen Datenpunktes vom Typ _OPCServer: _server1

Tabelle 1. Datenpunktelemente des _OPCServer
DP Element Typ Beschreibung
BandWidth uint Der Wert dieses Feldes ist abhängig vom Server. Er sollte die Auslastung des Servers in Prozent angeben. Werte über 100% signalisieren, dass zu viele Items mit einer zu hohen Aktualisierungsrate gefordert werden. Server die eine exakte Angabe der Auslastung nicht unterstützen sollten den Wert 0xFFFFFFFF liefern. Dieser Wert kann vom User nicht gesetzt werden.
BuildNumber uint Build number der Server Software. Dieser Wert kann vom User nicht gesetzt werden.
Connected bit Wird vom Treiber gesetzt: (TRUE), wenn eine Verbindung zum entsprechenden Server besteht. Wird rückgesetzt (FALSE), wenn die Verbindung unterbrochen wird. Dieser Wert kann vom User nicht gesetzt werden.
CurrentTimeBias uint [ms] Dieser Wert kann vom User nicht gesetzt werden. Unterschied zwischen dem Zeitstempel des Serverstatus und der aktuellen Systemzeit.
DeleteServer bit Wird auf dieses Element der Wert 1 geschrieben, dann wird der zugehörige Server gestoppt. Der Server wird erst bei einem Neustart des Treibers wieder gestartet.
GetItemIds bit Das Schreiben eines Wertes löst ein Update der Information in ItemIds aus.
GroupCount uint Anzahl der im Server insgesamt enthaltenen Gruppen (public und private). In diesem Wert sind auch Gruppen enthalten, die von anderen Clients im Server angelegt werden. Dieser Wert kann vom User nicht gesetzt werden.
InvalidMapping bit Ist dieser Wert TRUE wird das Invalid Bit vom Treiber gesetzt, falls die OPC Quality Information BAD oder UNCERTAIN ist. Diese Einstellung ist kombinierbar mit alle möglichen Einstellungen von QualInfoFilter.QualInfo und QualInfoFilter.QualInfoDetail.
ItemIds dyn. Textfeld In diesem Feld wird der Adressraum des Servers dargestellt, falls der Server diese Funktion unterstützt und das Adressbrowsing über die Config-Datei eingeschaltet ist. Dieser Wert kann vom User nicht gesetzt werden.
LastUpdateTime time Zeitpunkt des letzten Updates durch den Server in lokaler Zeit. Dieser Wert kann vom User nicht gesetzt werden.
MajorVersion uint Major Version der Server Software. Dieser Wert kann vom User nicht gesetzt werden.
MinorVersion uint Minor Version der Server Software. Dieser Wert kann vom User nicht gesetzt werden.

QualInfoFilter.

QualiInfo

uint Der Wert dieses Datenpunktes gibt an welcher Teil der OPC Qualitätsinformation auf die Benutzerbits abgebildet wird.

QualInfoFilter.

QualInfoDetail

uint Dieser Wert gibt an auf welche Benutzerbits der unter QualInfoFilter.QualInfo eingestellte Teil der Qualitätsinformation abgebildet wird (siehe Tabelle unten)
ReconnectTimer uint [s] Nach einer Unterbrechung der Verbindung des Client zum Server versucht der Client die Verbindung zum Server wieder herzustellen. Dieser Wert gibt die Länge des Intervalls in Sekunden an, nach dessen Ablauf der Client eine Wiederverbindung (ein reconnect ) probiert. ACHTUNG: Dieser Wert sollte nicht zu klein gewählt werden, da sonst ein reconnect probiert wird bevor der Server den shutdown ausgeführt hat. (~20 Sekunden)
ServerGA bit Eine Wertänderung in diesem Feld löst eine Generalabfrage auf den Server aus. Dabei werden alle Items in allen Gruppen des betreffenden Servers abgefragt. Ob diese Abfrage aus dem Cache des Servers oder direkt von der Peripherie beantwortet wird hängt von dem Wert in_OPCGroup.DataSourceDevice ab und kann pro Gruppe eingestellt werden. Siehe Abschnitt über "_OPCGroup (OPC Client)".
ServerState uint Der vom Server gelieferte Status als Zahl laut OPC Spezifikation. Dieser Wert kann vom User nicht gesetzt werden.
ServerStateText string

Falls in ServerState ein OPC Standard ServerState steht, wird in diesem Wert die Darstellung dieses Wertes als Text geliefert. Dieser Wert kann vom User nicht gesetzt werden. BEISPIEL:

ServerState = 1

ServerStateText = OPC_STATUS_RUNNING

StartTime time Dieser Wert kann vom User nicht gesetzt werden. Er gibt den Zeitpunkt (in lokaler Zeit) an, zu dem der Server gestartet wurde.
StateTimer int [s] Dieser Wert legt das Sekundenintervall fest, in dem der Serverstatus abgefragt wird. Da die Statusabfrage (zusammen mit einem Callback Mechanismus) zur Verbindungsüberwachung verwendet wird sollte dieser Wert nicht zu groß gewählt werden. (1 - 30 Sekunden). Bei 0 wird der Serverstatus nicht abgefragt.
VendorInfo string Herstellerspezifische Information zum Server. Dieser Wert kann vom User nicht gesetzt werden.
BrowseInfo.GetBranch dyn_String Über dieses DPE wird das Browsen einer hierarchischen Ebene im Server angestoßen. Das erste Element wird aktuell ignoriert. Im zweiten Element muss die ItemId des Knoten stehen für den die Kindknoten gelesen werden sollen.
BrowseInfo.BranchNames dyn_string Enthält die Namen der Kindknoten vom Vaterknoten aus.
BrowseInfo.BranchQuery dyn_string Gespiegelter GetBranch-Befehl
BrowseInfo.HierarchySeparator char Trennzeichen für die Hierarchiestufen
HierarchicalBrowsing bit Obsolet.
ContainedItemCnt uint Enthält die Summe aller Items die in die Gruppen dieses Servers eingefügt sind.
TimeoutError int

Dieses Element enthält Informationen über Timeout-Fehler die bei gewissen Serverzugriffen aufgetreten sind. Mögliche Werte:

0...kein Fehler

1...Timeout-Fehler während Read

2...Timeout-Fehler während Write

3...Timeout-Fehler während Refresh

4...Timeout-Fehler während Readback

TimeoutItems dyn_string Alle Elemente die während eines Lese- oder Schreibvorganges des OPC Servers einen Timeout Fehler aufweisen werden innerhalb dieser Liste hinterlegt.

In der folgenden Tabelle ist das Abbilden für die unterschiedlichen Kombinationen der Werte QualInfoFilter.QualInfo und QualInfoFilter.QualInfoDetail dargestellt. Die nicht verwendeten Benutzerbits werden vom Treiber in Befehlsrichtung nicht interpretiert und in Melderichtung nicht gesetzt.

Tabelle 2. Bits der QualInfoDetail

QualInfoFilter.

QualInfo

QualInfoFilter.

QualInfoDetail

Bedeutung
0 Don't care Kein quality mapping, kein userbit gesetzt
1 0 Das Lowbyte der OPC Quality Information wird auf die 8 userbits abgebildet
8 Qualität und Substatus der OPC Quality Information werden auf Bits 1 bis 6 abgebildet.
9 Qualität und Substatus der OPC Quality Information werden auf Bits 2 bis 7 abgebildet.
10 Qualität und Substatus der OPC Quality Information werden auf Bits 3 bis 8 abgebildet.
16 Bilde Limitinformation auf userbits ab, beginnend bei bit1
17 Bilde Limitinformation auf userbits ab, beginnend bei bit2
18 Bilde Limitinformation auf userbits ab, beginnend bei bit3
19 Bilde Limitinformation auf userbits ab, beginnend bei bit4
20 Bilde Limitinformation auf userbits ab, beginnend bei bit5
21 Bilde Limitinformation auf userbits ab, beginnend bei bit6
22 Bilde Limitinformation auf userbits ab, beginnend bei bit7
32 Bilde Substatus auf Userbits ab, beginnend bei bit1
33 Bilde Substatus auf Userbits ab, beginnend bei bit2
34 Bilde Substatus auf Userbits ab, beginnend bei bit3
35 Bilde Substatus auf Userbits ab, beginnend bei bit4
36 Bilde Substatus auf Userbits ab, beginnend bei bit5
2 Don't care Das Highbyte der OPC Quality Information (server specific information) wird auf die 8 userbits abgebildet