Automatisierungstechnik OPC-Client Seite 1 / 10 Verwendung des OPC-Clients von Softing Die nachfolgende Anleitung beschreibt die Verwendung des OPC-Clients von Softing. Der Demo OPC Client stellt ein einfaches Hilfsmittel für den Zugriff auf Funktionalität von OPC Servern dar. Er unterstützt Data Access Specification 2.04 und die Alarms and Events Specification 1.01. Achtung: Bitte beachten Sie, daß Sie diesen Client nicht zu kommerziellen Zwecken verwenden dürfen! Schnelle Inbetriebnahme von OPC Servern Nach dem Start und dem Klicken auf das Plus vor dem Eintrag "Local" erscheint das in der Abbildung dargestellte Userinterface. Die Angabe zu den Servern hängt natürlich von Ihrer Rechnerkonfiguration ab. Über den Tab "OPC Servers" werden die lokal oder auf entfernten Rechnern verfügbaren Server angezeigt. Sie finden den Tab im rechten, unteren Bereich des OPC Client Fensters. Es werden dabei Server aufgeführt, die Funktionalität entsprechend der Data Access Spezifikation 1.0A bzw. 2.0 und der Alarms und Event Spezifikation 1.0 implementieren. Im rechten Teil des Fensters werden die Servernamen und nach Klicken auf das Plus vor einem Namen, die CLSID und die versionsabhängige PROGID angegeben. Durch Anwahl des Servers und Doppelklick wird der Server in den linken Teil des Fensters übernommen. Er wird somit für den Datenaustausch ausgewählt. Die Abbildung zeigt eine Ansicht, bei der sowohl ein Data Access als auch ein Alarms and Events Server ausgewählt wurden.
Automatisierungstechnik OPC-Client Seite 2 / 10 Für Data Access Server wird automatisch ein OPCGroup-Objekt angelegt. Über den Tab "DA Browse" kann im nächsten Schritt der Namensraum durchsucht werden. Die folgende Abbildung zeigt den Namensraum für den ausgewählten Server. Durch Anwahl und Doppelklick wird ein Item aus dem Namensraum ausgewählt und in dem OPCGroup-Objekt ein OPCItem-Objekt angelegt. Es können selbstverständlich auch mehrere Item gleichzeitig angewählt werden. Im Tab "DA Items" können die Werte der OPCItem-Objekte betrachtet werden. Die Abbildung zeigt das.
Automatisierungstechnik OPC-Client Seite 3 / 10 Werte können auf OPCItem-Objekte geschrieben werden, indem ein Wert in das Eingabefeld in der Toolbar (DAWriteBar) eingetragen wird und das darunter stehende Symbol oder "Return" betätigt wird. Die WriteBar muß über den Menüpunkt View aktiviert werden. Für Alarms and Events Server wird automatisch ein OPCEventSubscription-Objekt angelegt, dem alle Ereignisse des Servers zugeordnet werden. Die Ereignisse können im Tab "AE Events" bzw. "AE Conditions" betrachtet und quittiert werden. Die Abbildung zeigt die eingetretenen Events. Fehlermeldungen erscheinen im Tab "Errors". Mit diesen einfachen Schritten können Data Access Server und Alarms and Events Server ausgewählt und gestartet werden. Daten können gelesen und geschrieben werden, sowie Ereignisse überwacht und quittiert werden. Für die OPCGroup und OPCEventSubscription Objekte werden Einstellungen vorgegeben. Sollen diese Einstellungen geändert werden, oder auch weitere Objekte hinzugefügt werden, so kann das auf verschiedene Art und Weise geschehen, wie im weiteren beschrieben.
Automatisierungstechnik OPC-Client Seite 4 / 10 Erweiterte Funktionalität des Data Access Clients Das Context-Menü für Data Access Server enthält Einträge zum Hinzufügen weiterer OPCGroup Objekte (AddGroup), Starten, Stoppen und Verbinden des Servers (State), zum Löschen des Servers (Delete) und zur Anzeige und Ändern der Eigenschaften des Servers (Properties). Bei Aktivieren des letzten Eintrags erscheint die im Bild dargestellte Oberfläche. Es sind Angaben sichtbar, die vom Server übernommen werden (ProgID, Description, Class ID), aber auch geändert, bzw. an den Server übergeben werden können (Client Name, LocaleID). Im "Status" Tab wird Statusinformation über den Server angezeigt. Dazu gehört u.a. Herstellerinformation, Releaseinformation. Über den "Browse filter" Tab lassen sich Filter für das Durchsuchen des Namensraums vorgeben. Die Abbildung zeigt mögliche Einstellungen.
Automatisierungstechnik OPC-Client Seite 5 / 10 Diese Einstellungen wirken sich beim Browsen aus (Wechsel zum "DA Browse" Tab in der Client Oberfläche). Alle Änderungen werden erst übernommen, nachdem das "Apply" Icon betätigt wurde. Durch Betätigen des "Reset" Icon werden die alten Werte (vor der Änderung, nicht vor Betätigen des "Apply" Icon!) wieder hergestellt. Durch Betätigen des "OK" Icon wird die Oberfläche geschlossen, wurde das "Apply" Icon bisher nicht betätigt, werden die geänderten Werte jetzt übernommen, das heißt, der Client ruft entsprechende Methoden am Server auf, oder berücksichtigt die Werte bei späteren Methodenaufrufen. Ein Context-Menü existiert ebenfalls für OPCGroup Objekte. Es enthält Einträge für das Hinzufügen von OPCItem Objekten (Add Item), das Löschen des OPCGroup Objektes (Delete), das Beeinflussen des Zustand des Objektes (State), das Lesen der Werte aller OPCItem Objekte des OPCGroup Objektes und das Darstellen bzw. Ändern der Eigenschaften des OPCGroup Objektes (Properties). Nachdem der letzte Eintrag aktiviert wird, erscheint die im Bild dargestellte Oberfläche. Es können folgende Parameter gesetzt werden: Parameter Group Name Connection Type Bedeutung Der Name des Objektes. Die Art des Anlegens des Objektes mit den Möglichkeiten: AddGroup (Hinzufügen eines privaten OPCGroup Objektes) GetPublicGroupByName (Hinzufügen eines public Group Objektes. Hierbei muss der entsprechende Name im Group Name Feld angegeben werden.)
Automatisierungstechnik OPC-Client Seite 6 / 10 Data Retrieval Die Art des Datenaustauschs mit den Möglichkeiten: Asynchron Advises (Die Werte werden automatisch vom Server übertragen) Synchrone Cache-Reads (Die Werte werden aus dem Cache des Servers gelesen) Public UpdateRate TimeBias Deadband LocaleID Art des Objektes. Wir der Eintrag aktiviert, dann ist das OPCGroup Objekt public und kann von anderen Clients benutzt werden. Zeitintervall, in dem der Server Werte der OPCItem Objekte automatisch erfasst. Abweichung der Zeit zwischen Client und Server. Wird berücksichtigt bei der Entscheidung. ob Werte automatisch zum Client zu übertragen sind, oder nicht. Die Sprache spezifisch für das OPCGroup Objekt Einige dieser Angaben werden nur berücksichtigt, wenn ein OPCGroup Objekt angelegt wird. Die meisten Angaben beeinflussen aber auch das Verhalten des Objektes zur Laufzeit. Ein Context-Menü existiert auch für das OPCItem Objekt. Es existieren Einträge zum Löschen des Objektes (Delete), zum Stoppen des Datenaustauschs und Auflösen der Verbindung (State), zum Übernehmen/Übergeben der OPCItem Werte von/an eine Datei (Special) und zum Lesen eines einzelnen Wertes (Read). Damit können Arraye von einem OPCItem gelesen oder zu ihm geschrieben werden. Bei Aktivieren des Properties Eintrages öffnet sich die im Bild dargestellte Oberfläche. Im Tab "Item" sind Angaben sichtbar, die zur Laufzeit verändert werden können (Req. Datatype) oder nur erfasst werden. Nach Wechsel zum "Write" Tab ist es möglich, Werte für das OPCItem Objekt zu schreiben. Die Oberfläche ist im Bild dargestellt.
Automatisierungstechnik OPC-Client Seite 7 / 10 Der Verwendung dieses Tab ist für nur lesbare OPCItem Objekte nicht möglich Die Eingabefelder sind nicht aktiviert, wenn es sich um diese Objekte handelt. Context-Menüs sind auch für Tabs auf der rechten Seite des Clients verfügbar. Im "DA Browse" Tab kann ein Item angewählt werden und dann das Popup-Menü angezeigt werden. Sie enthält zwei Einträge Add Item, um ein OPCItem Objekt zum angewählten OPCGroup Objekt hinzuzufügen und Properties. In diesem Fall werden die OPC Properties für das Item angezeigt. Ein Context-Menü kann auch für ausgewählte OPCItem Objekte im Da Items Tab angezeigt werden. Es sind die gleichen Einträge vorhanden, wie bei der Page auf der linken Seite des Clients. Erweiterte Funktionalität des Alarms and Events Clients Das Context-Menü für Alarms and Events Server enthält Einträge zum Hinzufügen weiterer OPCEventSubscription Objekte (Add Subscription), Starten, Stoppen und Verbinden des Servers (State), zum Löschen des Servers (Delete) und zur Anzeige und Ändern der Eigenschaften des Servers (Properties). Bei Aktivieren des letzten Eintrags erscheint die im Bild dargestellte Oberfläche. Es sind Angaben sichtbar, die vom Server übernommen werden (ProgID, Description, Class ID, Available Filters), aber auch geändert, bzw. an den Server übergeben werden können (Client Name, LocaleID). Im "Status" Tab wird Statusinformation über den Server angezeigt. Dazu gehört u.a. Herstellerinformation, Releaseinformation.
Automatisierungstechnik OPC-Client Seite 8 / 10 Im Tab "Browse filter" ist ein Stringfilter für das Browsen des topologischen Ereignisraumes einstellbar. Ein Context-Menü existiert ebenfalls für OPCEventSubscription Objekte. Es enthält Einträge für das Löschen des OPCEventSubscription Objektes (Delete), das Beeinflussen des Zustand des Objektes (State) und das Darstellen bzw. Ändern der Eigenschaften des OPCEventSubscription Objektes (Properties). Nachdem der letzte Eintrag aktiviert wird, erscheint die im Bild dargestellte Oberfläche. Hier können die Parameter BufferTime und MaxSize beeinflusst werden. Der Wert von BufferTime bestimmt, wie lange Ereignisse im Server zwischengespeichert werden, bevor die Notifikation zum Client gesendet wird. Der Wert von MaxSize bestimmt, wann Ereignisse zum Client unabhängig von der BufferTime übertragen werden.
Automatisierungstechnik OPC-Client Seite 9 / 10 Darstellungen in den Tabs auf der rechten Seite Auf der rechten Seite kann der Nutzer unterschiedliche Tabs aktivieren, die verschiedene Angaben zu OPC Servern, Objekten und Funktionalität wiedergeben. OPC Servers Tab: DA Browse Tab: DA Items Tab: AE Browse Tab: AE Events Tab: AE Conditions Tab: Hier können die auf dem lokalen und auf entfernten Rechnern verfügbaren Data Access und Alarms and Events Server angezeigt werden. Durch Anwahl und Doppelklick wird ein Server in die Clientkonfiguration übernommen und gestartet. Der Namespace eines Data Access Servers kann durchsucht werden. Durch Anwahl und Doppelklick wird für das Item ein OPCItem Objekt in dem entsprechenden OPCGroup Objekt hinzugefügt. Die übertragenen Werte für die OPCItem Objekte der Data Access Server werden angezeigt. Alle OPCItem Objekte für alle Server werden in einem Tab angezeigt. Der topologische Ereignisraumes (Areaspace) eines Alarms and Events Server und der Filterraum (Eventspace) können durchsucht werden. Der Areaspace dient der topologischen Strukturierung der Ereignisse. Der Eventspace setzt sich aus Ereignisattributwerten zusammen (EventCategory, Conditions, Subsconditions,...) Die Tab zeigt alle aufgetretenen simple und tracking-related Ereignisse der Alarms and Events Server an. Die Tab zeigt alle condition-related Ereignisse des Alarms and Events Servers an. Angezeigte Ereignisse können quittiert werden, indem ein Ereignis ausgewählt wird und das entspechende Popup-Menü geöffnet wird. Dort kann die Aktion "Acknowledge" angewählt werden. Die unterschiedlichen Zustände eines conditionrelated Events werden durch verschiedene Farben des zugeordneten Symbols angezeigt. Farbe Rot Blau Grün Bedeutung Active, Not Acknowledged Active, Acknowledged Inactive, Not Acknowledged Quittierte, nicht aktive Ereignisse werden nicht angezeigt.
Automatisierungstechnik OPC-Client Seite 10 / 10 Errors Tab: Fehler, die während der Abarbeitung von OPC Methodenaufrufen aufgetreten sind, werden in dieser Tab angezeigt. Die Ausgabe des Fehlertextes erfolgt in der gewählten Sprache. Bedeutung der Zustände der OPC Objekte Der Client kann für die verschiedenen OPC Objekte Zustände vorgeben. Dies kann geschehen über die jeweilige Popup-Menü, über die Icons oder über das Menü für alle Objekte. Es wird unterschieden zwischen: Connect: Die ausgewählten OPC Objekte werden gestartet (Server) oder angelegt. Sie werden nicht aktiviert, ein automatischer Datenaustausch findet nicht statt. Start: Ausgewählte, noch nicht existierende Objekte werden im Server angelegt, der automatische Datenaustausch wird gestartet. Stop: Falls vorhanden wird der automatische Datenaustausch beendet, angelegte Objekte werden gelöscht, gestartete Server werden beendet. Die Konfiguration bleibt aber für den Client erhalten.