OPC Data Access (OPC DA) in der Praxis

Wann sollte OPC DA verwendet werden?

Die Antwort lautet kurzgesagt: immer, wenn Echtzeitdaten übertragen werden müssen. Hier muss natürlich zwischen vielen verschiedenen Szenarios unterschieden werden. Nachstehend sind die häufigsten Kategorien aufgeführt, mit kurzen Erläuterungen zu den damit verbundenen Herausforderungen und mit Empfehlungen, wie man ihnen mit OPC-Standardkomponenten am besten begegnet:

Datenquelle Datenspeicher (Anwender) Gelöste Probleme Empfehlung
Controller (z.B. SPS) Anwendung (z.B. HMI) Die verschiedenen Controller verwenden anbieterspezifische Protokolle. Dank OPC benötigt die HMI keine „Spezialtreiber“ für die einzelnen Controller mehr. - Controller: Einen OPC-Server für Controller X verwenden
- Anwendung: Verfügt gewöhnlich über einen integrierten OPC-Client. Fehlt dieser, kommt ein OPC DA-Client für Anwendung Y in Frage.
Controller oder Gerät Controller oder Gerät Der Datenaustausch zwischen Controller und Controller verläuft anders als zwischen Controller und Anwendung, weil beide Produkte üblicherweise über eigene, anbieterspezifische Protokolle verfügen. - OPC DA-Server für beide Controller verwenden
- OPC Data Manager verwenden, um eine intelligente Übertragung der relevanten Echtzeitdaten zwischen den beiden Controllern zu ermöglichen.
Controller oder Gerät Relationale Datenbank Relationale Datenbanken kommunizieren anhand der Structured Query Language (SQL) über das Open DataBase Connectivity-Protokoll (ODBC), während Controller und Geräte jeweils ihre eigenen Protokolle verwenden. Das Auffinden entsprechender Datenbrücken ist schwierig, und ihre Konfiguration erfordert nicht selten großes technisches Know-how. - Einen OPC DA-Client für ODBC verwenden, um OPC-Echtzeitdaten zu erfassen und über SQL/ODBC vorschriftsmäßig an die Datenbank zu übertragen.
- Einen OPC DA-Server für Gerät X verwenden, um die Daten den OPC-Clients gegenüber offen zu legen.

HINWEIS: Der OPC DA-Datenaustausch verläuft bidirektional; bei Bedarf können also Echtzeitdaten von der Datenbank auf das Gerät, auf den Controller oder in die Anwendung geschrieben werden.
Controller/Gerät Prozessdatenarchiv Da Prozessdatenarchive zur Erfassung von Echtzeitdaten dienen, verfügen sie häufig über native Protokolle und Spezialtreiber für die Erfassung von Daten aus den verschiedenen Geräten und Anwendungen. Auch hier gilt es, ein Prozessdatenarchiv zu finden, das sowohl bereits vorhandenes Equipment als auch zukünftige (und ältere) Datenquellen unterstützt. - In der Regel haben Prozessdatenarchive eigene Protokolle, und die meisten von ihnen verfügen über integrierte OPC DA-Clients. Ein Beispiel für ein solches OPC-fähiges Prozessdatenarchiv ist der OPC Desktop Historian.
- Für die Datenquelle: Einen OPC DA-Server für Datenquelle X verwenden
Redundante Geräte Controller/Anwendung Früher galt: Wenn der Controller oder die Anwendung keine Redundanz auf Geräte-Ebene unterstützt, wird zusätzliche Hardware benötigt, um zwei oder mehrere Geräte redundant zu machen. - Von Geräten benötigt: OPC-Server für Gerät X
- Unterschiedliche Geräte können unterschiedliche OPC-Server verwenden.
- Redundanz mittels OPC Redundancy Broker (ORB) implementieren.
- Für eine Anwendung (z. B. HMI oder Prozessdatenarchiv): Den dazugehörigen OPC-Client für Anwendung X verwenden.
- Wenn ein Controller (z. B. SPS) nur über einen OPC-Server, nicht jedoch über einen OPC-Client verfügt, wird dieser OPC-Server zusammen mit OPC Data Manager verwendet, um den (bidirektionalen) Austausch von Echtzeitdaten zwischen ORB und Controller zu ermöglichen.
Externe Geräte (SCADA): z. B. RTUs Anwendung/Controller Der Datenaustausch zwischen externen Geräten und Datenquellen ist aufgrund möglicher Abbrüche der Datenverbindung und wegen der niedrigeren Bandbreite grundsätzlich komplizierter, außerdem auch teurer. Durch Spezialtreiber kann man diese Problemstellungen angehen, jedoch mit unterschiedlicher Zuverlässigkeit. Einen OPC-Server der SCADA-Klasse für dieses externe Gerät verwenden. Anders als gewöhnliche OPC-Server „von der Stange“ ist diese Klasse von OPC-Servern speziell für komplexe SCADA-Umgebungen ausgelegt. (Beispiel: MatrikonOPC Server für SCADA Modbus.)

Kann OPC DA zur Übertragung von Verlaufsdaten verwendet werden?

Nein. OPC DA ist speziell für die Übertragung von Echtzeitdaten ausgelegt. Sobald der aktuelle Wert übergeben wurde und der nächste eingelesen wird, sehen die OPC DA-Spezifikationen keine Schnittstellen vor, um OPC DA-Clients mit bereits verarbeiteten Werten zu versorgen. Wenn Sie Verlaufsdaten übertragen müssen, kommen hierfür nur auf OPC Historical Data Access (OPC HDA) basierende OPC-Clients und -Server in Frage, die speziell für diesen Zweck entwickelt wurden.

Kann der OPC DA-Client eines bestimmten Anbieters zusammen mit einem OPC DA-Server eines anderen Anbieters verwendet werden?

Normalerweise ja, aber nur unter der Voraussetzung, dass der OPC DA-Client und der OPC DA-Server die gleiche Version der OPC DA-Spezifikation (siehe oben) oder zumindest eine rückwärtskompatible Version unterstützen.