Vous êtes sur la page 1sur 12

Communication PLC MQTT à l’aide TIA Portal, Mosquitto et Node-RED

I. Introduction ..................................................................................................................... 2

II. Coté Mosquitto/Node-RED ............................................................................................ 2

1. Etapes à suivre ............................................................................................................. 2

III. Côté portail TIA .......................................................................................................... 7

1. Etape à suivre .............................................................................................................. 7


Communication PLC MQTT

I. Introduction
Dans l’environnement industriel, des protocoles de communication efficaces et fiables
garantissent une connectivité et un échange de données transparents entre divers appareils et
systèmes. L'un de ces protocoles qui a gagné en popularité est MQTT (Message Queuing
Telemetry Transport). MQTT fonctionne sur un modèle de publication/abonnement, dans
lequel les appareils sont connectés à un hub central appelé courtier. Cela rend MQTT
particulièrement adapté au milieu industriel.

II. Coté Mosquitto/Node-RED

MQTT est un protocole de communication où les appareils ne se connectent pas directement


entre eux, mais utilisent un courtier central, Mosquitto. Les appareils partagent des données en
les publiant sur un sujet spécifique au courtier, qui les transmet à d'autres appareils abonnés à
ce sujet. Cette méthode facilite l'implémentation et l'évolutivité des systèmes de
communication entre appareils.

1. Etapes à suivre
Pour démarrer le courtier Mosquitto, il faut d'abord ouvrir une invite de commande avec des
droits d'administrateur. Ensuite, la commande « cd » est utilisée pour se rendre dans le
répertoire d'installation de Mosquitto. Une fois dans ce répertoire,

La commande « Mosquitto -v -c chemin_vers_le_fichier_de_configuration » permet de


lancer Mosquitto en utilisant le fichier de configuration spécifié.
Dans le dossier d'installation de Mosquitto se trouve un fichier intitulé « mosquitto.conf », qui
est le fichier de configuration du courtier Mosquitto. À l'origine, ce fichier est généralement
vide. Il est recommandé de l'ouvrir avec un éditeur de texte, en ayant les droits d'administrateur,
pour y ajouter la configuration nécessaire.

• Allow_anonymous true permet à n’importe quel homologue de se connecter au courtier


sans authentification.
• L'écouteur 1883 192.168.0.110 est utilisé pour lier le courtier au port 1883 (port MQTT
par défaut) et à l'adresse IP 192.168.0.110 (la même adresse IP que l'adaptateur virtuel
PLCSim Advanced. Cela sera pertinent plus tard dans le didacticiel).
Le courtier Mosquitto est désormais configuré et opérationnel. La prochaine étape consiste
à s'orienter vers Node-RED. Pour cela, Node-RED peut être ouvert dans un navigateur Web
en accédant à l'adresse « 127.0.0.1:1880 » ou « localhost :1880 ». Une fois dans l'interface
de Node-RED, il est possible de parcourir la liste des nœuds pour y trouver les nœuds
MQTT (MQTT In et MQTT Out). Il suffit ensuite de glisser un exemplaire de chaque nœud
dans l'espace de travail.

Pour configurer le nœud MQTT In, il faut double-cliquer dessus afin d'ouvrir ses propriétés.
Puis, cliquer sur l'icône d'édition permet d'ajouter un nouveau serveur de courtier.
Il convient d'ajouter l'adresse IP et le port associés au courtier, puis de cliquer sur « Mettre à
jour ».

Ensuite, il est nécessaire d'ajouter le sujet de communication (par exemple, « PLC ») et de


nommer le nœud.
Les mêmes étapes sont à suivre pour le nœud MQTT Out, notamment en ce qui concerne l'ajout
de l'adresse du courtier, la définition du sujet et le nommage du nœud.

Les nœuds sont désormais configurés. Il est possible d'ajouter un nœud d'injection et de le lier
au nœud MQTT Out pour la publication des données. De même, un nœud de débogage peut
être lié au nœud MQTT In pour la souscription aux données.
III. Côté portail TIA
1. Etape à suivre
Du côté de TIA Portal, il convient de commencer par créer un nouveau projet et d'y ajouter le
CPU souhaité. Ensuite, il est nécessaire d'éditer les paramètres Ethernet du CPU, en choisissant
l'adresse IP appropriée.
Pour réaliser des communications MQTT, il est nécessaire d'utiliser une bibliothèque de
communication fournie par Siemens. Cette bibliothèque comprend un ensemble de fonctions
de communication, y compris celles dédiées à MQTT.

Après avoir téléchargé la bibliothèque, il est important de l'ajouter au projet TIA Portal.

Pour cela, il faut ouvrir l'onglet « Bibliothèques » et sélectionner « Ouvrir une bibliothèque
globale ».
Il faut se rendre à l'emplacement où la bibliothèque a été décompressée et sélectionner le
fichier portant l’extension. a18.

Il est nécessaire d'ouvrir la bibliothèque, puis le dossier LMQTT situé dans la section « Types
». Ensuite, copier la fonction « LMQTT_Client » dans le programme. Cette action devrait
également ajouter automatiquement les types de données associés à cette fonction.
Par la suite, il faut ouvrir le programme principal et y glisser-déposer la fonction «
LMQTT_Client » depuis le programme vers le premier réseau.

Ce bloc comporte de nombreuses entrées et sorties, nécessitant la création d'une étiquette


pour chacune. L'utilisation d'une base de données est recommandée pour créer des éléments
correspondant à chaque entrée et sortie, avec leur type de données approprié. Il convient donc
de créer une base de données globale nommée « MQTT DB » et d'y établir des éléments avec
leurs valeurs de départ spécifiées.
Les valeurs soulignées sont essentielles et doivent impérativement être renseignées. Sans ces
informations, le bloc ne peut pas fonctionner correctement.

• QOS : Quality Of Service peut avoir une valeur comprise entre 0 et 2.


• publimsglen : longueur du message publié.
• willmsglen : longueur du dernier message testamentaire.
• hwId : identifiant du matériel. Vous pouvez le garder à 0.
• connId : ID de connexion, doit être unique.
• ADDR [1] à ADDR [4] : Adresse IP du courtier.
• keepalive : délai d'attente.
• clientId : ID du client dans la communication MQTT.
• willtopic : dernier sujet de la volonté.
• mqtttopic : sujet actuel.

Après avoir réalisé ces étapes, le bloc obtenu devrait ressembler à l'illustration présentée ci-
dessous.

Vous aimerez peut-être aussi