Communication Modbus RTU entre un automate Siemens S7-1200 et un servovariateur de la série A6

D

Daniel Zhang

Dernière mise à jour le Jul 12, 2026

Cet article explique comment établir une communication Modbus RTU entre un automate Siemens S7-1200 et un servovariateur STEPPERONLINE de la série A6-RS.

Scénario d'application : L'automate S7-1200 joue le rôle de maître Modbus RTU et le servovariateur A6-RS celui d'esclave. L'automate lit la tension du bus CC à partir du servovariateur.

Prérequis

Préparez les éléments suivants avant de commencer :

  • Automate S7-1200 : CPU 1215C DC/DC/DC
  • Tout servomoteur de la série A6-RS
  • Un câble de communication RS-485

Procédure

1. Configurer les paramètres du servovariateur

Configurez les paramètres suivants sur le servovariateur A6-RS :

Paramètre Valeur Description
C0A.00 1 Adresse esclave Modbus
C0A.01 7 Débit Modbus
C0A.02 0 Format de communication Modbus

2. Configurer le module de communication Modbus RTU

3. Activer la mémoire système

Dans l'arborescence du projet, sélectionnez PLC_1, faites un clic droit sur Propriétés, accédez à Mémoire système et mémoire d'horloge, puis cochez Activer l'utilisation de l'octet de mémoire système.

4. Appeler l'instruction MB_COMM_LOAD

Ouvrez le bloc Main (OB1). Dans le volet Instructions, accédez à Communication → Processeur de communication → Modbus, puis faites glisser l'instruction MB_COMM_LOAD dans un segment de programme, comme illustré ci-dessous :

5. Créer les tampons d'envoi et de réception de données

Dans l'arborescence du projet, sélectionnez Ajouter un nouveau bloc → Bloc de données (DB) → OK, comme illustré ci-dessous.

Après avoir ajouté le nouveau bloc de données, désactivez l'option Accès au bloc optimisé et définissez les zones de tampon d'envoi et de réception de données.

6. Appeler l'instruction MB_MASTER

Ouvrez le bloc d'organisation Main (OB1). Dans le volet Instructions, accédez à Communication → Processeur de communication → Modbus, puis faites glisser l'instruction MB_MASTER dans un segment de programme, comme illustré ci-dessous :

Configurez les paramètres de l'instruction comme suit :

  • MB_ADDR : Définir sur 1 (l'adresse esclave configurée à l'étape 1).
  • MODE : Définir sur 0 (mode lecture).
  • DATA_ADDR : Définir sur 16#4006 pour lire le registre U40.06 (tension du bus CC). Utilisez l'adresse directe du registre ; n'ajoutez pas le décalage 40001 habituellement utilisé dans l'adressage Modbus.

7. Exécuter le programme

Surveillez la valeur de U40.06 dans le programme de l'automate. Les données reçues sont au format hexadécimal ; convertissez-les en décimal et comparez-les avec la valeur U40.06 affichée sur le servovariateur A6-RS pour en vérifier l'exactitude.