Modbus

Automate Siemens SIMATIC S7 en tant que serveur Modbus TCP : un didacticiel rapide

Agustín Peláez
· 8 min de lecture
Envoyer par email

Le Siemens SIMATIC S7-1200 est plus qu'un simple automate programmable (PLC) ; c'est la pierre angulaire de l'automatisation industrielle. Le protocole Modbus, connu pour sa simplicité et sa facilité de mise en œuvre, est ici très pertinent car il facilite la communication industrielle et la transmission de données au sein de l'automatisation des usines. En le configurant en tant que serveur Modbus, vous pouvez partager les données avec une gateway IoT configurée en tant que client Modbus pour la surveillance à distance. Dans ce guide, nous vous guiderons tout au long du processus, de la programmation de l'automate à la simulation de la communication avec un client Modbus.

Êtes-vous prêt à libérer tout le potentiel de votre Siemens S7-1200 ? Allons-y !

Introduction à Modbus et aux automates

Modbus est l'un des protocoles les plus utilisés en milieu industriel. La plupart des automates industriels, y compris le Siemens SIMATIC S7-1200, prennent en charge plusieurs protocoles de communication, tels que Profinet et Modbus. Modbus lui-même se décline en deux variantes courantes : Modbus RTU (fonctionnant sur une architecture maître-esclave sur communication série) et Modbus TCP (utilisant un modèle serveur-client sur Ethernet).

Dans ce didacticiel, nous montrerons comment configurer le Modbus TCP IP S7 1200 en tant que serveur et communiquer avec les appareils sur un réseau industriel. Nous utiliserons également un simulateur Modbus pour tester la configuration.

Exigences

Exigences matérielles

1. Automate Siemens S7 (nous utilisons le modèle S7-1212C DC/DC/DC, mais toute série S7 avec fonctionnalité Modbus fonctionnera)

2. Câble Profinet/Ethernet

3. Alimentation de l'automate

Configuration logicielle requise

  1. TIA Portal V16 (pour la programmation et la configuration des automates Siemens)
  2. MODBUS ClientX (un client Modbus TCP pour simuler la communication)

Configuration du matériel

Pour commencer, connectez l’alimentation à l’automate Siemens SIMATIC S7-1200. Utilisez un câble Profinet ou Ethernet pour relier le port Ethernet de l'automate à votre PC ou commutateur réseau. Cette connexion est essentielle pour permettre la communication TCP/IP entre l'automate et votre client Modbus.

Configuration de l'automate S7-1200 dans TIA Portal

  1. Lancez TIA Portal et créez un nouveau projet dans « Project View ».
Lancez TIA Portal et créez un nouveau projet dans « Project View ».
Lancez TIA Portal et créez un nouveau projet dans « Project View ».
  1. Sélectionnez « Configurer un appareil », puis « Ajouter un nouvel appareil ». Choisissez votre modèle Siemens S7-1200 et la version correcte du micrologiciel avant de cliquer sur « Ajouter ».
Ajouter un nouvel appareil dans TIA Portal

Dans l'arborescence du projet, vous pouvez parcourir et gérer les composants de votre projet, tels que l'accès aux propriétés et aux paramètres de configuration.

Remarque importante : si l'automate contient déjà un programme existant, assurez-vous d'utiliser le même firmware et la même version de TIA Portal. Sinon, il est préférable de mettre à niveau vers la dernière version disponible.

Configuration de l'automate S7-1200 comme serveur Modbus TCP

  1. Accédez au bloc « Principal (OB1) » dans la « Vue du projet » pour commencer à créer un schéma logique à relais.
  1. Dans la fenêtre « Instruction » à droite, allez dans Communication -> Autres -> Modbus TCP .
L'instruction MB_SERVER à ajouter au programme principal

Faites glisser l' MB_SERVER dans votre schéma logique à relais :

Le bloc MB_SERVER
  1. Créez un bloc de données :
Création d'un bloc de données

Cliquez sur le nouveau bloc de données, puis ajoutez ces deux variables :

  • Données : Un tableau de type « Mot » pour stocker les données Modbus (par exemple, des valeurs initiales telles que « 21 », « 4 » et « 35 »).
  • Connecter: Taper "TCON_IP_v4" comme type de données pour configurer les paramètres du serveur Modbus TCP. Immédiatement, vous verrez apparaître une liste de variables de configuration juste en dessous. Définissez-les comme suit :
    • Le port local doit être défini sur « 502 », qui est le port par défaut pour les communications Modbus TCP.
  • L' InterfaceID est l'ID matériel du port Ethernet de votre automate. Dans la communication TCP/IP, nous utilisons le port Ethernet, l'ID serait donc "64". Vous pouvez trouver l'ID dans la page Configuration de l'appareil -> Constantes système :
  • ID est l'ID de l'esclave, nous avons écrit « 1 ». Plus tard, nous devrons utiliser le même identifiant dans le simulateur d'esclaves.
  • Le type de connexion doit être « 11 » pour TCP.
  • Définissez RemoteAddress sur l'adresse IP de votre PC (trouvée en utilisant ipconfig sous Windows ou ifconfig sous Linux/Mac)

Le bloc de données devrait ressembler à ceci :

Bloc de données avec deux variables : un tableau de "mots" et une variable TCON_IP_v4
  1. Enfin, pointez la variable Data MB_HOLD_REG du bloc Modbus, et la variable « Connect » sur le CONNECT du bloc Modbus :
Le bloc de données MB_SERVER, avec les variables de configuration attachées.

Maintenant, téléchargez la configuration sur l'automate Siemens en cliquant avec le bouton droit sur l'automate et en sélectionnant « Télécharger le matériel et le logiciel ». En cas de succès, l'automate agira comme un serveur Modbus TCP, prêt pour la communication.

Simulation de la communication Modbus à l'aide de l'outil ModbusClientX

Lecture des données Modbus à l'aide de ModbusClientX

Pour vérifier que votre automate fonctionne correctement en tant que serveur Modbus TCP, utilisez l'outil de simulation ModbusClientX.

  1. Ouvrez ModbusClientX et sélectionnez Modbus TCP.
  2. Entrez l'adresse IP de votre automate et cliquez sur « Connecter ».
Outil ModbusClientX
  1. Cliquez sur « Lire de 0 à 9 » pour récupérer les 10 premières valeurs de données stockées dans le de données de l'automate :
Outil ModbusClientX

Si les valeurs que vous avez définies (par exemple « 21 », « 4 », « 35 ») apparaissent, cela confirme que la communication Modbus TCP fonctionne comme prévu.

Écriture de données Modbus à l'aide de ModbusClientX

ModbusClientX vous permet également de réécrire des données sur l'automate, simulant des scénarios réels tels que des capteurs et actionneurs industriels envoyant des données.

  1. Double-cliquez sur n'importe quelle valeur dans la colonne « Holding Register » pour ouvrir un écran dans lequel vous pouvez saisir de nouvelles valeurs de données. Les registres de maintien sont cruciaux dans la communication Modbus car ils permettent une manipulation flexible des données au sein des automates Siemens, garantissant ainsi l'alignement des structures de données et des paramètres pour une communication réussie.
  2. Entrez votre valeur et cliquez sur « Écrire sur l'appareil ».

Revenez ensuite dans TIA Portal et ouvrez le bloc de données en « Mode Moniteur » (cliquez sur l'icône des lunettes). La nouvelle valeur apparaîtra dans la variable correspondante, confirmant la réussite de l'écriture des données sur l'automate :

Utilisation d'une Gateway IoT comme client Modbus pour interroger les données du capteur

Une fois que vous avez configuré le Siemens S7-1200 en tant que serveur Modbus, vous faites un pas de plus vers une collecte transparente des données de vos capteurs à l'aide d'une gateway IoT configurée en tant que client Modbus, telle qu'un Teltonika TRB-140 ou un Advantech ADAM 6717. . Ce faisant, la gateway IoT peut interroger en permanence l'automate pour obtenir les données des capteurs et les transmettre à une IoT telle qu'Ubidots Ubidots pour une surveillance et une analyse en temps réel.

Étape 1 : Identifier les registres Modbus

Tout d'abord, vous devez vous assurer que toutes les données pertinentes du capteur sont mappées à des registres Modbus spécifiques au sein de l'automate. Dans le MB_HOLD_REG de votre bloc de données, vous aurez défini des variables qui correspondent aux capteurs connectés à votre automate. Les données de chaque capteur seront stockées dans des registres de maintien spécifiques, qui pourront être lus par la gateway IoT .

  • Assurez-vous que les données de chaque capteur sont correctement attribuées à un registre de détention individuel.
  • Cartographiez ces registres afin de savoir quel registre correspond à chaque capteur ou point de données Modbus (par exemple, température, pression, débit).

Étape 2 : configurer la Gateway IoT

Maintenant, configurez la gateway IoT en tant que client Modbus. Dans l'interface de configuration de gateway :

  • Définissez l' adresse IP du serveur Modbus (l'automate Siemens).
  • Assurez-vous que le Modbus TCP est sélectionné.
  • Saisissez le numéro de port (généralement 502 pour Modbus TCP) pour vous connecter à l'automate.
  • Définissez la plage de registres que la gateway IoT doit interroger. Cela doit correspondre aux registres de maintien que vous avez configurés dans l'automate pour les données de votre capteur.
  • Définissez l'intervalle d'interrogation en fonction de vos besoins (par exemple toutes les 5 minutes)

Étape 3 : envoyer des données vers le cloud ou un autre système

Une fois les données Modbus interrogées avec succès par la gateway IoT , vous pouvez désormais configurer la gateway pour transférer ces données vers une plate-forme cloud ou une destination interne (par exemple un serveur local) pour un traitement, un stockage ou une analyse ultérieurs. La plupart gateway IoT offrent des options d'envoi de données via MQTT , HTTP ou d'autres protocoles.

En intégrant une gateway IoT en tant que client Modbus, vous permettez une surveillance robuste, évolutive et centralisée de l'ensemble de votre réseau de capteurs, en exploitant tout le potentiel de la communication Modbus TCP et IoT telles que la création de SCADA basés sur le cloud .

Un SCADA cloud basé sur Ubidots pour la maintenance prédictive dans le secteur pétrolier et gazier

Meilleures pratiques pour la configuration Modbus TCP/IP

Maintenant que vous savez comment configurer votre automate S7 pour qu'il agisse comme un serveur Modbus, voici quelques conseils pour une configuration Modbus TCP fiable et efficace. En suivant ces directives, vous pouvez éviter les problèmes de communication courants et rationaliser la configuration et la maintenance de votre automate Siemens SIMATIC S7-1200.

  • Utilisez toujours des conventions de dénomination cohérentes pour vos blocs de données, registres et variables.
  • Testez votre configuration Modbus TCP à l'aide d'un simulateur de serveur Modbus avant de la déployer dans un environnement de production.
  • Assurez-vous que les versions du micrologiciel de votre automate Siemens et du logiciel TIA Portal sont compatibles.
  • Utilisez une allocation d'adresse IP et une redirection de port appropriées si vous intégrez l'automate dans un réseau plus vaste.
  • Documentez toutes les configurations et tous les paramètres pour faciliter le dépannage et la maintenance.

Conclusion et prochaines étapes

En suivant ce tutoriel, vous avez réussi à transformer votre Siemens SIMATIC S7-1200 en un serveur Modbus TCP, capable de lire et d'écrire des données sur des clients Modbus, tels que des capteurs Modbus , sur un réseau industriel. La prochaine étape consiste à étendre cette configuration en l'intégrant à une gateway IoT industrielle , permettant la surveillance et le contrôle des données à distance sur les systèmes SCADA . Continuez à explorer le potentiel de la communication Modbus pour améliorer votre infrastructure d'automatisation industrielle.

FAQ

Le S7-1200 prend-il en charge Modbus TCP ?

Oui, le Siemens S7-1200 prend entièrement en charge Modbus TCP, lui permettant d'agir en tant que serveur ou client Modbus dans un cadre de communication TCP/IP.

Le S7-1500 prend-il en charge Modbus TCP ?

Oui, le Siemens S7-1500 prend également en charge Modbus TCP, offrant des capacités de communication avancées dans les environnements industriels.

Quelle est l'adresse IP par défaut de l'automate S7-1200 ?

L'adresse IP par défaut de l'automate Siemens S7-1200 est généralement 192.168.0.1 , mais elle peut être modifiée lors de la configuration de l'appareil.

Quel est le protocole de communication utilisé dans l'automate S7-1200 ?

L'automate Siemens S7-1200 prend en charge plusieurs protocoles de communication, notamment Profinet, Modbus TCP et Modbus RTU.

Qu’est-ce que Modbus TCP ?

Modbus TCP est un protocole utilisé pour communiquer sur les réseaux TCP/IP. Il permet aux appareils Modbus d'échanger des données à l'aide d'une infrastructure basée sur Ethernet, couramment utilisée dans les systèmes d'automatisation industrielle.

Modbus RTU et RS-485 sont-ils identiques ?

Non, Modbus RTU fait référence au protocole de communication, tandis que RS-485 est la couche physique utilisée pour la transmission de données série dans les configurations Modbus RTU.

Quel protocole de communication l'automate Siemens utilise-t-il ?

Les automates Siemens utilisent couramment Profinet, Modbus TCP et OPC UA pour la communication dans les environnements industriels.

Quelle est la différence entre Modbus RTU et Modbus RS-485 ?

Modbus RTU est un protocole de communication, tandis que RS-485 est la norme de communication série généralement utilisée pour mettre en œuvre Modbus RTU dans les appareils industriels.