MASTER GSI1 Industrielle Informatique II: Supervision Travaux

Transcription

MASTER GSI1 Industrielle Informatique II: Supervision Travaux
MASTER GSI1
Industrielle Informatique II: Supervision
Travaux Pratiques 2011-12
Master GSI – Informatique Industrielle II – Supervision 2011-2012
1/17
TP1 : Présentation d’InTouch
Introduction
InTouch, de Wonderware est une interface IHM graphique des données
d’usine et de procédé. Il permet de mettre en oeuvre et déployer des applications
de dialogue homme-machine sous Windows, totalement distribuées et intégrées
avec les autres applications de la suite Archestra: automatisation, traçabilité,
historisation des données, pilotage de Batch et visualisation via Internet.
Il saisit, affiche et archive des données de procédé et les présente à l’opérateur, idéalement dans
un format facile à utiliser. C’est un puissant interface opérateur qui prend des données des dispositifs
de contrôles/commande (API, capteurs intelligents, etc…) et les affiche pour qu’elles soient utiles à un
opérateur. On retrouve les applications d'InTouch dans tous les environnements industriels : industrie
manufacturière, process ou tertiaire, pour le contrôle-commande, la supervision ou l'acquisition de
données, etc.
InTouch, tout en étant puissant, demeure simple à utiliser une fois qu’on comprend les concepts
de base.
Pour ouvrir ce logiciel, il est suffit de double-cliquer sur le bureau le raccourci de
ou en
cliquant démarrer→Tous les programmes →Wonderware Factory Suite -->InTouch , comme illustré dessous :
Démarrage/
ouverture
d'un projet
Environnement d’InTouch
Intouch compose principalement de 3 parties : Application Manager, Window Maker et
Window Viewer.
1). Application Manager (gestionnaire d'application) : il nous permet de créer une nouvelle
application ou d’organiser les applications crées (gestion des répertoires, des paramètres globaux...)
2). Window Maker : il nous permet de développer l'application : la base de données temps-réel,
les fenêtres d’animation en utilisant les objets graphiques et leur paramétrage.
3). Window Viewer : c’est l'environnement d’exécution, avec la visualisation dynamique des
fenêtres graphiques crées dans Window Maker. Il exécute les QuickScripts, l'historisation des datas,
les liens client-serveur DDE, les protocoles de communication SuiteLink. Il lance les alarmes, gère les
recettes et les Batch de procédé (fabrication par lot)
Master GSI – Informatique Industrielle II – Supervision 2011-2012
2/17
Création d'une application
Dans l'application Wmanager il faut préalablement créer une application.
New application
Window Maker
Find application
Création d'une fenêtre synoptique dans Window Maker
Intouch est un outil graphique, il faut créer une modélisation graphique du processus à l'aide des
outils de création d'objet. Pour ceci, on crée tout d’abord, un nouveau Windows à partir de Window
Maker :
définir le nom
choisir les propriétés
initiales
Une application peut comprendre plusieurs fenêtres (appelées synoptiques de supervision).
Le changement de fenêtre se fera par programmation (bouton de commande).
Création d'objets graphiques dans une fenêtre
- Les outils de création d'objet sont illustrés comme suit :
Sélectionner les modes
dessiner les formes
texte
figure
Button
aligner les positions
changer les plans
espaces
faire ou défaire (grouper/dégrouper) un objet, une cellule
Master GSI – Informatique Industrielle II – Supervision 2011-2012
3/17
changer les orientations
Master GSI – Informatique Industrielle II – Supervision 2011-2012
4/17
Exemple :
Pour créer une vanne qui remplit une cuve:
1.Créer un triangle a l'aide de l'outil de dessin
2.Dupliquer l'élément graphique par …
3.Inverser géométriquement l'un des dessins
4.Positionner les deux triangles bout à bout, on obtient le symbole
d'une vanne.
5.Grouper (Make Cell ou Make Symbol) les deux entités de dessin
pour former un objet unique, grâce à l’outil
Ainsi on obtient très rapidement ce résultat:
Outils "Wizard" :
De nombreux objets industriels ont une représentation graphique conventionnelle. Ces éléments
pré-dessinés sont stockés dans une bibliothèque livrée avec le logiciel. Cette bibliothèque est
accessible par le bouton Wizard
du menu général.
Master GSI – Informatique Industrielle II – Supervision 2011-2012
5/17
Il suffit de sélectionner un élément élément par double-clic pour le recopier dans la fenêtre en
cours d'édition. L'objet est redimensionnable lors de sa mise en place. Une bibliothèque
supplémentaire est contenue dans Symbol Factory .
Ces éléments graphiques permettront de donner un aspect professionnel à l'application.
Master GSI – Informatique Industrielle II – Supervision 2011-2012
6/17
Définition des tagnames(base de données des variables)
Un tagname est une variable sous Intouch. Ces variables peuvent ensuite être appliquées à des
objets pour définir leurs paramètres/propriétés mais aussi utilisées dans des scripts et des protocoles de
communications.
Chaque tagname doit être définit selon un type (booléen, entier, réel, chaînes, etc..), ses
propriétés spécifiques(variable interne, système, I/O, groupe d'appartenance, limites, unités )
Pour les tagnames I/O, il faut décrire le lien logique et/ou logique qui relie le tag au matériel ou
à une application externe ( DDE ou le serveur Galaxy )
Paramétrage d'un élément graphique :
Pour attribuer une propriété dynamique à un élément graphique, il suffit d'un double-clic sur cet
élément.
.
exemple : on sélectionne l'option « Fill Color » et on déclare la variable qui influencera ce
changement de propriété.
exemple : affectation de la propriété la variable « Vanne1 » et lorsqu’elle sera à 0 la vanne sera de
couleur verte et quand « Vanne1 » passera à 1 la vanne sera de couleur marron.
Master GSI – Informatique Industrielle II – Supervision 2011-2012
7/17
La propriété "Fill Color" appliquée avec une variable analogique applique une fonctionnalité de
remplissage. Elle est tr-s utile pour simuler un réservoir.
Script
Intouch propose de programmer le séquencement des variables via son module "script". Un
script est un élément de code (procédure) de type événementiel . Les principaux événements sont :
- ouverture et fermeture de l'application
- exécution périodique
- changement de valeur d'une variable
- réalisation d'une condition à partir d'une combinaison des variables
Exemple la vanne changera d'état toutes les 5 secondes. On peut ainsi simuler le fonctionnement d'un
processus ou programmer certaines commandes.
Window Viewer
Pour lancer l’exécution d’animations d’objets, on clique sur le menu principal de Window
Maker de la position droite : Runtime !
Master GSI – Informatique Industrielle II – Supervision 2011-2012
8/17
La visualisation du processus ce fait avec l'application Viewer.
Exercices de base :
Compléter le synoptique précédent en mettant un bouton bascule industriel pour une commande
de type marche/arrêt . Faire interagir cette commande avec le fonctionnement de l'animation.
Afficher la valeur de la variable de commande sous forme textuelle (saisir le texte "#" et mettre
la propriété "user input" ). Commenter le fonctionnement lorsque l'utilisateur clique sur la valeur.
Créer une variable analogique "niveau" , l'afficher par un texte ("###.#") avec saisie opérateur
et par un afficheur de votre choix (modèle simple puis modèle Symbol Factory. Commenter le mode
de fonctionnement lorsque l'utilisateur clique sur la valeur. Fixer la valeur avec un curseur puis par
deux boutons ("+" et "-"). Afficher le graphe temporel de cette variable.
Travail de synthèse à effectuer :
On souhaite réaliser la simulation d'un mélangeur à préparation de chocolat liquide comprenant
trois entrées :
- une entrée de chocolat liquide
- une entrée de lait
- une entrée de sirop de sucre
Chaque entrée est contrôlée par une vanne qui pourra être commandée en mode manuel ou
automatique. Un débitmètre totalisateur est associé à chaque entrée, avec une remise à zéro globale
pour les 3 matières.
Master GSI – Informatique Industrielle II – Supervision 2011-2012
9/17
Le mélangeur est une cuve de capacité 100 litres avec capteurs de niveau bas (0 litres) et niveau
haut (100 litres), chauffage par serpentin à 60°C et agitateur . La commande de chauffage est contrôlée
par une vanne tout ou rien. La température de cuve est mesurée en continu.
Le mélange est déversé dans une cuve de stockage de capacité 500 l en fin de mélange.
L'ensemble est à commander en mode manuel direct ou automatique en vue de la fabrication de
recettes de mélange.
Master GSI – Informatique Industrielle II – Supervision 2011-2012
10/17
1) Définir les différentes grandeurs logiques et analogiques nécessaires à la supervision/
simulation. Les introduire dans le Tagname Dictionary .
2) Dessiner le synoptique. Vous avez le choix de faire une représentation en symboles
normalisés de type "plan" de conception en utilisant la boîte à outils graphique ou une représentation
de type "vue réelle" avec les éléments prédéfinis en bibliothèque.
3) Animer l'ensemble en mode manuel (boutons de commande ou activation directe des
symboles lorsque cela est possible) pour assurer les fonctions suivantes :
- remplissage avec les divers constituants
- agitation du mélange
- vidange dans la cuve de stockage
- chauffage
Les lois d'évolution des grandeurs seront écrites dans une tâche cyclique "Application" à la
cadence de 1s (ou mieux 100ms) .
4) On suppose que les produits entrants sont à la température de 20°C . La température de la
cuve est définie selon la loi suivante : la quantité de chaleur transférée est directement proportionnelle
à la différence de température entre la température du serpentin et celle du mélange (voir annexe pour
la méthodologie de mise en oeuvre)
Ecrire l'équation donnant l'élévation de température du mélange par unité de temps (équation
différentielle). Quelle est la température limite que peut atteindre le mélange ? Quelle loi théorique suit
la température ?
Simuler dans la tâche cyclique (période 1s ou mieux 100ms) le transfert de chaleur lorsque la
vanne de serpentin est commandée (adopter un coefficient d'apport de chaleur permettant d'obtenir une
constante de temps de l'ordre de 10 s ).
Mettre en place un écran de visualisation graphique temps réel du niveau de la cuve de
mélange, de sa température et du niveau de la cuve de stockage. Cet écran sera appelé par un bouton de
commande sur l'écran principal. Le retour à l'écran principal est obtenu par un bouton sur l'écran
graphique.
5) Mettre en place une alarme sur le niveau de cuve mélange (niveau > 105 l), sur la
température (température > 50°C) et sur la cuve de stockage (volume supérieur à la capacité).
Visualiser les alarmes dans une vue spécifique qui sera appelée automatiquement en cas
d'apparition de l'une des trois alarmes.
6) On désire automatiser le cycle de fabrication par Grafcet, le choix du mode étant spécifié par
un bouton bascule . En mode "auto", les boutons de commande manuelle seront invalidés.Le cycle
automatique sera :
- remplissage des 3 constituants (remplissage séquentiel ou parallèle pour les étudiants les plus
avancés)
- mise en chauffe jusqu'à la température de 50°C avec agitation
- vidange dans la cuve de stockage
Ecrire le Grafcet puis le traduire en script dans la feuille "Application"
7) Fixer les recettes de fabrication à partir de l'outil spécialisé "Recipe Manager" :
- créer un "livre de recettes" (fichier) fixant les valeurs de chocolat, lait et sirop.
- prévoir le choix de la recette par l'opérateur en utilisant un bouton et la fonction script
"RecipeSelect".
- envisager un changement de recette automatique à chaque cycle de fabrication en mode
automatique.
Master GSI – Informatique Industrielle II – Supervision 2011-2012
11/17
TP 2 Supervision: Echange DDE Intouch- Excel/Serveur OPC
Cette deuxième partie a pour objectif de mettre en place une communication du superviseur
avec des E/S réelles .
Liaison DDE de InTouch vers Excel
Le logiciel InTouch est nativement serveur de données DDE. Tout logiciel possédant une
interface client de type DDE peut s'y connecter.
Les champs du lien DDE sont les suivants:
–
Application name : VIEW (nom imposé)
–
Topic name : TAGNAME (nom imposé)
–
Item name: nom du tag exporté par Intouch
Manipulation :
Ces caractéristiques sont introduites dans une cellule de la feuille excel sous la forme (formule
Excel):
1) Ouvrir une feuille Excel . Récupérer les valeurs de niveau et de température dans des
cellules via un lien DDE formule
=View|TAGNAME!nom_du_tag
Observer le bon fonctionnement de la liaison.
2) Lien programmé sous VBA : Mettre en place un bouton de commande sur Excel. A chaque
appui sur le bouton, écrire une fonction VBA pour ouvrir un lien DDE vers InTouch et récupérer en
lecture les valeurs des deux variables ainsi que l'heure d'acquisition. Former un tableau de ces données
et les représenter sous forme graphique s. Prévoir un bouton pour la remise à zéro des données.
3) Travail avancé : implanter en VBA une tâche cyclique sous Excel permettant de récupérer
les valeurs de niveau, température et heure toutes les 5 secondes lorsque le processus est en mode
"marche"
Liaison DDE de Excel vers InTouch
On suppose maintenant qu'Excel est serveur de données et que l'application InTouch est cliente,
c'est à dire que les données sont demandées par l'application de supervision.
Dans InTouch, les tags dont les valeurs sont fournies par Excel (ou tout autre logiciel DDE)
doivent être déclarés en I/O en précisant les trois champs DEE (Application, Topic, Item).
Manipulation :
- mettre un bouton bascule sur Excel permettant de faire le choix "Auto/Manu". Afficher
sa valeur dans une cellule dont vous définirez le nom (menu insertion--> nom)
- dans InTouch, déclarer la variable correspondant à cette cellule en type I/O ; afficher
avec tous les détails la variable utilisée.
- définir ses paramètres de couplage à Excel par le menu "Access Name"
Master GSI – Informatique Industrielle II – Supervision 2011-2012
12/17
- .passer en mode "runtime" et tester l'action du bouton "Auto/Manu" sur l'interface de
InTouch.
Liaison DDE de Kepware vers InTouch
Le logiciel Kepware V4 est la référence mondiale des logiciels de couplage OPC vers des
automates et modules E/S.
Il sera utilisé ici pour piloter une carte entrée/sortie sous le protocole Modbus. Cette carte
possède 4 voyants Led et quatre poussoirs (E/S booléennes dénommées inputs et coils dans le
formalisme Modbus).
Gnd
S4
S3
S2
S1
JP3
Alimentation
9V
1 2 3
v4
JP2
1 2
1
JP5
MAX232
1
µC ATMEL
Prise réseau
de terrain RS232
JP4 JP1
1
2
3
4
v3
v2
v1
Sorties Leds
(coils)
r v
4 3 2 1
Poussoirs
(inputs)
RESET
@0x
Gnd
E4
E3
E2
E1
L'objectif de la manipulation est d'interragir avec l'application de production de chocolat faite
sous InTouch en temps réel.
Le cahier des charges est le suivant :
- démarrer un cycle de production par un Bouton poussoir
- afficher les alarmes sur deux Leds
Le schéma de fonctionnement est :
Gnd
S4
S3
S2
S1
v4
v3
v2
v1
JP3
JP4 JP1
1 2 3
JP2
1 2
1
JP5
MAX232
1
µC ATMEL
1
2
3
4
r v
4 3
2 1
RESET
@0x
Gnd
E4
E3
E2
liaison
matérielle
RS232
Serveur
Kepware
liaison
OPC ou DDE
Superviseur
InTouch
E1
Station de travail
Etant donné les restrictions de InTouch10 (couplage DDE seul), le serveur OPC Kepware est
utilisé en couplage FastDDE (format propriétaire Wonderware) et non OPC.
Dans ce mode les paramètres sont (mêmes écrans de pour Excel):
Master GSI – Informatique Industrielle II – Supervision 2011-2012
13/17
- domaine : "localhost"
- application : "servermain"
- topic : "_ddedata
- item : le nom complet de l'item (arborescence depuis la racine du serveur)
Master GSI – Informatique Industrielle II – Supervision 2011-2012
14/17
Manipulation :
- modifier les tags concernés pour qu'ils soient accessibles en E/S
- lancer le logiciel Kepware et ouvrir un nouveau projet.
- paramétrer le projet pour que les leds et boutons soient gérés par le serveur.
- sauvegarder le projet (fichier .opf à rendre avec le CR ) ; le serveur d'entrées/sorties est
déjà opérationnel
- vérifier le bon fonctionnement en affichant la valeur du bouton 0 dans Excel (utiliser
une formule DDE)
- si tout est OK, l'ensemble devrait être opérationnel ! A vérifier !
Paramétrage du serveur :
La carte communique sur le réseau Modbus avec les paramètres suivants :
- protocole Modbus ASCII
- vitesse 19200 bauds
- 8 bits , pas de parité, 2 bits de stop
Note : il n'est pas impératif de décrire toutes les leds et boutons, ni de les regrouper dans des
branches. Les Tag Led0, Led1 et Bouton0 peuvent être décrits directement au niveau de la carte.
Master GSI – Informatique Industrielle II – Supervision 2011-2012
15/17
Quelques idées pour la simulation du chauffage de la cuve
Principes industriels de chauffage d'une cuve (liste non exhaustive):
- apport d'une puissance calorifique constante (thermo-plongeur à résistance électrique), quel
que soit le remplissage de la cuve .
Soit q(t) la puissance calorifique (quantité de chaleur par unité de temps) , m la masse contenue
dans la cuve et c sa capacité thermique massique . L'équation de fonctionnement est :
d θ(t )
mc
= ∑ q entrant (t ) – ∑ q sortant (t)
dt
Si les pertes sont nulles ou négligeables, on obtient pour q (t)=q0 constante la solution
suivante :
q
θ(t ) = θ 0 + 0 t
mc
La réponse est une rampe partant de la température initiale (20°C dans l'énoncé).
Pour la simulation, il suffit d'incrémenter la variable de température à intervalle régulier (1s par
exemple). Il est aisé de prendre en compte le volume réel de la cuve (variable interne) en considérant
que la densité est de 1 et la capacité thermique massique de 1 aussi. Choisir une puissance adaptée
pour obtenir une température de 50°C en un temps raisonnable !
- apport de la puissance calorifique par un circuit serpentin interne à la cuve.
L'apport calorifique reste constant quelle que soit le remplissage de la cuve. L'apport se fait
exclusivement par conduction thermique avec le mélange ; soit Rth la résistance thermique entre le
serpentin et le mélange. Si on considère que la source chaude est une source de température uniforme
(60°C ici), la puissance cédée au mélange est :
1
q (t) =
(θ
(t) − θmélange (t))
R th serpentin
L'équation de fonctionnement générale devient :
d θ(t )
1
mc
=
(θ
− θ (t))
dt
Rth serpentin
D'où l'équation différentielle du système :
d θ(t )
1
1
mc
+
θ (t) =
θ
( t)
dt
Rth
Rth serpentin
C'est une équation différentielle du premier ordre de la forme :
d θ(t )
τ
+ θ(t ) = θ serpentin
avec τ constante de temps τ = mc R th
dt
Simulation : pour un intervalle de temps discret Δ t , nous aurons :
θ(t+ Δ t) −θ(t )
τ
+ θ(t) = θ serpentin (t ) d'où θ(t+ Δ t) = ( 1− Δ t ) θ(t ) + Δ t θ serpentin (t)
τ
τ
Δt
Il suffit de calculer cette ligne périodiquement (par exemple 1s ou 100ms )
- apport de la puissance calorifique par double paroi (bain marie)
Dans ce cas, la résistance thermique est inversement proportionnelle à la hauteur de cuve (seule
la partie de la paroi en contact avec le mélange transmet de la chaleur) donc au volume/masse de
Master GSI – Informatique Industrielle II – Supervision 2011-2012
16/17
mélange. La constante de temps est donc invariante en fonction du remplissage. C'est la solution la
plus simple pour la simulation de la cuve ! Choisir une constante de temps acceptable (10s pae ex).
Master GSI – Informatique Industrielle II – Supervision 2011-2012
17/17