Automatismes TDs Ordi L3 SPI
Automatismes TDs Ordi L3 SPI
Automatismes TDs Ordi L3 SPI
Licence SPI
Automatismes
Systmes automatiss
J. Marot
Facult des Sciences
Licence SPI
Automatismes
TD sur ordinateur N1
Programmation en langage
Functionnal Block Diagram (FBD)
J. Marot
Objectifs :
c. Ajoutez les extensions XA04 (fournit des sorties analogiques) et XN05 (sert au stockage
de donnes); vous obtenez ensuite votre diagramme et pouvez lenregistrer.
Figure 1 : lments de base dun programme FBD
Pour complter votre schma FBD, vous rpondrez au pralable aux questions suivantes :
1) Sur la maquette, quels sont les entres et sorties de lautomate qui sont cbles (relies par un
fil au reste de la maquette) ?
2) Sur les schmas de cblage que vous avez vus en cours/TD (Cf aussi lannexe), quelles
entres de lautomate sont relis les capteurs de lumire et de temprature ? Quelles sorties de
lautomate sont relies aux relais commandant lallumage et lextinction des lampes ? Quelle
sortie de lautomate permet de faire varier la puissance injecte dans la lampe de la partie
chauffage .
Prenez en compte vos rponses aux questions pralables, et les informations de base suivantes :
Une entre dite numrique reoit un signal cod sur 1 bit qui peut donc prendre deux
valeurs : 0 ou 1;
Une entre dite analogique reoit un signal cod sur 10 bits, qui peut prendre Nb valeurs,
que vaut Nb ?
Les entres numriques sont I1,,IA ; les entres analogiques sont les entres IB,,IG.
Les blocs lmentaires doivent tre comments en un ou deux mots qui dcrivent leur
fonction, et on doit dcocher laffichage du numro de bloc pour ne pas alourdir laffichage.
Votre programme .pm3 programm en langage FBD doit permettre les fonctionnalits suivantes :
A. Une entre numrique, digital input (DI) doit tre connecte une sortie numrique, digital
output (DO) qui commande louverture et la fermeture dun relais connect la lampe
chauffante ;
B. Une entre numrique doit tre connecte une sortie numrique qui commande louverture et
la fermeture dun relais connect la lampe destine lclairage ;
C. Une entre numrique doit tre connecte une sortie numrique qui commande la mise en
route et lextinction du ventilateur ;
D. Une entre analogique doit tre place sur lentre relie au capteur de luminosit, et une autre
entre analogique doit tre place sur lentre relie au capteur de temprature ;
E. Vous remarquerez quon ne peut pas relier une flche blanche une flche noire. Quelle est le
type dentre/sortie associ chaque couleur ?
F. A lcran de lautomate, grce un lment Display, indiquez si la lampe luminosit est
allume ou teinte ;
G. A lcran de lautomate, grce dautres lments Display, indiquez si la lampe
temprature est allume, affichez galement les valeurs mesures ;
H. Sur la sortie PWM de lextension XA04 doit tre place une sortie analogique XA de type
PWM. Cet lment fait partie de lensemble IN/OUT. Choisissez la bonne sortie XA en
considrant le schma de cblage de lautomate et de son extension (voir annexe);
I. La consigne donne la sortie XA PWM doit tre la suivante : , o
est une constante, et sera obtenue en plaant une entre analogique sur lune des
entres compatibles ;
J. Il faut connecter une DI une DO place en O3 : pour que la sortie XA PWM soit active, la
sortie O3 doit tre force 1 ; modifiez en consquence laffichage lampe allume pour la
partie chauffage (avec un lment logique OR).
K. Ce programme de base sera complt en fonction des questions poses dans lexercice 3.
Exercice 3
Affichez les entres analogiques en cliquant sur le bouton appropri (le plus droite sur la figure ci-
dessus).
A. Quelle est lunit des grandeurs mesures sur IB, IC et ID ? Pouvez-vous donner la plage de
valeurs dlivres par les capteurs ?
Etude de la luminosit
On souhaite crer un programme qui relie le ventilateur une mesure de luminosit : dans le cadre de
la bonne gestion de la pice principale dun appartement ou dune maison, on souhaite que le
ventilateur steigne lorsque la luminosit est assez basse : on suppose que le capteur est plac sur un
mur extrieur, la baisse de luminosit simule la tombe de la nuit. Avec elle se produit en gnral une
chute de temprature, il est alors inutile de faire tourner le ventilateur qui rafrachit la pice et on
souhaite conomiser lnergie.
Vous alternerez les modes dition E et simulation S pour tester votre programme.
Etude de la temprature
Automatismes
TD sur ordinateur N2
Langages de programmation
Exemple dune temporisation
Les temporisations sont trs utilises dans les systmes automatiss, comme dans la vie
courante. Lobjectif du TD est de programmer une temporisation dans les cinq langages
dinstructions de la norme IEC 1131-3. Dans le cadre de cet enseignement des systmes
automatiss, une temporisation peut tre utilise pour grer lallumage de la lampe de la partie
luminosit de la maquette de domotique.
;----- Sous-programme
tempo250ms
movwf t1 ;Initialisation de t1
movwf t2 ;Initialisation de t2
a. Lancez Matlab et crez un fichier Temporisation.m dans votre dossier de travail. Ecrivez un
programme qui cre une temporisation avec une boucle while. Dans la boucle while vous
incrmenterez une variable. Utilisez les commandes tic toc pour crez une temporisation de
30 sec ( 1 sec. prs). Modifiez votre programme en utilisant les fonctions clock et etime.
etime signifie elapsed time.
b. Transformez votre fichier Temporisation.m en fonction qui prend en entre la dure de la
temporisation et que vous ferez tourner dans un script Run_Temporisation.m.
3) Langage LD ladder diagram
Crez un fichier pm3 SANS les EXTENSIONS XA04 et XN05. Le langage que vous allez utiliser ne prend
pas en compte ces extensions. Choisissez le langage Ladder (pas le langage FDB).
A titre indicatif, vous pouvez consulter laide en ligne de Crouzet Logic Software.
Pour placer un lment, on clique sur une catgorie, puis sur un type, par exemple [ actif sur tat
contacteur, et on FAIT GLISSER. Les lments en dessous dune bande verte ne peuvent tre placs
que sur une bobine.
a. Faire glisser les inputs I1 et I2 au niveau de la colonne Contact 1, lignes 001 et 002.
b. Faire glisser une sortie actif sur tat sur la bobine de la premire ligne de faon ce
quelle active O1 le cas chant, faites de mme pour O2. Vous matrisez maintenant la
commande de la luminosit et la commande de la temprature.
c. En mode simulation, les lments entre et sortie passent au rouge lorsquils sont activs.
Activez les entres commandes luminosit et temprature, vrifiez que les sorties O1 et O2
sactivent leur tour.
d. Passez en mode simulation et allumez les lampes.
e. Modifiez votre programme pour introduire une temporisation avant lallumage de la lampe
luminosit . Vous placerez un lment temporisation au niveau de la colonne bobine .
Pour cela partir de la bibliothque TIMERS faites glisser un lment T. Quel est le principe
de la temporisation que vous avez choisie (par exemple AC) ?
Ecrivez votre schma squentiel GRAFCET en incluant lallumage de la lampe, linitialisation adquate
de la valeur dcrmente, et lextinction de la lampe.
Pensez-vous que la premier algorigramme puisse tre mis en uvre sur une puce comme le PIC
18F4520 ? Pourquoi ? Mmes questions pour le deuxime algorigramme.
Crez un nouveau programme .pm3, choisissez dinclure les extensions XA04 et XN05, choisissez le
langage FBD (pas le langage Ladder). Crez un programme qui allume la lampe chauffage sans
temporisation, et la lampe luminosit aprs une temporisation de 30 secondes. Pour cela utilisez un
lment Timer AC (dans la bibliothque TIMERS). Faites une simulation. Quelle est la prcaution
prendre pour que le programme fonctionne comme on le souhaite - la lampe doit steindre si elle
reste allume trop longtemps ?
Lorsque votre programme aura fonctionn en simulation, vous le ferez marcher en mode monitoring.
Pour cela, vous avez besoin de la maquette. Vous devez dabord transfrer votre programme dans
lautomate (flche jaune vers le haut), passer en mode monitoring, puis appuyer sur lecture.
En fin de TP, vous pouvez si vous avez le temps crer un va-et-vient, combin la temporisation :
deux boutons poussoirs commandent lallumage et lextinction de la lampe dans la bote luminosit.
Facult des Sciences
Licence SPI
Automatismes
TD sur ordinateur N3
Mesure de temprature
Transfert de donnes
J. Marot
Objectifs :
Exercice 1
Mettez en route le logiciel Millenium 3 et crez un nouveau fichier. Noubliez pas dinclure les
extensions XA04 et XN05. Lextension XN05 na pas t tudie jusqu prsent. Elle permet de
transfrer des donnes de lautomate vers un ordinateur par le biais dun cble rseau.
Compltez le schma FBD en indiquant o sont les entres, les sorties, et en plaant les lments
adquats (donns ci-dessous) sur le diagramme FBD;
Pour complter votre schma FBD, vous prendrez en compte les donnes suivantes :
Exercice 2
La question
La rponse
- le code fonction indique lesclave le type daction raliser (criture h10, lecture h03), dans le
cas dune trame rponse ce code fonction peut aussi tre utilis pour indiquer si la rponse contient
une erreur. Pour une rponse normale, lesclave reprend le mme code fonction que celui du
message envoy par le matre, sinon il renvoie un code erreur correspondant au code original avec
son bit de poids le plus fort 1 ;
- la donne,
-le code de vrification d'erreur appel contrle de redondance cyclique CRC16. Ce CRC est calcul
partir du message.
TCP (protocole IP numro 6) est un protocole de transport fiable , orient connexion, qui fournit
un flux d'octets fiable assurant l'arrive des donnes sans altrations et dans l'ordre, avec
retransmission en cas de perte, et limination des donnes dupliques.
Dans la fentre Trame, reprez la description des trames. En quoi cela confirme les explications qui
prcdent ? Vrifiez la cohrence entre la taille des registres et la plage de valeurs de ces donnes.
Lorsque lon configure les connexions, on a le choix entre trois options. Par dfaut, quelle est loption
choisie pour la connexion TCP ?
Exercice 3
Faites une exprience de mesure de temprature en appliquant une commande maximale en entre
de la lampe. Pour cela allumez O2 (sans allumer le gradateur !). Affichez vos mesures sous Matlab.
Caractrisez la bote chauffage par la mthode de Broda.
Ensuite, appliquez une entre 1 au niveau de O3. La PWM a alors la priorit pour dterminer la
puissance injecte dans la lampe. Faites varier le rapport cyclique de la PWM, apprciez leffet de
cette opration sur lintensit lumineuse et la vitesse de chauffage. Sur SmartCommand, observez les
modifications des donnes.
Protocole de transfert de donnes dun automate programmable
quip dune extension XN05 vers un ordinateur
Le TP ncessite deux prises Ethernet. Lune est connecte lordinateur, lautre lextension
XN05 de lautomate programmable Millenium 3.
- Adressage Ethernet:
On souhaite donner une adresse statique. Choisissez une valeur proche de celle des
ordinateurs, obtenue par ipconfig. Il faut choisir l'une des adresses suivantes :
172.17.107.100 ou 172.17.107.101 ou 172.17.107.102 ou 172.17.107.103 ou 172.17.107.104.
Pour voir si elle est libre : dmarrer -> Excuter -> cmd Entre -> ping 172.17. 107.100
Une requte est alors envoye. Si la rponse obtenue est Dlai dattente de la demande
dpass puis sil apparat que tous les paquets ont t perdus, cest que ladresse est libre et
quelle peut tre utilise. Dans le cas contraire, donnez une autre adresse.
Donnez une adresse de masque sous-rseaux. Par exemple 255.255.255.0. Le zro indique
lemplacement o on peut changer le nom de ladresse statique.
Donnez comme adresse de passerelle 172.17.107.100, la mme que ladresse IP. Elle
intervient dans la gestion du trafic de donnes entre lautomate et lordinateur.
Tout cela tant fait, on appuie sur OK !
4. Elments de base du diagramme
On souhaite se concentrer sur la mesure dune commande envoye en entre dune lampe
chauffante, et sur la mesure de la temprature dans la bote contenant cette lampe. On place
donc un analog input AI sur lentre IC de lautomate (connect au capteur de
temprature), et un lment AI sur ID (qui sera la lentre cre par le logiciel pour la PWM)
SmartConfig est un logiciel qui permet de grer lenregistrement des donnes transfres par
lautomate via son port Ethernet. En particulier il cre un fichier de donnes qui pourra tre
utilis par Matlab. Mais il peut aussi tracer des graphes.
Les actions de configurations mener sont les suivantes : On lance SmartConfig, on ne cre
pas de nouveau fichier ! Sinon on ne pourra pas faire le choix suivant:
Outils> Assistant Projet XN05 M3. On clique sur OK.
On choisit une entre avec division en 16 bits, et deux sorties. On enregistre le fichier: par
exemple Transfert_Donnees.saf
En choisissant cet assistant projet, SmartConfig a configur automatiquement une partie du
fichier. On ne fera que vrifier et complter le fichier.
6. Programmation de lenregistrement
On dfinit ici les registres dmission et de rception, la faon dont les donnes seront
prsentes lcran, etc. En pratique on configurera ou on vrifiera la configuration de
chacune des fentres suivantes de droite gauche : Trame, Donne, Programmation,
Ecran.
Vrifiez que des trames dont le nom commence par XN05 sont prsentes, et remarquez dans
les proprits de la trame que ce sont des TCP Modbus gnres automatiquement.
On vrifie que les donnes correspondant aux deux sorties et l'entre que lon veut utiliser
sont prsentes: ETH_OUT1_I1, et ETH_OUT2_I1, ETH_IN1, ou un autre nom si vous les
avez renomme.
FUNCTIONS.READ_ETH_OUT()
FUNCTIONS.READ_ETH_IN()
FUNCTIONS.WRITE_ETH_IN()
Comme titre du graphique vous pouvez choisir Evolution temprature, comme titre de laxe X
Temps, et comme titre de laxe Y Mesures. Comme priode de sauvegarde choisissez 1 heure,
comme priode denregistrement 1 sec. Dans longlet Script de lobjet, vrifiez le script dinit
de lcran : FUNCTIONS.READ_ETH_IN()
Retournez longlet Ecrans, slectionnez llment affichage de donne '1234.5'.
Choisissez comme donne associe ETH_OUT1_I1, vous pouvez choisir la couleur
des chiffres et celle du fond.
Lobjectif est ici de connecter lordinateur ladresse IP de lautomate. Cette adresse IP doit
avoir t choisie lors de la cration du fichier .pm3.
On va SmartCommand avec longlet Outils (celui situ tout en haut de la fentre de travail
SmartConfig).
On choisit Configurer les connexions , puis Default TCP Connexion Ethernet
172.17.107.100 :502 (ou bien .101:502 si par exemple vous avez choisi l'adresse en '.101'
pour votre maquette). Cela correspond ladresse IP que lon a attribue lautomate
programmable.
Ensuite on retourne SmartConfig avec Fichier -> Quitter.
On rappelle que les trames correspondant au XN05 sont gnres automatiquement. Or pour
cela lextension XN05, donc lautomate, doivent tre en fonctionnement. Donc, il faut allumer
le programme .pm3 de mesure de temprature et appuyer sur lecture.
A partir de SmartConfig, on va SmartCommand partir de Outils.
On clique sur le bouton rouge qui devient vert de faon avoir la confirmation de connexion
connect , puis on clique sur le bouton rouge qui devient vert de faon avoir la
confirmation de mise en route en marche .
Le fichier enregistr Mesures.csv doit tre prsent dans le dossier que vous avez spcifi. Sur
un fichier Matlab .m plac dans le mme dossier, on charge le fichier enregistr avec la ligne
de commande :
load Mesures.csv
Facult des Sciences
Licence SPI
Automatismes
TD sur ordinateur N4
Entre ETH
Monte en temprature
J. Marot
Objectifs :
Les objectifs de ce TD sont les suivants :
Vous partirez pour mettre en uvre ce TD des programmes .pm3 et .saf que vous avez crs
lors du TD prcdent. Assurez-vous que la donne dentre ETH IN est divise en 16 bits
(fentre Donne).
Rajoutez une entre J1 ETH. Cette entre permet de recueillir des donnes envoyes par
lordinateur. Lordinateur est ici, dans le protocole de transfert TCP, le matre, et lextension
XN05 est lesclave.
Vous mettrez jour ou vrifierez les configurations des fentres Ecran, Programmation, et
Donnes successivement
Pour chaque objet, dans longlet Script de lobjet, choisissez comme donne associe le Bit 1
de lentre ETH.
Pour ces deux objets, dans longlet Script de lobjet, ditez les scripts (soit deux soit trois) de
la faon suivante : FUNCTIONS.WRITE_ETH_IN().
FUNCTIONS.READ_ETH_OUT()
FUNCTIONS.READ_ETH_IN()
FUNCTIONS.WRITE_ETH_IN()
Assurez-vous davoir, avec les scripts SEND et RECEIVE correspondants, les fonctions de
lecture sur lentre ETH :
Et dcriture sur lentre ETH :
Une fonction dcriture est ncessaire pour transmettre une donne depuis lordinateur sur
J1 ETH, une fonction de lecture est ncessaire pour que lordinateur vrifie ce qui a t
transmis dans lautomate. Vous remarquerez que pour les lments output tels O1 ETH,
seule une fonction READ est prsente : la sortie de lautomate ne fait que transmettre une
information lordinateur, comme une mesure de temprature par exemple.
Assurez-vous que les symboles des 16 bits de sorties destins lentre ETH IN1 sont bien
prsents. Si seul un symbole est prsent pour lentre ETH IN1, cest que la division en 16 na
pas t faite lors de la cration du projet XN05 au lancement du logiciel SmartConfig.
Sur Matlab, chargez le fichier Mesures.csv avec la fonction load, et choisissez les colonnes
adquates afficher. Effectuez un filtrage moyenneur des donnes si elles sont perturbes.