OPC Server
OPC-Server sind Softwareanwendungen (Treiber), die mindestens einer der von der OPC
Foundation definierten OPC-Spezifikationen entsprechen. OPC-Server kommunizieren nativ mit
einer oder mehreren Datenquellen auf der einen Seite und mit OPC-Clients auf der anderen
Seite. In einer
OPC-Client/Server-Architektur
agiert der OPC-Server als „Slave“ und der OPC-Client als „Master“. Der Datenaustausch zwischen
OPC-Client und OPC-Server verläuft bidirektional, d. h., OPC-Clients können lesend und schreibend
auf OPC-Server zugreifen.
Von der OPC Foundation wurden vier Arten von OPC-Servern definiert:
-
OPC DA-Server (Spezifikationsbasis: OPC Data Access):
Dieser Server wurde speziell für Echtzeit-Datenübertragung konzipiert
-
OPC HDA-Server (Spezifikationsbasis: OPC Historical Data Access): Dieser Server versorgt OPC
HDA-Clients mit Verlaufsdaten.
-
OPC A&E-Server (Spezifikationsbasis: OPC Alarms & Events): Dieser Server überträgt Alarm-
und Ereignisdaten an OPC A&E-Clients.
-
OPC UA-Server (Spezifikationsbasis:
OPC Unified Architecture):
Dieser Server basiert auf der neuesten und fortschrittlichsten Sammlung von OPC-Server-
Spezifikationen, die es OPC-Servern erlaubt, mit allen Datentypen zu arbeiten.
Die ersten drei OPC-Servertypen werden pauschal als „klassische“ OPC-Server bezeichnet,
um sie von den universellen, auf OPC UA basierenden OPC-Servern zu unterscheiden.
Letztere werden bei zukünftigen OPC-Architekturen den wichtigsten Baustein darstellen.
|
Kommunikation zwischen OPC-Client und OPC-Server (OPC DA-Server, OPC HDA-Server, OPC A&E-Server)
|
|
Klassische OPC-Server nutzen die COM/DCOM-Infrastruktur von Microsoft Windows als Mittel
zum Datenaustausch. Daher müssen diese OPC-Server unter einem Microsoft Windows
Betriebssystem laufen. Ein OPC-Server kann den Datenaustausch mit mehreren
OPC-Clients
gleichzeitig unterstützen.
|
|
|
OPC-Server – Übersetzung/Mapping der Daten
|
|
Eine der wichtigsten Funktionen eines OPC-Servers besteht darin, Daten aus dem
nativen Format der Datenquelle in ein OPC-Format zu übersetzen, das zu
mindestens mit einer der vorgenannten OPC-Spezifikationen konform ist
(Beispiel: OPC DA für Echtzeitdaten). Die Spezifikationen der OPC Foundation
definieren nur, wie der OPC-Teil der OPC-Server-Kommunikation ablaufen soll;
daher hängen Effizienz und Qualität der Übersetzung vom Nativformat in das
OPC-Format und umgekehrt vollkommen von der OPC-Server-Implementierung des
jeweiligen Anbieters ab.
|
|
|
Kommunikation zwischen OPC-Server und Datenquelle
|
|
OPC-Server kommunizieren nativ mit Datenquellen, wie z.B. Geräten, Controllern
oder Anwendungen. Aufgrund der Vielzahl der möglichen Datenquellen schreiben
die Spezifikationen der OPC Foundation nicht vor, auf welche Weise der
OPC-Server die Verbindung mit den Datenquellen herstellen und mit diesen
kommunizieren soll; sie alle verwenden eigene Kommunikationsprotokolle oder
APIs, die über beliebig viele physische Verbindungen (z.B. serielle wie RS485
oder RS232, Ethernet, Wireless usw.) kommunizieren. Hier zwei typische
Beispiele für den Ablauf bei der Kommunikation zwischen OPC-Server und
Datenquelle:
- Über eine Anwendungs-Programmierschnittstelle (Application Programming Interface, API) für einen speziellen Treiber, der eigens für die Datenquelle geschrieben wurde.
- Über ein proprietäres oder nicht proprietäres Protokoll (z. B. der MatrikonOPC Server for Honeywell TPS) oder auf Basis eines offenen Standards (z. B. der MatrikonOPC Server for Modbus)
|
Gängige OPC Server Beispiele
|