Surveillez facilement l'environnement intérieur-⑥ Acquérez les informations de fonctionnement des équipements d'automatisation industrielle en Java (OPC-UA / Eclipse Milo) -

introduction

Fonctionne à partir d'équipements compatibles avec le protocole de réseau industriel OPC-UA, qui attire l'attention du point de vue de l'Industrie 4.0 / IIoT dans le domaine de l'automatisation industrielle. J'ai créé un client Java rainy-opcua pour obtenir des informations. Il convient de noter que OPC-UA sert uniquement à acquérir simplement des informations de fonctionnement à partir de l'appareil.

Le projet Eclipse Milo est utilisé pour l'implémentation Java de la pile de protocoles OPC-UA et du SDK. Il semble y avoir plusieurs langages pour implémenter OPC-UA, mais Milo est recommandé pour la version Java. Si vous avez des questions sur la liste de diffusion, vous obtiendrez une assez bonne réponse.

rainy-opcua est le [Sample Code] pour divers clients OPC-UA inclus dans Milo (https://github.com/eclipse/milo/tree/master/milo-examples/client-examples/src/main) / java / org / eclipse / milo / examples / client), et créé spécifiquement pour la fonction d'acquisition de données à l'aide de la méthode de communication UA Binary Encoding. En ce sens, c'est un code orthodoxe qui n'est pas du tout étrange. Les données sont acquises à partir de l'appareil par la méthode générale d'OPC-UA appelée Abonnement et élément surveillé.

Lors de sa création, j'ai principalement lu OPC Unified Architecture Specification Part 4: Services. .. Explique de manière exhaustive le RPC appelé depuis le client OPC-UA pour les services fournis par le serveur OPC-UA. Donc, pour créer un client, vous devriez lire principalement la partie 4. Pour accéder à la documentation OPC-UA, vous devez vous enregistrer en tant qu'utilisateur dans OPC Foundation.

Pour plus d'informations sur l'implémentation de rainy-opcua, voir Code Github Se il vous plaît se référer. Milo prend en charge le mécanisme de la "Partie 4-6.5 Rétablissement des connexions", et rainy-opcua implémente l'interface préparée à cet effet. Par conséquent, même si le serveur OPC-UA (serveur de conversion d'appareil ou de protocole) tombe en panne et que la connexion est perdue, dans de nombreux cas, la session est restaurée (createSubscription & createMonitoredItems) lors du redémarrage. Dans l'usine réelle, cela n'a pas d'importance pour la commodité du client OPC-UA, et c'est une réponse supposant que l'appareil s'arrêtera.

En passant, développer un serveur OPC-UA (pas un client) dans Milo peut être une tâche ardue. L'exemple de code pour le client est bon, mais je ne le pense pas pour le serveur. En premier lieu, Milo n'a pas encore de documentation. Personnellement, peu importe si l'exemple de code est substantiel ...

Pour obtenir des informations de fonctionnement à partir d'appareils qui ne prennent pas en charge OPC-UA

D'une manière générale, je pense qu'il existe encore un petit nombre d'appareils actuellement en fonctionnement compatibles avec OPC-UA. Dans ce cas, le protocole de réseau industriel de l'appareil existant (par exemple EtherNet / IP (CIP) ou [Modbus](https: // ja. wikipedia.org/wiki/Modbus) etc.) a besoin d'un mécanisme pour convertir en OPC-UA. En fait, il existe des produits commerciaux pour une telle conversion de protocole. (Je ne l'ai pas encore vu en open source)

En général, le cycle de vie des équipements est relativement long, par exemple une douzaine d'années, donc je pense qu'il faudra un certain temps pour migrer. En outre, certains champs peuvent ne pas être obligatoirement OPC-UA.

Une série d'articles

Cette série comprend les articles suivants:

  1. Motivation et concept
  2. Capturez le signal publicitaire Bluetooth LE avec Java (Bluetooth LE / bluez-dbus) Le Github associé est ici.
  3. Obtenir la température / l'humidité / l'éclairement etc. à partir du TI SensorTag CC2650 avec Java (Bluetooth LE / bluez-dbus) Le Github associé est ici.
  4. Obtenir la concentration de CO2 du MH-Z19B avec Java (communication série / jSerialComm) Le Github associé est ici.
  5. Obtenir la concentration de PM2,5 à partir de PPD42NS en Java (GPIO / Pi4J) Le Github associé est ici.
  6. ** Acquérir les informations de fonctionnement des équipements d'automatisation industrielle en Java (OPC-UA / Eclipse Milo) (cette fois) ** Le Github associé est ici.
  7. Collectez dans un outil simple Le Github associé est ici.
  8. Postscript

Postscript

[2019.11.16] Pour obtenir les dernières informations sur les outils simples, veuillez consulter ici.

Recommended Posts

Surveillez facilement l'environnement intérieur-⑥ Acquérez les informations de fonctionnement des équipements d'automatisation industrielle en Java (OPC-UA / Eclipse Milo) -
Surveillez facilement l'environnement intérieur ~ ⑨ Obtenez la détection de mouvement (HC-SR501 / RCWL-0516) avec Java (GPIO / Pi4J) ~
Surveillez facilement l'environnement intérieur - ⑦ Résumez dans un outil simple -
Surveillez facilement l'environnement intérieur ~ ⑧ Postscript ~
Examiner les informations système de l'environnement d'exploitation AWS Lambda en Java
Surveillez facilement l'environnement intérieur-⑪ Obtenez l'éclairement avec Java à partir de BH1750FVI (substitut) - (I2C / Pi4J) -
Surveillez facilement l'environnement intérieur - (1) Motivation et concept -
Surveillez facilement l'environnement intérieur-② Capturez le signal publicitaire Bluetooth LE avec Java (Bluetooth LE / bluez-dbus) -
Surveillez facilement l'environnement intérieur-⑤ Obtenez la concentration de PM2,5 à partir du PPD42NS avec Java (GPIO / Pi4J) -
[Java] Récupère le fichier dans le fichier jar quel que soit l'environnement
Surveillez facilement l'environnement intérieur ~ ④ Obtenez la concentration de CO2 du MH-Z19B avec Java (communication série / jSerialComm) ~
Surveillez facilement l'environnement intérieur - ⑩ Obtenez température / humidité / pression à partir du BME280 (substitut) avec Java (I2C / Pi4J) -