Le gestionnaire Modbus est utilisé pour le protocole Modbus RTU ou ASCII en mode maître ou esclave.
Pour ajouter un gestionnaire Modbus au contrôleur, sélectionnez l'élément Gestionnaire Modbus dans le catalogue de matériels, faites-le glisser vers l'arborescence Équipements, puis déposez-le sur l'un des nœuds en surbrillance.
Pour plus d'informations sur l'ajout d'un équipement à votre projet, consultez :
• Utilisation de la méthode glisser-déposer
• Utilisation du Menu contextuel ou du bouton Plus
Configuration du gestionnaire Modbus
Pour configurer le gestionnaire Modbus de votre contrôleur, double-cliquez sur Gestionnaire Modbus dans l'arborescence Équipements.
La fenêtre de configuration du gestionnaire Modbus s'affiche :
Définissez les paramètres comme décrit dans le tableau ci-dessous :
Élément |
Description |
---|---|
Mode de transmission |
Spécifiez le mode de transmission à utiliser : oRTU : codage binaire et vérification des erreurs CRC (8 bits de données) oASCII : messages au format ASCII, vérification des erreurs LRC (7 bits de données) Ce paramètre doit être identique pour tous les équipements Modbus de la ligne. |
Adressage |
Spécifiez le type d'équipment : oMaître oEsclave |
Adresse |
Adresse Modbus de l'équipement, lorsque l'option Esclave est sélectionnée. |
Délai d'inter-trame (ms) |
Délai pour éviter les collisions sur le bus. Ce paramètre doit être identique pour chaque équipement Modbus sur la liaison. |
Paramètres de ligne série |
Paramètres spécifiés dans la fenêtre de configuration de la ligne série. |
Lorsque le contrôleur est configuré en tant que maître Modbus, les blocs fonction suivants de la bibliothèque PLCCommunication sont pris en charge :
oADDM
oREAD_VAR
oSEND_RECV_MSG
oSINGLE_WRITE
oWRITE_READ_VAR
oWRITE_VAR
Pour plus d'informations, reportez-vous à la section Description des blocs fonction de la bibliothèque PLCCommunication.
Lorsque le contrôleur est configuré en tant qu'esclave Modbus, les requêtes Modbus suivantes sont prises en charge :
Code fonction Déc (Hex) |
Sous-fonction Déc (Hex) |
Fonction |
---|---|---|
1 (1 hex) |
– |
Lecture des sorties numériques (%Q) |
2 (2 hex) |
– |
Lecture des entrées numériques (%I) |
3 (3 hex) |
– |
Lecture de plusieurs registres (%MW) |
6 (6 hex) |
– |
Ecriture d'un registre (%MW) |
8 (8 hex) |
– |
Diagnostic |
15 (F hex) |
– |
Ecriture de plusieurs sorties numériques (%Q) |
16 (10 hex) |
– |
Ecriture de plusieurs registres (%MW) |
23 (17 hex) |
– |
Lecture/écriture de plusieurs registres (%MW) |
43 (2B hex) |
14 (E hex) |
Lecture de l'identification de l'équipement |
Le tableau suivant fournit la liste des codes de sous-fonction pris en charge par la requête Modbus de diagnostic 08 :
Code de sous-fonction |
Fonction |
|
---|---|---|
Dec |
Hex |
|
10 |
0A |
Efface les compteurs et le registre de diagnostic |
11 |
0B |
Renvoie le nombre de message de bus |
12 |
0C |
Renvoie le nombre d'erreurs de communication de bus |
13 |
0D |
Renvoie le nombre d'erreurs d'exception de bus |
14 |
0E |
Renvoie le nombre de messages esclaves |
15 |
0F |
Renvoie le nombre de messages sans réponse de l'esclave |
16 |
10 |
Renvoie le nombre de NAK esclaves |
17 |
11 |
Renvoie le nombre de messages occupé esclaves |
18 |
12 |
Renvoie le nombre de débordement de caractères de bus |
Le tableau suivant répertorie les objets pouvant être lus avec une requête d'identification d'équipement (niveau d'identification de base) :
ID de l'objet |
Nom de l'objet |
Type |
Valeur |
---|---|---|---|
00 hex |
Code du fabricant |
Chaîne ASCII |
Schneider Electric |
01 hex |
Code du produit |
Chaîne ASCII |
Référence du contrôleur Exemple : TM241CE24T |
02 hex |
Révision majeure/mineure |
Chaîne ASCII |
aa.bb.cc.dd (identique au descripteur d'équipement) |
La section suivante décrit les différences entre le mappage de la mémoire Modbus du contrôleur et le mappage Modbus de l'IHM. Si vous ne programmez pas la reconnaissance de ces différences de mappage dans l'application, le contrôleur et l'IHM ne communiqueront pas correctement. Il se peut alors que des valeurs incorrectes soient écrites dans les zones mémoire contrôlant les opérations de sortie.
|
FONCTIONNEMENT IMPRÉVU DE L'ÉQUIPEMENT |
Programmez votre application pour qu'elle établisse le rapport entre le mappage mémoire Modbus utilisé par le contrôleur et celui utilisé par les équipements de l'IHM. |
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels. |
Lorsque le contrôleur et l'IHM Magelis sont connectés via Modbus (l'IHM est maître des requêtes Modbus), l'échange de données utilise des requêtes composées de mots simples.
Il existe un chevauchement pour les mots simples de la mémoire de l'IHM lors de l'utilisation de mots doubles, mais pas pour la mémoire du contrôleur (voir le graphique suivant). Pour obtenir une correspondance entre la zone mémoire de l'IHM et la zone mémoire du contrôleur, le rapport entre les mots doubles de la mémoire de l'IHM et ceux de la mémoire du contrôleur doit être de 2.
Exemples de correspondances mémoire pour les mots doubles :
oLa zone mémoire %MD2 de l'IHM correspond à la zone mémoire %MD1 de l'automate, car les mêmes mots simples sont utilisés par la requête Modbus.
oLa zone mémoire %MD20 de l'IHM correspond à la zone mémoire %MD10 de l'automate, car les mêmes mots simples sont utilisés par la requête Modbus.
Exemples de correspondances mémoire pour les bits :
oLa zone mémoire %MW0:X9 de l'IHM correspond à la zone mémoire %MX1.1 du contrôleur, car les mots simples sont divisés en deux octets dans la mémoire du contrôleur.
Pour ajouter un modem au gestionnaire Modbus, consultez la section Ajout d'un modem à un gestionnaire.