Einfache Überwachung des Innenraumklimas - ⑥ Erfassen von Betriebsinformationen für industrielle Automatisierungsgeräte in Java (OPC-UA / Eclipse Milo) -

Einführung

Arbeitet mit Geräten, die mit dem industriellen Netzwerkprotokoll OPC-UA kompatibel sind, das aus Sicht von Industrie 4.0 / IIoT im Bereich der industriellen Automatisierung Aufmerksamkeit erregt. Ich habe einen Java-Client rainy-opcua erstellt, um Informationen zu erhalten. Es ist zu beachten, dass OPC-UA nur zum einfachen Abrufen von Betriebsinformationen vom Gerät dient.

Das Eclipse-Projekt Milo wird für die Java-Implementierung des OPC-UA-Protokollstapels und des SDK verwendet. Es scheint mehrere Sprachen für die Implementierung von OPC-UA zu geben, aber Milo wird für die Java-Version empfohlen. Wenn Sie Fragen zur Mailingliste haben, erhalten Sie eine recht gute Antwort.

rainy-opcua ist der [Beispielcode] für verschiedene OPC-UA-Clients in Milo (https://github.com/eclipse/milo/tree/master/milo-examples/client-examples/src/main) / java / org / eclipse / milo / examples / client) und speziell für die Datenerfassungsfunktion unter Verwendung der Kommunikationsmethode UA Binary Encoding erstellt. In diesem Sinne ist es ein orthodoxer Code, der überhaupt nicht seltsam ist. Die Daten werden vom Gerät mit der allgemeinen OPC-UA-Methode Subscription & Monitored Item erfasst.

Beim Erstellen habe ich hauptsächlich OPC Unified Architecture Specification Teil 4: Services gelesen. .. Eine umfassende Erläuterung der vom OPC-UA-Client aufgerufenen RPCs für die vom OPC-UA-Server bereitgestellten Dienste. Um einen Client zu erstellen, sollten Sie hauptsächlich Teil 4 lesen. Um auf die OPC-UA-Dokumentation zugreifen zu können, müssen Sie sich als Benutzer in der OPC Foundation registrieren.

Weitere Informationen zur Implementierung von rainy-opcua finden Sie unter Github-Code. Siehe. Milo unterstützt den Mechanismus von "Teil 4-6.5 Wiederherstellen von Verbindungen", und rainy-opcua implementiert die für diesen Zweck vorbereitete Schnittstelle. Selbst wenn der OPC-UA-Server (Geräte- oder Protokollkonvertierungsserver) ausfällt und die Verbindung unterbrochen wird, wird die Sitzung in vielen Fällen beim Neustart wiederhergestellt (createSubscription & createMonitoredItems). In der tatsächlichen Fabrik spielt es keine Rolle für den Komfort des OPC-UA-Clients, und es handelt sich um eine Antwort unter der Annahme, dass das Gerät stoppt.

Abgesehen davon kann die Entwicklung eines OPC-UA-Servers (kein Client) in Milo eine entmutigende Aufgabe sein. Der Beispielcode für den Client ist gut, aber ich denke nicht für den Server. Erstens hat Milo noch keine Dokumentation. Persönlich spielt es keine Rolle, ob der Beispielcode wesentlich ist ...

So erhalten Sie Betriebsinformationen von Geräten, die OPC-UA nicht unterstützen

Generell denke ich, dass noch eine kleine Anzahl von Geräten in Betrieb ist, die mit OPC-UA kompatibel sind. In diesem Fall das industrielle Netzwerkprotokoll des vorhandenen Geräts (z. B. EtherNet / IP (CIP) oder [Modbus](https: // ja. wikipedia.org/wiki/Modbus) usw.) benötigt einen Mechanismus zur Konvertierung in OPC-UA. Tatsächlich gibt es kommerzielle Produkte für eine solche Protokollkonvertierung. (Ich habe es noch nicht in Open Source gesehen)

Im Allgemeinen ist der Lebenszyklus von Geräten relativ lang, z. B. ein Dutzend Jahre. Ich denke, die Migration wird einige Zeit in Anspruch nehmen. Es kann auch einige Felder geben, die nicht unbedingt OPC-UA sein müssen.

Eine Reihe von Artikeln

Diese Reihe besteht aus folgenden Artikeln:

  1. Motivation und Konzept
  2. Bluetooth LE-Werbesignal mit Java abfangen (Bluetooth LE / bluez-dbus) Der zugehörige Github ist hier.
  3. Temperatur / Luftfeuchtigkeit / Beleuchtungsstärke usw. vom TI SensorTag CC2650 mit Java (Bluetooth LE / bluez-dbus) abrufen Der zugehörige Github ist hier.
  4. CO2-Konzentration von MH-Z19B mit Java abrufen (serielle Kommunikation / jSerialComm) Der zugehörige Github ist hier.
  5. PM2.5-Konzentration von PPD42NS in Java (GPIO / Pi4J) abrufen Der zugehörige Github ist hier.
  6. ** Erfassen Sie Betriebsinformationen von industriellen Automatisierungsgeräten in Java (OPC-UA / Eclipse Milo) (diesmal) ** Der verwandte Github ist hier.
  7. In einem einfachen Tool sammeln Der verwandte Github ist hier.
  8. Postscript

Nachtrag

[2019.11.16] Die neuesten Informationen zu einfachen Tools finden Sie unter hier.

Recommended Posts

Einfache Überwachung des Innenraumklimas - ⑥ Erfassen von Betriebsinformationen für industrielle Automatisierungsgeräte in Java (OPC-UA / Eclipse Milo) -
Einfache Überwachung der Innenumgebung - ⑨ Erfassen Sie die Bewegungserkennung (HC-SR501 / RCWL-0516) mit Java (GPIO / Pi4J) -
Einfache Überwachung des Raumklimas - ⑦ Mit einem einfachen Tool zusammenfassen -
Überwachen Sie einfach das Raumklima ~ ⑧ Postscript ~
Untersuchen Sie die Systeminformationen der AWS Lambda-Betriebsumgebung in Java
Überwachen Sie einfach das Raumklima. ⑪ Erhalten Sie die Beleuchtungsstärke mit Java von BH1750FVI (Ersatz) - (I2C / Pi4J) -
Überwachen Sie einfach das Raumklima. (1) Motivation und Konzept.
Einfache Überwachung der Innenumgebung - ② Erfassen Sie das Bluetooth LE-Werbesignal mit Java (Bluetooth LE / bluez-dbus) -
Einfache Überwachung des Innenraumklimas - ⑤ Erhalten Sie die PM2.5-Konzentration von PPD42NS mit Java (GPIO / Pi4J) -
[Java] Holen Sie sich die Datei unabhängig von der Umgebung in das JAR
Einfache Überwachung des Innenraumklimas ~ ④ Erhalten Sie die CO2-Konzentration von MH-Z19B mit Java (serielle Kommunikation / jSerialComm) ~
Einfache Überwachung des Innenraumklimas - ⑩ Beziehen Sie Temperatur / Luftfeuchtigkeit / Druck von BME280 (Ersatz) mit Java (I2C / Pi4J) -