2. Communication Modbus
WAGO – ATV 31
1. Matériel :
Borne d’interface série RS 485 : 750-653
Le coupleur met les données à la disposition du bus. Le système de communication module-coupleur
est indépendant du bus et travaille en full duplex à une vitesse de 19200 bauds.
Cette borne est d’une très grande rapidité, elle offre une séparation galvanique parfaite et une très
grande protection contre les perturbations.
Le blindage est directement connecté au rail.
Borne à configurer avec logiciel
Communication Modbus WAGO- P.DREZET - 2 -
3. Communication Modbus
WAGO – ATV 31
2. Schéma de câblage borne 750-653 :
Communication Modbus WAGO- P.DREZET - 3 -
4. Communication Modbus
WAGO – ATV 31
3. Configuration avec le logiciel WAGO IO Check 2 :
Lancer le logiciel
Connecter le contrôleur 750-841 au PC par le cordon série
Node Configuration montre une image de l’application
Borne d’interface série RS 485 :
750-653 003-000
Communication Modbus WAGO- P.DREZET - 4 -
5. Communication Modbus
WAGO – ATV 31
Clic droit sur la borne :
Settings pour configurer la borne
4. Programmation dans CoDeSys :
4.1 Configuration de l’automate :
Clic sur l’icône Ressources
Configuration de l’automate Hardware configuration Clic droit sur K-Bus
Ajouter sous élément
Communication Modbus WAGO- P.DREZET - 5 -
6. Communication Modbus
WAGO – ATV 31
Cliquer sur Serial Interface pour obtenir le liste des bornes RS 485 750-653
Bornes configurables
Bornes non configurables
Communication Modbus WAGO- P.DREZET - 6 -
7. Communication Modbus
WAGO – ATV 31
4.2 Bibliothèque CoDeSys avec fonction Modbus :
Fenêtre
et Gestion des bibliothèques
Dans la fenêtre Gestion des bibliothèques clic droit sur la fenêtre haut à gauche :
Cliquer sur Insérer Autres bibliothèques
Une fenêtre de navigation apparaît :
Communication Modbus WAGO- P.DREZET - 7 -
8. Communication Modbus
WAGO – ATV 31
Sélectionner le fichier Modb_105 qui correspond aux fonctions Modbus Master et Slave
MODBUSMASTER_RTU : Bloc fonctionnel qui permet de gérer une borne d’interface série en
tant que maître Modbus RTU
MODBUSSLAVE_RTU : Bloc fonctionnel qui permet de gérer une borne d’interface série en
tant qu’esclave Modbus RTU
Communication Modbus WAGO- P.DREZET - 8 -
9. Communication Modbus
WAGO – ATV 31
Programmation :
4.3 Création d’un sous programme Modbus :
Fichier Nouveau
Paramétrage du contrôleur
Après avoir crée un programme principal PLC_PRG clic droit sur Modules puis Insérer objet
Donner un nom au sous programme et langage en ST (Texte structuré)
Communication Modbus WAGO- P.DREZET - 9 -
10. Communication Modbus
WAGO – ATV 31
Programme Modbus :
Nom du sous programme Modbus en ST
Fonction Modbus maître : MODBUS_MASTER_RTU
Adresse de l’esclave : 1
Quantité de mots lus
Code fonction 3 en Modbus :
Lecture de n mots consécutifs
Adresse de départ :
Ex : mot 8604 vitesse de sortie
Tableau de valeurs
Lancement d’une requête de
lecture
Communication Modbus WAGO- P.DREZET - 10 -
11. Communication Modbus
WAGO – ATV 31
ModbusMaster
(
bCOM_PORT:= 2, (* Numéro de la borne RS, en commençant à 2 (le port 1 est la prise console) *)
cbCOM_BAUDRATE:= BAUD_19200, (* Débit *)
cpCOM_PARITY:= PARITY_EVEN, (* Parité *)
csCOM_STOPBITS:= STOPBITS_1, (* Bits de Stop *)
cbsCOM_BYTESIZE:= BS_8, (* Bits de données *)
cfCOM_FLOW_CONTROL:= HALFDUPLEX, (* Half duplex = Liaison 2 fils *)
TimeOut:= t#500ms, (* Temps au bout duquel on considère qu'on ne recevra plus de réponse *)
StartFunction:= Start, (* Faire passer cette variable à TRUE pour l'émission d'une nouvelle trame. Elle
repasse à FALSE lorsqu'un résultat est disponible *)
Query:= Query[Index], (* Tableau de requêtes *)
Response:= Response, (* Variable structurée qui contient la réponse *)
);
IF NOT Start (* Si un résultat est disponible *)
THEN
IF ModbusMaster.MB_Error = 0 (* Test du code d'erreur *)
THEN (* Pas d'erreur *)
CptOk := CptOk+1; (* Compteur de trames OK *)
CASE Index OF
0 : RFRD_VitesseSortie := Response.Data[0];
ERRD_CodeDefaut := Response.Data[2];
1 : ETA_MotEtat := Response.Data[0];
RFR_FrequenceSortie := Response.Data[1];
LCR_CourantMoteur := Response.Data[3];
ETI_MotEtatEtendu := Response.Data[5];
END_CASE
ELSE
CptNok := CptNok+1; (* Compteur de trames NOK ou sans réponse (timeout) *)
Communication Modbus WAGO- P.DREZET - 11 -
12. Communication Modbus
WAGO – ATV 31
END_IF
Start := TRUE;
Index.0 := NOT Index.0;
END_IF
5. Programme de conversion:
Module Clic droit Insérer objet
Crée un programme en CFC
Communication Modbus WAGO- P.DREZET - 12 -
13. Communication Modbus
WAGO – ATV 31
Exemple de conversion du courant moteur lu dans le variateur :
(LCR_CourantMoteur)
6. Visualisation :
Exemple de visualisation de courant moteur :
Clic sur instrument vectorisé
Configuration de l’instrument vectorisé :
Communication Modbus WAGO- P.DREZET - 13 -
14. Communication Modbus
WAGO – ATV 31
Choisir :
- le type de flèche
- la couleur de la flèche
- variable/échelle
Affecter à l’instrument une variable :
Pour l’exemple courant, le mot variateur 3204 est affecté à W_LCR_CourantMoteur
Configurer les zones de couleur :
Echelle et graduation
Communication Modbus WAGO- P.DREZET - 14 -