Objectifs

Utiliser un Automate Programmable Industriel d'entrée de gamme comme support d'entrées/ sorties déportées pilotées à partir d'un automate maître ou bien à partir d'un micro-ordinateur de type PC.

Mettre en évidence les trames de communication afin d'être capable de diagnostiquer des défauts de communication lors d'opérations de mise en œuvre ou de maintenance

Le matériel nécessaire

L'automate

L'interface d'entrées/ sorties ModBus utilisée ici est un automate Schneider-Electric TWIDO Compact TWDLCAA24DRF. Cet API alimenté en 230V~ dispose de 14 entrées 24VDC et de 10 sorties relais.

Le port RS485 intégré (N°1) sera utilisé pour le paramétrage et le développement du programme. Le TWIDO a alors été équipé d'un module d'adaptation RS485 supplémentaire sur le port N°2 de référence TWDNAC485D à sortie Mini-DIN 8 broches.

Le système maître

Le maître ModBus utilisé sera un micro-ordinateur de type PC équipé d'un port série RS232 en connecteur Sub-D 9 broches, sous un système d'exploitation Windows de la génération NT : NT, 2000, XP et supérieurs.

Connexion d'un PC à un automate TWIDO

Le raccordement entre le port RS232 du PC et le port RS485 du TWIDO est du même type que pour la programmation, à l'aide du câble adaptateur TSXPCX1031, configuré en position OTHER-MULTI = 1. La connexion multipoint au lieu de point-à-point permet au PC de ne pas attendre les signaux CTS et DSR de la part du Twido Esclave.

La longueur maximale des connexions RS485 non isolées sur les automates TWIDO est de 200m.

Attention : Dommages électriques potentiels de l'automate :

Ne connectez pas le câble de communication à l'automate avent de la connecter au PC.

Connectez toujours le câble au PC en premier.

Limitations de la couche Modbus du Twido

Adresses des esclaves : 1 à 247

Bits : 128 bits sur demande

Mots : 64 mots de 16 bits sur demande

Broches	Base RS485	Option RS485	Option RS232-C
1	A (+)	A (+)	RTS
2	B (-)	B (-)	DTR
3	nc	nc	TxD
4	/DE	nc	RxD
5	/DPT	nc	DSR
6	nc	nc	Gnd
7	0 V	0 V	Gnd
8	5 V	5 V	5 V
Cordon de mesure des signaux RS485

Signaux utiles

La documentation en ligne de TwidoSoft fournit le brochage des connecteurs mini-DIN à 8 broches :

Les conducteurs du cordon de mesure ont été dénudés en leur milieu afin d'y attacher les pinces Grip-fil de l'oscilloscope, et d'observer le signal RS485.

Configuration

L'automate

Il existe deux types de périphériques ModBus compatibles avec TwidoSoft :

Maître :	transmet une requête ModBus et demande des réponses aux périphériques exclaves. Compatible avec l'instruction EXCH.

Exclave :	répond aux requêtes ModBus d'un maître ModBus.

Le TWIDO ne nécessite aucune programmation pour devenir esclave ModBus, simplement une configuration.

Les automates Twido gèrent l'utilisation des modes ModBus ASCII et ModBus RTU. Le nombre de bits de données sélectionnés dans la boîte de dialogue Paramétrage des communications de l'automate détermine le mode activé :

8 bits de données : protocole ModBus RTU	7 bits de données : protocole ModBus ASCII

Connecter le PC sur le port de communication TER (N°1) ;

Lancer TwidoSoft et créer une nouvelle application ;

Configurer le port N°2 en Modbus RTU (8 bits) ou ASCII (7 bits) à la vitesse de votre choix : ex. 9600 ou 19200 bps ;

Créer un programme de base qui permet d'agir sur les variables internes et sur les E/S :

Recopier les 14 entrées %I0.0 à %I0.13 dans les bits 14 internes %M0 à %M13

Recopier les 10 bits internes %M16 à %M25 sur les 10 sorties %Q0.0 à %Q0.9

Placer les 4 constantes suivantes dans les mots %MW0 à %MW3 : 0x1234, 0x5678, 0x1000, 0xABCD

Incrémenter %MW4 chaque 1/10e de seconde

Incrémenter %MW6 sur chaque front montant de %I0.0

(* IMAGES ENTRÉES / SORTIES DANS BITS INTERNES *) LD 1 [ %M0:14 := %I0.0:14 ] [ %Q0.0:10 := %M16:10 ] (* AFFECTATION CONSTANTES DANS 4 MOTS *) LD 1 [ %MW0 := 16#1234 ] [ %MW1 := 16#5678 ] [ %MW2 := 16#1000 ] [ %MW3 := 16#ABCD ] (* DÉTECTION FRONT MONTANT %S5 (CHAQUE 1/10E SECONDE) DANS %M31 *) LD %S5 ANDN %M30 ST %M31 LDN %S5 ST %M30 (* INCRÉMENT %MW4 CHAQUE 1/10E SECONDE *) LD %M31 [ %MW4 := %MW4 + 1 ] (* INCRÉMENT %MW6 SUR CHAQUE MISE À 1 DE L'ENTRÉE 0 *) LDR %I0.0.0 [ %MW6 := %MW6 + 1 ] Enregistrer l'application

Connecter logiciellement l'API et y transférer le programme

Placer l'automate en mode RUN

Quitter TwidoSoft

L'utilitaire Modbus Maître

Pour les liaisons RTU, télécharger sur Internet un logiciel d'interrogation Modbus maître. On peut trouver :

ModbusView sur http://www.saphir.fr ou http://www.zdnet.fr

ModbusView sur http://www.oceancontrols.com.au

ModScan32 sur http://www.win-tech.com , en évaluation 30 jours

...

Configurer la communication avec le même protocole que celui défini dans le Twido :

ModBus RTU (8 bits) ou ASCII (7 bits), parité paire, 1 bit de stop, contrôle de flux matériel gérant le RTS, ...

Les utilitaires spécialisés Modbus sont programmés de manière à gérer le RTS du port série en mode Toggle, c'est-à-dire d'activer le RTS automatiquement à l'émission. A ce moment-là, la ligne RS485 quitte le mode réception (haute impédance) et est mise en charge sous +/- 5V différentiels.

L'écran de configuration ci-contre montre les options de configuration par défaut et adaptés pour les manipulations.

Manipulations

Communication ASCII avec le Terminal dédié

Saisir des trames Modbus dans la zone d'édition, et appuyer sur [Entrée] pour l'émettre.

Lorsque la case « Formater en Modbus ASCII » n'est pas cochée, l'étudiant doit calculer lui-même le LRC et le saisir en fin de chaîne.

Lorsque cette case est cochée, seuls les caractères Modbus autorisés sont édités, et le LRC est calculé et envoyé automatiquement.

Les 3 trames présentées ci-contre sont :

écriture de 10 bits à partir de %M10

Erratum : selon le programme Twido fourni, il faudrait écrire en %M32 afin d'activer les sorties.

lecture de 14 bits à partir de %M0

lecture de 7 mots à partir de %MW0

Relevé des signaux échangés

Relever, à l'aide d'un oscilloscope isolé du secteur, les signaux RS485 échangés entre le PC et l'API.

Communications RTU ou ASCII avec un utilitaire spécialisé Modbus

Sélectionner une trame d'après sa fonction d'interrogation :

Fct 01 / 02 : lire 14 bits aux adresses %M0 à %M13 renvoie l'état des entrées %I0.0 à %I0.13

Fct 03 / 04 : écrire 3 bits '101' aux adresses %M34 à %M36 affecte l'état des sorties %Q0.2 à %Q0.4

Fct 05 / 06 : lire la valeur des mots %MW0 à %MW6

Fct 15 / 16 : écrire d'autres valeurs dans les mots %MW0 à %MW3, puis vérifier l'écriture par une lecture

Afficher la trame émise, noter les résultats obtenus et analyser les données.

Ci-dessous un exemple de lecture de %MW0 à %MW6 avec l'utilitaire ModScan32 :

On peut reconnaître les données du Twido :

Les constantes écrites dans le programme : 1234h, 5678h, 1000h, ABCDh.

Le mot suivant %MW4 change à chaque requête, puisqu'il est incrémenté chaque 1/10e de seconde.

Le dernier mot correspondant à %MW6 vaut 4 car il y a eu 4 manoeuvres de l'entrée %I0.0.

A noter que ModScan32 décale l'adresse mémoire : son adresse locale 1 correspond à interroger l'adresse distante 0.

Basculer le TWIDO en mode Modbus ASCII (par TwidoSoft) ;
effectuer la même manipulation de lecture de %MW0 à %MW6 avec l'utilitaire ModScan32 connecté en mode ASCII :

On peut noter :

Le caractère « : » de début de trame

les 2 caractères de fin de trame : fin de ligne [0D] et de saut de ligne [0A]

Gestion d'un API Telemecanique TWIDO en esclave Modbus	Manipulations Sect° 2635 Page 5/5

Edité sur OpenOffice, suite bureautique gratuite http://fr.openoffice.org	Manip-Modbus.i2635.v100.sxw - 30 sept 05 - Rév. 162

Stéphane Gaut

2004-11-24T21:27:58

Stef G.

Stef G.