Cet article présente une étude de cas détaillée pour la communication Modbus RTU entre un automate programmable industriel (API) Mitsubishi FX3U et un variateur de vitesse Delta MS300. L'objectif est de permettre le contrôle de la fréquence de consigne, la direction de rotation, ainsi que la lecture de la fréquence et de la tension de sortie du variateur via une interface homme-machine (IHM).
Matériel Requis
Pour réaliser cette intégration, le matériel suivant est nécessaire :
- API Mitsubishi FX3U : Le cerveau du système de contrôle.
- Module de communication FX3U 485BD : Indispensable pour établir la liaison série RS485.
- Variateur de Vitesse Delta MS300 : L'appareil à commander, responsable du contrôle moteur.
- IHM Kunlun Tongtai (ou Weintek) : Pour l'interface utilisateur, permettant la saisie des parammètres et l'affichage des données.
Fonctionnalités Clés
La communication est établie via le protocole Modbus RTU sur une liaison RS485, permettant les fonctionnalités suivantes :
- Réglage de la Fréquence : Le PLC envoie des commandes au variateur pour définir la fréquence de fonctionnement souhaitée.
- Contrôle de Sens de Rotation : L'opérateur peut sélectionner la marche avant ou arrière via l'IHM.
- Lecture des Données Opérationnelles : Le PLC récupère et affiche en temps réel la fréquence de sortie actuelle et la tension de sortie du variateur sur l'IHM.
Exemple de Programme PLC (Mitsubishi FX3U)
Configuration de la Fréquence
Le programme PLC utilise des instructions spécifiques pour envoyer des commandes au variateur. Voici un extrait pour la configuration de la fréquence :
| M8000 | ----- [MOV K1 D100] ----- [TO K0 K1 H0C D200 K2] |
Explication :
M8000: Un contact normalement ouvert, actif lorsque l'automate est en marche.MOV K1 D100: Copie la valeur de fréquence désirée (ici,K1, mais elle sera généralement récupérée depuis l'IHM) dans le registre interneD100du PLC.TO K0 K1 H0C D200 K2: Instruction d'envoi de données via le module 485BD.K0: Spécifie le canal de communication (ici, canal 0).K1: Fonction Modbus, ici "Écriture d'un seul registre".H0C: L'adresse du registre de consigne de fréquence du variateur Delta MS300 (cette adresse peut varier selon le modèle et la configuration du variateur).D200: Registre contenant des données relatives à la commande, potentiellement générées par le système.K2: Indique que la longueur des données à transférer est de 2 octets.
Contrôle de Sens de Rotation
L'exemple suivant illustre le contrôle de la direction de rotation :
| X0 | ----- [SET M100] |
| X1 | ----- [SET M101] |
| M100 | ----- [MOV K1 D102] ----- [TO K0 K1 H0E D202 K2] |
| M101 | ----- [MOV K2 D102] ----- [TO K0 K1 H0E D202 K2] |
Explication :
X0etX1: Entrées externes simulées pour les boutons de marche avant et arrière.SET M100/SET M101: Active les relais auxiliairesM100etM101.MOV K1 D102/MOV K2 D102: Charge la commande de marche avant (valeurK1) ou arrière (valeurK2) dans le registreD102.TO K0 K1 H0E D202 K2: Envoie la commande de contrôle de direction au variateur.H0Eest l'adresse du registre de commande de sens de rotation du variateur.
Exemple de Programme IHM (Kunlun Tongtai)
L'IHM Kunlun Tongtai permet la création d'une interface utilisateur intuitive. Les interactions avec le PLC se font généralement via des scripts.
Pour la saisie de la fréquence, un script pourrait ressembler à ceci :
!SetDataValue("Device0.Data1", $SaisieFrequence)
Explication :
!SetDataValue(...): Fonction propre à Kunlun Tongtai pour écrire une valeur dans un registre de l'automate."Device0.Data1": Représente l'adresse du registre dans le PLC où la valeur de fréquence saisie sur l'IHM doit être écrite (par exemple, cela pourrait correspondre au registreD100utilisé dans l'exemple PLC).$SaisieFrequence: Variable représentant la valeur saisie par l'utilisateur dans le champ de l'IHM.
Exemple de Programme IHM (Weintek)
De même, pour une IHM Weintek, l'interaction avec le PLC peut être gérée via des macros.
macro_command main()
// Assumant que L1000 est l'adresse de la donnée sur l'IHM et D100 le registre PLC
SetData(L1000, "Local HMI", 1, D100, "Mitsubishi FX3U", 1)
end macro_command
Explication :
SetData(...): Fonction Weintek pour transférer des données entre l'IHM et le PLC.L1000: L'adresse de la donnée de consigne de fréquence sur l'IHM.D100: L'adresse du registre de consigne de fréquence dans le PLC Mitsubishi FX3U.
En combinant ces programmes pour le PLC et l'une des IHM, il est possible d'établir une communication Modbus RTU fiable entre le Mitsubishi FX3U et le Delta MS300 pour le contrôle et la surveillance d'un moteur.