Contrôle de Variateur par Modbus RTU avec Siemens S7-200 SMART

L'intégration du protocole Modbus RTU sur les automates Siemens S7-200 SMART permet une communication robuste et économique avec les variateurs de vitesse (VFD). Cette solution technique permet de centraliser la surveillance des données de fonctionnement et de piloter les commandes de puissance via une liaison série RS485.

Configuration Matériele et Connexion

La communciation repose sur une interface RS485. Pour un API S7-200 SMART, la connexion s'effectue généralement via le port série intégré :

  • Broche 3 (Signal A+) : À connecter sur la borne positive (+) du port RS485 du variateur.
  • Broche 8 (Signal B-) : À connecter sur la borne négative (-) du port RS485 du variateur.
  • Référence (GND) : Il est fortement recommandé de relier les masses pour stabiliser le potentiel de communication et limiter les bruits électromagnétiques.

Paramétrage du Variateur (Esclave)

Avant d'initier la communication depuis l'API, le variateur doit être configuré avec les paramètres suivants :

  1. ID Esclave : Défini sur 1 (doit être unique sur le bus).
  2. Vitesse de transmission : 9600 bps (doit correspondre à la configuration du maître).
  3. Format de données : 8N1 (8 bits de données, pas de parité, 1 bit de stop).
  4. Source de commande : Configurer le variateur pour accepter les ordres de marche et les consignes de fréquence via le port de communication.

Cartographie des Registres

Les adresses Modbus varient selon le constructeur, mais suivent généralement ce schéma pour un variateur type :

  • Lecture - Fréquence de sortie : 0x0021 (40034 en adressage PLC)
  • Lecture - Courant de sortie : 0x0023 (40036 en adressage PLC)
  • Lecture - Vitesse de rotation : 0x0025 (40038 en adressage PLC)
  • Écriture - Commande Marche/Arrêt : 0x0001 (40002)
  • Écriture - Consigne de fréquence : 0x0010 (40017)

Implémentation logicielle dans STEP 7-Micro/WIN SMART

1. Initialisation du Maître Modbus

L'instruction MBUS_CTRL configure le port de communication de l'automate.

// Initialisation du port de communication
// Mode : 1 (Modbus RTU)
// Baud : 9600
// Parity : 0 (Aucune)
// Timeout : 1000ms
MBUS_CTRL(
    Done => M0.0,
    Error => MB1,
    Mode := 1,
    Baud := 9600,
    Parity := 0,
    Timeout := 1000
);

2. Cycle de Lecture (Polling)

Pour lire plusieurs paramètres, nous utilisons une séquence d'interrogation basée sur le bit de fin (Done) de l'instruction précédente.

// Lecture de la fréquence (Registre 40034)
MBUS_MSG(
    EN := SM0.0 AND NOT M1.1, 
    Slave := 1,
    RW := 0,
    Addr := 40034,
    Count := 1,
    DataPtr := &VW100, // Stockage fréquence
    Done => M1.0,
    Error => MB2
);

// Lecture du courant (Registre 40036) déclenchée par la fin de la lecture précédente
MBUS_MSG(
    EN := M1.0,
    Slave := 1,
    RW := 0,
    Addr := 40036,
    Count := 1,
    DataPtr := &VW102, // Stockage courant
    Done => M1.1,
    Error => MB3
);

3. Envoi des Commandes (Écriture)

L'écriture s'effectue lorsqu'un changement d'état est requis (front montant) ou périodiquement dans la boucle de polling.

// Commande de démarrage/arrêt
// VW200 contient 1 pour démarrer, 0 pour arrêter
MBUS_MSG(
    EN := I0.0, // Entrée physique pour activer l'écriture
    Slave := 1,
    RW := 1,
    Addr := 40002,
    Count := 1,
    DataPtr := &VW200,
    Done => M2.0,
    Error => MB4
);

// Envoi de la consigne de fréquence
MBUS_MSG(
    EN := M2.0,
    Slave := 1,
    RW := 1,
    Addr := 40017,
    Count := 1,
    DataPtr := &VW202, // Valeur de consigne (ex: 5000 pour 50.00Hz)
    Done => M2.1,
    Error => MB5
);

Intégration IHM (Interface Homme-Machine)

Le programme est structuré pour faciliter la liaison avec un écran tactile. Les variables stockées dans la zone V (VW100, VW102, etc.) peuvent être directement liées à des afficheurs numériques sur l'IHM pour visualiser en temps réel les performances du moteur. De même, les registres d'écriture (VW200, VW202) peuvent être pilotés par des boutons ou des curseurs sur l'interface graphique pour un contrôle manuel simplifié.

Étiquettes: S7-200-SMART Modbus-RTU Siemens-PLC Variateur-de-frequence RS485

Publié le 21 juillet à 23h52