Dans le domaine de l'Internet des objets industriel, il y a tellement de périphériques esclaves industriels derrière le contrôleur logique programmable, ils ne reçoivent aucune adresse IP ou identité, comment pourrions-nous cartographier l'identité de ces périphériques et leurs contrôles sur le niveau d'application sur le nuage. Par exemple, je vais utiliser le rasberrypi comme passerelle, cette passerelle est connectée à un automate. Derrière l'automate se trouvent de nombreux appareils esclaves connectés tels que des ventilateurs, des lumières LED, des capteurs de CO2.
Je suis très nouveau dans le protocole PLC et Modbus , même après avoir lu l'introduction, j'ai encore des questions, la principale question est de savoir comment enregistrer et mapper les périphériques esclaves à la passerelle et enfin à la couche d'application IOT. et sous la question principale il y a beaucoup de petites questions auxquelles il faut répondre comme
- comment pourrais-je déterminer l'adresse de chaque périphérique, est-elle déterminée manuellement ou peut-elle être découverte à partir du périphérique esclave?
- si un périphérique esclave est défectueux, comment pourrions-nous le découvrir?
la source
modbus discover devices
Réponses:
Regarder les codes de fonction Modbus sur wikipedia
Déterminer les adresses
Vous pouvez interroger les codes de fonction Report Slave ID 17 et Read Device Identification 43.
Bien que vos appareils ne prennent pas en charge cette fonction et retournent avec un code d'exception 1 (fonction illégale). Si vous n'obtenez aucune réponse, l'appareil est éteint ou l'ID est inoccupé.
Vous pouvez répertorier ces appareils sur votre Raspberry Pi. Vous pouvez donc créer une liste avec des valeurs: ID + identification, ID set, ID not set.
Pour Modbus / TCP, ce lien peut être utile.
Trouver un appareil est dysfonctionnel
Pour savoir s'il est dysfonctionnel, vous pouvez interroger les diagnostics de temps en temps et écouter les messages d'exception.
Si vous ne recevez pas de message, cela pourrait également indiquer un problème (si l'ID avait un appareil connecté auparavant).
la source
Le «mappage» de l'automate se fera avec des variables variables.
Vous allez structurer les tagnames, puis acheminer les données sur n'importe quel protocole, dans ce cas modbus. Découvrez l'Advantech WISE-4060
Alternativement, vous pouvez avoir un OPC en cours d'exécution sur votre réseau où vous tirez les étiquettes de données et leurs statuts.
la source
Jetez un œil à Node-Red. Il fonctionne sur RPI et l'une des suites de nœuds couvre à peu près tout ce que vous voudriez faire avec Modbus. Il est open source et vous pouvez télécharger une image de travail et exécuter un script pour commencer.
J'ai récemment créé un système de contrôle pour le contrôle de l'eau et de la température en l'utilisant et c'était rapide et facile.
En ce qui concerne la découverte, je crains que cela ne ressemble probablement au nettoyage du grenier de grand-mère. Il suffit de parcourir tout cela une boîte à la fois! Avec le RPI sur un réseau, il ouvre un monde de connectivité car Node-Red peut gérer la base de données, Twitter, le courrier électronique, MQ et à peu près tout autre protocole que vous pouvez imaginer. De plus, toutes les données peuvent apparaître sur une page Web en déposant simplement quelques nœuds sur le canevas et en faisant glisser des fils entre eux.
la source