Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Technologie industrielle

Optimiser PLCnext avec Azure IoT Edge : Analytics Edge & Intégration Cloud

Azure IoT Edge permet de déplacer l'analytique cloud et la logique personnalisée vers "l'edge", dans notre cas vers notre dispositif PLCnext. Cela présente des avantages en réduisant la bande passante utilisée et la latence. Avec Azure IoT Edge, vous pouvez développer et déployer vos propres applications depuis une application cloud centrale. Dans ce blog, vous apprendrez comment configurer Azure IoT Edge et certains de ses principes de base.

Introduction

Expliquer tous les tenants et aboutissants de la solution Azure IoT Edge dépasserait le cadre d'un Makersblog, mais assurez-vous de vous documenter avant de continuer. Sur ce portail, vous trouverez toutes les informations nécessaires pour bien comprendre ce que nous faisons dans ce blog. Passons à l'installation du runtime.

Optimiser PLCnext avec Azure IoT Edge : Analytics Edge & Intégration Cloud

Installation

Créer un Azure IoT Hub et un dispositif

Avant de commencer, nous devons configurer quelques éléments dans le portail Azure. Je suppose que vous avez déjà un compte Azure.

La première chose à faire est de créer un groupe de ressources avec un nom descriptif. Cliquez sur "Créer un groupe de ressources". S'il n'est pas listé, appuyez sur le bouton "+" et recherchez "nouveau groupe de ressources".

Optimiser PLCnext avec Azure IoT Edge : Analytics Edge & Intégration Cloud

Créez un nouveau service IoT Hub. Vous pouvez avoir 1 service IoT Hub gratuit, vous voudrez peut-être changer le type de standard à gratuit ! Sinon, laissez tout par défaut et continuez le déploiement. Notre étape finale est la création d'un dispositif IoT Edge. Ouvrez le service et cherchez dans le panneau gauche "IoT Edge". Cliquez dessus et créez un nouveau dispositif IoT Edge. Donnez-lui un ID, tous les autres paramètres peuvent rester par défaut.

Optimiser PLCnext avec Azure IoT Edge : Analytics Edge & Intégration Cloud

Cliquez sur le dispositif nouvellement créé et notez la "Chaîne de connexion primaire", nous en aurons besoin à l'étape suivante pour provisionner notre dispositif.

Optimiser PLCnext avec Azure IoT Edge : Analytics Edge & Intégration Cloud

Installation du runtime Azure IoT Edge

Exécutez les commandes ci-dessous dans l'ordre. Une version à jour se trouve toujours ici.

git clone https://github.com/pxcbe/azure-iot-edge.git
cd azure-iot-edge/install

sudo passwd root
su

chmod +x SetupEdge.sh
./SetupEdge.sh

L'étape suivante est le provisionnement de notre dispositif. Il est possible de le faire de manière semi ou entièrement automatisée. Vous trouverez plus d'informations à ce sujet ici sur le portail d'information. Tapez la commande suivante dans votre shell et collez votre chaîne de connexion à la ligne 55 du fichier yaml (fermez avec ctrl+s ctrl+x) :

nano /etc/iotedge/config.yaml

Redémarrez le contrôleur pour que les modifications prennent effet.

reboot

Vérification de l'installation

Exécutez la commande suivante en root :

iotedge check --verbose

Si vous n'avez pas d'erreurs, nous pouvons continuer ! Vous avez une erreur ? Consultez le dépôt GitHub, peut-être qu'un correctif est disponible. Sinon, n'hésitez pas à créer une issue !

Déploiement des modules

Le runtime seul ne nous servira à rien. Déployons des modules ! Cliquez sur "Définir les modules" et sur "Paramètres du runtime". Ici, nous devons changer le "Hostport" pour éviter le conflit avec le serveur NGINX qui tourne sur le PLCnext. Enfin, ajoutez un module du marketplace nommé "Simulated Temperature Sensor". Appuyez sur "Review + create" et déployez le module sur le dispositif PLCnext.

Optimiser PLCnext avec Azure IoT Edge : Analytics Edge & Intégration Cloud Optimiser PLCnext avec Azure IoT Edge : Analytics Edge & Intégration Cloud

Les paramètres devraient ressembler à ceci :

{
  "HostConfig": {
    "PortBindings": {
      "443/tcp": [{ "HostPort": "444" }],
      "5671/tcp": [{ "HostPort": "5671" }],
      "8883/tcp": [{ "HostPort": "8883" }]
    }
  }
}
Optimiser PLCnext avec Azure IoT Edge : Analytics Edge & Intégration Cloud

Visualisation des messages de télémétrie

Pour vérifier si les messages arrivent, suivez cette procédure pour installer Azure IoT Tools dans Visual Studio Code. (Vous devrez vous connecter à Azure, assurez-vous donc que si vous utilisez des certificats, ils sont aussi sur votre machine de développement).

Faire remonter les données PLCnext vers IoT Hub

L'étape suivante consiste à faire remonter nos données PLCnext Engineer vers le cloud. Il y a plusieurs façons de faire. Vous pourriez utiliser le module Modbus et créer un serveur Modbus dans votre projet PLCnext. Vous pouvez utiliser le service REST et des requêtes GET avec un module personnalisé, ou en trouver un qui correspond à vos besoins sur le Marketplace. J'expliquerai comment configurer l'OPC Publisher pour commencer à publier vos données depuis le serveur OPC UA embarqué du PLCnext.

MISE À JOUR : Il semble y avoir actuellement une erreur avec le module OPC Publisher, veuillez essayer une autre méthode pour l'instant.

Avertissement : Pour ce blog, nous désactivons les fonctions de sécurité PLCnext, n'utilisez pas cela en production !

Désactivez l'authentification utilisateur sur le WBM de votre dispositif PLCnext avant de continuer.

Ajoutez l'OPCPublisher depuis le Marketplace de la même manière que pour le "Simulated Temperature Sensor". Cliquez sur le module et allez dans "Container Create Options". Copiez-collez les paramètres suivants dans la fenêtre sous "Container Create Options".

{
  "Hostname": "publisher",
  "Cmd": [
    "publisher",
    "--pf=/appdata/publishednodes.json",
    "--di=60",
    "--to",
    "--aa",
    "--si=10",
    "--ms=262144"
  ],
  "HostConfig": {
    "Binds": [ "/iiotedge:/appdata" ],
    "PortBindings": {
      "62222/tcp": [{ "HostPort": "62222" }]
    },
    "ExtraHosts": [ "localhost:127.0.0.1" ]
  }
}

Modifiez la configuration suivante pour correspondre à vos node IDs, créez le dossier /appdata et créez un fichier nommé "publishednodes.json" contenant votre nouvelle configuration.

[
  {
    "EndpointUrl": "opc.tcp://192.168.10.10:4840",
    "UseSecurity": false,
    "OpcNodes": [
      {
        "Id": "ns=3;s=Counter",
        "OpcSamplingInterval": 2000,
        "OpcPublishingInterval": 5000
      },
      {
        "Id": "ns=3;s=Sinusoid",
        "OpcSamplingInterval": 2000,
        "OpcPublishingInterval": 5000
      }
    ]
  }
]

Si tout s'est bien passé, vous devriez voir les données dans vos Azure IoT Tools pour Visual Studio !

Vous avez encore des problèmes ? Vous pouvez utiliser la commande suivante pour voir ce qui se passe :

iotedge logs -f "nommodule"

Crédits

Remerciements spéciaux à Oliver Warneke pour son travail sur lequel j'ai pu m'appuyer et pour le temps qu'il a pris pour me mettre à niveau !

Contact

Des problèmes, ou vous voulez en savoir plus ? Contactez axsupport@phoenixcontact.be.

Références

Documentation Azure IoT Edge

Technologie industrielle

  1. Pourquoi l'edge computing est essentiel pour le succès de l'IoT
  2. Renesas introduit la série MCU RA sécurisée pour IoT industriel et applications edge
  3. De l'Edge au Cloud : maîtriser les pipelines de données IoT
  4. Insights Edge Computing & Stratégie IoT depuis IoT World 2019
  5. Sprint et Ericsson lancent une plateforme IoT Edge Intelligence prête pour la 5G
  6. Maîtriser la conception de circuits imprimés pour l'Internet des objets : Guide complet
  7. Exploiter l'informatique de périphérie pour l'IoT, l'IA et les technologies émergentes
  8. Edge et IoT : Harmoniser les données pour le succès numérique
  9. Comment l'IoT et l'Edge Computing se complètent