Automate programmable Siemens SIMATIC S7 en tant que serveur Modbus TCP : Tutoriel rapide
Le Siemens SIMATIC S7-1200 est bien plus qu'un simple automate programmable (PLC) ; c'est un pilier de l'automatisation industrielle. Le protocole Modbus, reconnu pour sa simplicité et sa facilité de mise en œuvre, est ici essentiel car il facilite la communication industrielle et la transmission de données au sein des systèmes d'automatisation d'usine. En le configurant comme serveur Modbus, vous pouvez partager les données avec une gateway IoT configurée comme client Modbus afin d'étendre la portée des données au-delà de l'atelier et d'assurer une surveillance à distance, notamment en envoyant les données du PLC vers le cloud . Ce guide vous accompagnera tout au long du processus, de la programmation du PLC à la simulation de la communication avec un client Modbus.
Êtes-vous prêt à exploiter tout le potentiel de votre Siemens S7-1200 ? C’est parti !
Introduction à Modbus et aux automates programmables
Modbus est l'un des protocoles les plus utilisés dans l'industrie . La plupart des automates programmables industriels, dont le Siemens SIMATIC S7-1200, prennent en charge plusieurs protocoles de communication, tels que Profinet et Modbus. Modbus se décline en deux variantes courantes : Modbus RTU (fonctionnant selon une architecture maître-esclave via une communication série) et Modbus TCP (utilisant un modèle client-serveur via Ethernet).
Dans ce tutoriel, nous allons vous montrer comment configurer le Modbus TCP/IP S7 1200 en tant que serveur et communiquer avec des appareils au sein d'un réseau industriel. Nous utiliserons également un simulateur Modbus pour tester la configuration.
Exigences
Configuration matérielle requise
1. Automate programmable Siemens S7 (nous utilisons le modèle S7-1212C DC/DC/DC, mais tout automate de la série S7 compatible Modbus fera l'affaire)
2. Câble Profinet/Ethernet
3. Alimentation électrique de l'automate programmable
Configuration logicielle requise
- Portail TIA V16 (pour la programmation et la configuration des automates programmables Siemens)
- MODBUS ClientX (un client Modbus TCP pour simuler la communication)
Configuration matérielle
Pour commencer, branchez l'alimentation au PLC Siemens SIMATIC S7-1200. Utilisez un câble Profinet ou Ethernet pour relier le port Ethernet du PLC à votre PC ou commutateur réseau. Cette connexion est indispensable pour permettre la communication TCP/IP entre le PLC et votre client Modbus.
Configuration de l'automate programmable S7-1200 dans TIA Portal
- Lancez le portail TIA et créez un nouveau projet dans la « Vue Projet »

- Sélectionnez « Configurer un appareil », puis « Ajouter un nouvel appareil ». Choisissez votre modèle Siemens S7-1200 et la version du firmware appropriée avant de cliquer sur « Ajouter »

Dans l'arborescence du projet, vous pouvez naviguer et gérer les composants de votre projet, notamment accéder aux propriétés et aux paramètres de configuration.
Remarque importante : Si l’automate contient déjà un programme, assurez-vous d’utiliser le même micrologiciel et la même version de TIA Portal. Sinon, il est préférable de procéder à la mise à niveau vers la dernière version disponible.
Configuration de l'automate S7-1200 en tant que serveur Modbus TCP
- Accédez au bloc « Principal (OB1) » dans la « Vue Projet » pour commencer à créer un diagramme logique à relais.

- Dans la fenêtre « Instructions » à droite, allez dans Communication -> Autres -> Modbus TCP .

Glissez l' MB_SERVER dans votre diagramme logique à relais :

- Créer un bloc de données :

Cliquez sur le nouveau bloc de données, puis ajoutez ces deux variables :
- Données : Un tableau de type « Word » pour stocker les données Modbus (par exemple, des valeurs initiales telles que « 21 », « 4 » et « 35 »).
- Connecter: Taper "TCON_IP_v4Saisissez « type de données » pour configurer les paramètres du serveur Modbus TCP. Une liste de variables de configuration s'affichera immédiatement en dessous. Paramétrez-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' ID d'interface correspond à l'identifiant matériel du port Ethernet de votre automate programmable. En communication TCP/IP, nous utilisons le port Ethernet ; l'ID est donc « 64 ». Vous trouverez cet ID dans la configuration du périphérique, page « Constantes système ».

- L'ID correspond à l'identifiant de l'esclave ; nous avons indiqué « 1 ». Nous devrons utiliser ce même identifiant plus tard dans le simulateur d'esclave.
- Le type de connexion doit être « 11 » pour TCP.
- Configurez RemoteAddress sur l'adresse IP de votre PC (que vous trouverez en utilisant la commande ipconfig sous Windows ou ifconfig sous Linux/Mac).
Le bloc de données devrait ressembler à ceci :

- Enfin, associez la variable « Data » au MB_HOLD_REG du bloc Modbus et la variable « Connect » au CONNECT du bloc Modbus :

Téléchargez maintenant 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 ». Si l'opération réussit, l'automate fonctionnera comme un serveur Modbus TCP, prêt à communiquer.
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 programmable fonctionne correctement en tant que serveur Modbus TCP, utilisez l'outil de simulation ModbusClientX.
- Ouvrez ModbusClientX et sélectionnez Modbus TCP.
- Saisissez l'adresse IP de votre automate programmable et cliquez sur « Se connecter »

- 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 programmable :

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 renvoyer des données à l'automate programmable, simulant des scénarios réels tels que l'envoi de données par des capteurs et des actionneurs industriels.
- Double-cliquez sur une valeur de la colonne « Registre de maintien » pour ouvrir un écran de saisie de nouvelles données. Les registres de maintien sont essentiels à la communication Modbus : ils permettent une manipulation flexible des données au sein des automates Siemens, garantissant ainsi la cohérence des structures de données et des paramètres pour une communication réussie.
- Saisissez votre valeur et cliquez sur « Écrire sur l'appareil »

Ensuite, retournez dans TIA Portal et ouvrez le bloc de données en « Mode surveillance » (cliquez sur l’icône en forme de lunettes). La nouvelle valeur apparaîtra dans la variable correspondante, confirmant ainsi la réussite de l’écriture des données dans l’automate

Utilisation d'une Gateway IoT comme client Modbus pour interroger les données des capteurs
Une fois le Siemens S7-1200 configuré comme serveur Modbus, vous êtes à un pas de la collecte de données fluide de vos capteurs via une gateway IoT configurée comme client Modbus, telle qu'une Teltonika TRB-140 ou une Advantech ADAM 6717. gateway IoT ainsi interroger en continu l'automate programmable pour obtenir les données des capteurs et les transmettre à une IoT comme 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 des capteurs sont associées aux registres Modbus correspondants au sein de l'automate. Dans le MB_HOLD_REG de votre bloc de données, vous aurez défini des variables correspondant 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 affectées à un registre de stockage individuel.
- Cartographiez ces registres afin de savoir quel registre correspond à chaque capteur Modbus ou point de données (par exemple, température, pression, débit).
Étape 2 : Configurer la Gateway IoT
Configurez maintenant la gateway IoT en tant que client Modbus. Dans l’interface de configuration de la gateway:
- Configurez l' adresse IP du serveur Modbus (l'automate Siemens).
- Assurez-vous que le Modbus TCP est sélectionné.
- Entrez le numéro de port (généralement 502 pour Modbus TCP) pour vous connecter à l'automate programmable.
- Définissez la plage de registres que la gateway IoT doit interroger. Celle-ci doit correspondre aux registres de maintien configurés dans l'automate programmable pour les données de vos capteurs.
- Définissez l'intervalle d'interrogation en fonction de vos besoins (par exemple, toutes les 5 minutes)
Étape 3 : Envoyer les données vers le cloud ou un autre système
Une fois les données Modbus récupérées par la gateway IoT , vous pouvez configurer cette gateway pour qu'elle les transmette à une plateforme IoT industrielle ou à une destination interne (par exemple, un serveur local) en vue d'un traitement, d'un stockage ou d'une analyse ultérieurs. La plupart gateway IoT offrent la possibilité d'envoyer des données via MQTT , HTTP ou d'autres protocoles.
En intégrant une gateway IoT en tant que client Modbus, vous activez une surveillance robuste, évolutive et centralisée de l'ensemble de votre réseau de capteurs, en tirant pleinement parti du potentiel de la communication Modbus TCP et IoT telles que la création de SCADA basés sur le cloud .

Meilleures pratiques pour la configuration Modbus TCP/IP
Maintenant que vous savez comment configurer votre automate S7 en tant que serveur Modbus, voici quelques conseils pour une configuration Modbus TCP fiable et efficace. En suivant ces recommandations, vous éviterez les problèmes de communication courants et simplifierez la configuration et la maintenance de votre automate Siemens SIMATIC S7-1200.
- Utilisez toujours des conventions d'appellation 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 en environnement de production.
- Assurez-vous que les versions du micrologiciel de votre automate Siemens et du logiciel TIA Portal sont compatibles.
- Utilisez une attribution d'adresses IP et une redirection de ports appropriées si vous intégrez l'automate programmable 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 transformé avec succès votre Siemens SIMATIC S7-1200 en un serveur Modbus TCP, capable de lire et d'écrire des données vers des clients Modbus, tels que des capteurs Modbus , sur un réseau industriel. L'étape suivante consiste à étendre cette configuration en l'intégrant à une gateway IoT industrielle , permettant ainsi la surveillance et le contrôle à distance des données via les systèmes SCADA . Continuez d'explorer le potentiel de la communication Modbus pour optimiser votre infrastructure d'automatisation industrielle.
FAQ
Le S7-1200 prend-il en charge le protocole Modbus TCP ?
Oui, le Siemens S7-1200 prend entièrement en charge le protocole Modbus TCP, ce qui lui permet de fonctionner comme serveur ou client Modbus au sein d'un environnement de communication TCP/IP.
Le S7-1500 prend-il en charge le protocole Modbus TCP ?
Oui, le Siemens S7-1500 prend également en charge le 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 programmable S7-1200 ?
L'adresse IP par défaut de l'automate Siemens S7-1200 est généralement 192.168.0.1 , mais celle-ci peut être modifiée lors de la configuration de l'appareil.
Quel est le protocole de communication utilisé dans l'automate programmable S7-1200 ?
L'automate programmable 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 de communication sur les réseaux TCP/IP. Il permet aux appareils Modbus d'échanger des données via une infrastructure 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 utilise l'automate programmable Siemens ?
Les automates programmables Siemens utilisent couramment les protocoles 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 implémenter Modbus RTU dans les appareils industriels.