mise en place de standardssupervision de salles...
Post on 13-Sep-2018
214 Views
Preview:
TRANSCRIPT
1
ArmelleFLASSAYER
Projet de Fin d’Etude
Mise en place de standards automates
Supervision de salles blanches (Confidentiel)
EKIUM
3 Allée des droits de l’homme
69500 Bron
Responsable de stage : M. LAZIAN
INSA de STRASBOURG, Génie électrique
Professeur encadrant : Mme NGO
Stage du 30 janvier 2012 au 27 juin 2012
2
Fiche d’objectifs.
Le stage se compose de deux travaux distincts :
- La mise en place de standards de programmations pour automates
Siemens.
- Le développement d’une supervision de salles blanches.
La mise en place de standards (Projet B0100)
Descriptif :
Amélioration des méthodes et capitalisation des ressources dans les domaines de
la pharmacie, de l’agroalimentaire et de la métallurgie.
Objectifs :
- Rédiger un manuel sur les règles de programmation automate
- Développer des standards de programmation automates utilisables dans la
majorité des projets (sous STEP 7).
- Développer un outil de génération automatique des standards
- Mettre en place pour chacun un dossier de tests types
- Rédiger leur documentation
Affaire Novo Nordisk : Supervision de salles blanches
Description :
Mise en place de la supervision de salles blanches dans une entreprise
pharmaceutique.
Objectifs
- Rédaction et mise à jour d’Analyses Fonctionnelles
- Développement des OPC et de base de données supervisions (PDB)
- Programmation des défauts pour les instruments de mesure
- Création et validation d’écran de supervision.
3
Résumé.
J’ai fait partie, durant 5 mois, du pôle Intégration et Système de la société
EKIUM. Cette division s’occupe majoritairement des affaires nécessitant des
compétences en automatisme.
J’ai eu deux sujets à traiter simultanément, le premier, seule et en totale
autonomie, le second en intégrant une équipe d’automaticiens et de développeurs.
Sujet 1 : Mise en place de standards automates.
Bien que chaque affaire soit unique certaines fonctionnalités demandées par les
clients sont récurrentes. L’objectif de mon stage est de mettre en place des
blocs standards de programme qui réalisent ces fonctionnalités et qui soient
facilement réutilisables. Dans un souci de gain de temps sur le développement
des projets j’ai mis au point un outil logiciel de génération automatique des
appels des blocs à partir de la saisie de la configuration de l’installation.
Sujet 2 : Développement d’interface de supervision.
Ce second projet est destiné à une société pharmaceutique danoise qui possède
une implantation à Chartres. L’objectif est de développer un programme pour
superviser les salles blanches. Ce programme doit permettre de traiter les
différents défauts possibles, de les archiver dans une base de données pour
consultation ultérieure … De plus, les écrans de supervision doivent être
interactifs avec ce qui se passe en salle de production. Pour élaborer ce projet il
faut tenir compte des contraintes liées au domaine pharmaceutique.
4
Abstract.
I was a member, for 5 months, of the Integration and System pole of the
EKIUM company. This division works mainly on projects requiring skills in
automation.
I had two subjects to handle simultaneously. For the first one, I was alone and in
total autonomy. For the second I have joined a team of automation specialists
and developers.
Subject 1 : Implementation of standard program blocks.
Although each business is unique some features asked by the customers are the
same. The aim of my training is to set up standard program blocks which realize
these features and are easily reusable. In order to save time during the
development of the projects I finalized a software tool for the automatic
generation of the block calls from the configuration of the installation.
Subject 2: Development of an interface of supervision.
This second project is for a Danish pharmaceutical company which possesses a
factory in Chartres. The aim is to develop a program which will allow to supervise
rooms, to treat the different defaults, to store them in a database for future
access and finally to set up interactive screens of supervision. To elaborate this
project it is necessary to know specific rules relative to the pharmaceutical
domain.
5
Table des matières
Fiche d’objectifs. ................................................................................................................... 2
Résumé. ..................................................................................................................................... 3
Abstract. .................................................................................................................................. 4
Remerciements. ...................................................................................................................... 7
I. Introduction. ....................................................................................................................... 8
II. Présentation de l’entreprise ......................................................................................... 9
II.1 Historique. ................................................................................................................... 9
II.2 Chiffres et activité 2010. ..................................................................................... 10
II.3 Organisation du groupe. ......................................................................................... 10
II.4 Organisation au sein de l’entreprise. ................................................................... 11
II.5 Situation géographique .......................................................................................... 13
II.6 La politique de l’entreprise ................................................................................... 13
II.6.1 QHSE : Qualité, hygiène, sécurité et environnement. ............................ 13
II.6.2 L’accueil. ............................................................................................................. 15
II.6.3 Les horaires. ..................................................................................................... 16
II.6.4 Le pointage. ....................................................................................................... 16
III. Mon STAGE. .................................................................................................................. 18
III.1 Formation à l’habilitation électrique. ................................................................ 18
III.2 Rédaction des règles de programmation. ....................................................... 20
III.3 Mise en place de standards automates pour automates Siemens. ............ 21
III.3.1 STEP 7. ............................................................................................................. 21
III.3.2 Standard : la recherche, l’étude de l’existant, leur conception. ....... 25
III.3.3 Rédaction du document associé au standard. ........................................ 26
III.3.4 Le standard moteur. ..................................................................................... 28
III.3.5 Le monostable. ............................................................................................... 30
III.3.6 Le ToR. ............................................................................................................ 32
III.3.7 La mesure analogique. .................................................................................. 34
6
III.3.8 Mise en place d’une plateforme de test. ................................................. 38
III.3.9 La génération automatique des instances blocs. ................................... 38
III.4 Projet pour Novo Nordisk. ................................................................................. 40
III.4.1 Présentation rapide de l’entreprise, description du contexte. .......... 40
III.4.1 Le FMS08F (Facility Monitoring System) ................................................ 41
III.4.2 Rédaction du document de l’affaire. ........................................................ 46
III.4.3 BMS09A (Build Management System). .................................................... 46
III.4.4 Code implémenté derrière les vues. ......................................................... 48
IV. Conclusion. ...................................................................................................................... 50
Lexique. .................................................................................................................................. 52
Annexes. ................................................................................................................................ 53
7
Remerciements.
Tout d’abord j’adresse mes remerciements à M. Philippe LANOIR président
directeur général, M. Laurent PERRIN directeur général et M. Jean-François
AZNAR directeur général pour m’avoir permis d’effectuer mon stage au sein de
leur entreprise EKIUM.
Je tiens aussi à saluer toute l’équipe d’EKIUM pour la qualité de son accueil et
son aide tout au long de mon stage, et particulièrement :
M. Vincent LAZIAN, mon maitre de stage, pour m’avoir proposé un sujet de
stage intéressant, pour m’avoir conseillée et supervisée tout au long de mon
stage.
M. Manuel MOUCHON pour m’avoir orientée durant les premiers jours de mon
stage et pour m’avoir fourni le matériel et les moyens nécessaires à la bonne
réalisation de celui-ci.
Melle Agathe DECOENE, la responsable formation et développement des
compétences pour son accueil.
Mme Vanessa FAGOTIN, secrétaire, pour son implication dans toutes les
démarches administratives.
M. Ludovic ALEXANDRE, le responsable projet Novo Nordisk pour ses conseils
et informations concernant le projet.
M. Ludovic LAVIGNE, ingénieur automaticien, pour ses explications apportées
sur la supervision (IFIX) et la création d’OPC.
Enfin je remercie les professeurs de l’INSA de Strasbourg pour la qualité de
leur enseignement.
8
I. Introduction.
Le stage de fin d’étude d’ingénieur est l’occasion d’intégrer une entreprise avec
une mission correspondant à celle d’un ingénieur en poste. Il permet aussi d’être
confronté à des responsabilités, avec des missions plus importantes que celles
rencontrées dans les précédents stages. Le projet de fin d’étude est aussi la
dernière étape pour obtenir après délibération d’un jury notre diplôme
d’ingénieur en génie électrique et rentrer dans la vie active.
Etudiante en 5ème année à l’INSA de Strasbourg, et souhaitant m’orienter dans
le domaine de l’automatisme, j’ai eu la chance de trouver une entreprise
correspondant à mes attentes : EKIUM qui est une société de conseil en
ingénierie se situant à Bron (69). Le stage se déroule sur 5 mois du 30 janvier
2012 au 27 juin 2012.
Durant ces 5 mois j’ai travaillé sur deux projets que je présente dans ce rapport.
Ces deux missions étaient différentes mais complémentaires sur le plan
technique.
Le premier travail consistait à mettre en place des règles de programmation
automate et de réaliser des standards pour automate. Un standard est dit créé
lorsque son programme, sa documentation, son dossier test et sa génération sont
faits.
Le second était une affaire pour un client : Novo Nordisk pour lequel j’ai dû
développer une partie de la supervision des salles de production. Mon travail
consistait à programmer sous STEP7 la gestion des défauts pour les capteurs,
créer des bases de données pour accéder aux valeurs mises dans l’automate
depuis un écran de supervision et de créer ces écrans de supervision.
La création des blocs standards était un travail que j’ai effectué seule en
autonomie tandis que pour le projet de supervision j’ai intégré une équipe de
développeurs et automaticiens. Dans ce rapport je vais, dans un premier temps,
présenter l’entreprise, son organisation, sa culture. Puis je détaillerai les tâches
qui m’ont été confiées, c’est-à-dire la création des standards et la mise en place
d’une supervision de salles blanches destinées à la production de médicaments.
Plusieurs acronymes sont utilisés dans ce rapport, le lexique page 52 peut être
consulté pour rappel de leur signification.
9
II. Présentation de l’entreprise
II.1 Historique.
La société a été créée en 1990 sous le nom de
Cira Concept par quatre fondateurs.
Spécialisée au départ dans la régulation
automatique et le contrôle industriel, Cira
Concept a connu des phases de développement
organique mais aussi des phases de croissance
externe.
Trois des fondateurs (Philippe LANOIR actuel président, Laurent PERRIN, Jean-
François AZNAR) restent dirigeants de la société, qui a consolidé sa croissance
en devenant EKIUM en 2008.
Aujourd’hui, La volonté de la direction d’EKIUM est de conforter son
positionnement à l’international ainsi que de poursuivre sa croissance en
intégrant des compléments d’activités et/ou des compléments géographiques.
EKIUM intervient dans l’ingénierie de maîtrise d’œuvre, le conseil, l’étude,
l’assistance technique et l’intégration dans le domaine de l’industrie et du
tertiaire. L’entreprise peut réaliser les projets dans leur globalité grâce à sa
pluridisciplinarité, ou n’en réaliser qu’une partie en collaboration avec d’autres
entreprises.
Les domaines d’intervention de l’entreprise sont :
Les installations générales
L’électricité
Les courants faibles
L’instrumentation
Figure 1 : Logo d'EKIUM
10
L’automatisme et la supervision
L’informatique et les réseaux
La robotique de laboratoire
II.2 Chiffres et activité 2010.
Figure 2 : Activité EKIUM
II.3 Organisation du groupe.
EKIUM est principalement présent en France mais possède aussi des
structures en Roumanie et en Pologne. Ces deux derniers pays représentent
un quart du chiffre d’affaires. Il possède plusieurs sites en France : à Paris,
Martigues, Bron, Pierrelatte, Grenoble, St Avold, Cadarache, Pau, Le Havre,
Marseille.
C’est sur le site de Bron que j’ai effectué mon stage.
11
II.4 Organisation au sein de l’entreprise.
A Bron, il y a six branches principales. Celles-ci sont organisées de manière à
regrouper les personnes par type de compétences (cf organigramme page
suivante) :
- Finance
- Ressources humaines
- Fonctions support/qualité
- Commerce
- Ingénierie et Intégration
- Implémentations de proximité
Faisant un stage en automatisme, j’ai été affecté à la branche « Ingénierie et
Intégration » qui se divise en différents pôles. Ceux-ci sont au nombre de trois :
- Intégration et système
- Ingénierie industrielle
- Ingénierie tertiaire
Chaque pôle comprend différents services. Pour ma part j’ai travaillé dans le
service automatisme/informatique qui dépend du pôle Intégration et système.
Le pôle Intégration et système est sous la direction de M. Lazian qui est aussi
mon maitre de stage. Dans ce service sont gérées toutes les affaires qui ont un
lien avec l’automatisme (programmation d’automate, supervision, opération de
maintenance, …).
12
DG opérations
Jean François YOT
Finance
François ROCHE
Comptabilité
Systeme D'information
Administration des ventes
Ressources Humaines
Pierre Colombel
Recrutement
Service du personnel
Fonctions Support/Qualité Laurent PERRIN
QHSE
Informatique
Achats/Sous traitance
Marketing
Commerce
Philippe LANOIR
Industrie
Philippe LANOIR
Tertaire
André PEREZ
Avant Vente - Proposition
Philippe ROLLIN
Ingénierie et Intégration
Jean Francois AZNAR
Ingénierie Industrielle
Jacques PELLETIER
Ingénierie Tertiaire
André PEREZ
Intégration et Système
Vincent LAZIAN
Implantations de Proximité
Lionel BESSON
Lyon Grand Est
Lionel BESSON
Bron
Grenoble
St Avold
Pau
Méditerranée Grand Sud
François VEILLON
Martigues
Pierrelatte
Cadarache
Paris Val de Seine
Laurent APETOGBOR
Paris
Le Havre
Direction Générale
Philippe LANOIR
Contrôle de gestion
Figure 3 : Organigramme EKIUM Bron
13
II.5 Situation géographique
Le site de Bron se compose de deux bâtiments, un pour la recherche et un pour le
développement.
J’ai travaillé dans le bâtiment de développement.
Figure 3 : EKIUM, site de Bron
II.6 La politique de l’entreprise
II.6.1 QHSE : Qualité, hygiène, sécurité et environnement.
Les prestations et interventions d’EKIUM sont réalisées conformément aux
référentiels les plus exigeants de l’industrie. En effet aujourd’hui la qualité et la
sécurité sont des maîtres mots dans le domaine industriel, et permettent aux
sociétés qui ont entrepris ces démarches de certifications de se démarquer de
leurs concurrents.
C’est pourquoi le groupe EKIUM, et Cira Concept avant lui, ont mis en place une
politique et un système Qualité depuis 1994 qui a débouché en Mars 1996 à la
certification ISO 9001 v2000 (Qualité) renouvelée en Mars 1999.
Ce système qualité certifié assure en permanence la cohérence et l’application de
processus de fabrication correct tout au long des projets traités et garantie ainsi
un produit conforme aux exigences du client et des législations, le cas échéant.
14
Ainsi durant l’ensemble des phases d’un projet, des vérifications, revues de
conceptions, créations de documents obligatoires, permettent un traçage du
déroulement de l’affaire avec un suivi des tâches effectuées, les modifications
apportées, les causes et leurs effets…
Ce suivi permet de:
- S’assurer que la conception est conforme aux exigences initiales.
- Détecter le plus tôt possible les déficiences éventuelles et de déclencher les
actions correctives.
- De valider les étapes de conception et ainsi de limiter les coûts et les heures
passées sur un projet.
- D’autoriser la poursuite du projet et validant la cohérence des phases déjà
réalisées.
Ces tâches, effectuées par le leader technique et le responsable d’affaire,
permettent également des comparaisons avec des projets précédemment validés et
en état de fonctionnement.
Le groupe EKIUM possède également une certification MASE (Manuel
d’Amélioration Sécurité Entreprise), qui garantit sa démarche SHE (Sécurité,
Hygiène industrielle, Environnement) et sa volonté de pratiquer un management dont
l’objectif est l’amélioration permanente et continue des performances Sécurité
Santé Environnement des entreprises.
MASE, est un système créé par les industriels qui cherchent à :
- Améliorer la sécurité au travers d’un système de management adapté à
l’entreprise.
- Mieux s’organiser, mieux communiquer, en améliorant les conditions
d’intervention des salariés.
- Mettre en place un langage commun afin de progresser ensemble.
15
EKIUM est aussi certifié UIC (Sécurité), par son affiliation à l’Union des
Industries Chimiques, garantissant ainsi son respect des normes les plus
rigoureuses lors de la conception et la réalisation de produits.
De plus, EKIUM utilise les grands standards de validation que sont les procédures
FDA, GAMP, BPF, cGMP, par exemple, applicables dans des domaines pointus comme
la chimie ou la pharmacie. Ces procédures de validations permettent un suivi précis
tout au long du projet et une traçabilité complète de tous les documents.
Ces « bonnes pratiques » sont associées avec une certaine connaissance des
procédés « Batchs » (production industrielle par lots) et de sa norme ISA S88.02,
complétée par la collaboration d’EKIUM avec des associations comme l’ISA
(www.isa.org), le forum Batch francophone (fbf.controlchaingroup.com) ou encore
l’ISPE (www.ispe.org).
L’ensemble de ces pratiques et certifications ont permis à Cira Concept et
permettent encore aujourd’hui à EKIUM de pouvoir travailler et d’obtenir des
projets avec des clients à la renommée nationale et internationale.
II.6.2 L’accueil.
Lors de mon arrivée au sein d’EKIUM, j’ai été prise en charge avec d’autres
arrivants par des responsables du service des relations humaines. Ils nous ont
expliqués les principes de fonctionnement EKIUM ainsi que la façon de rendre
compte de notre travail comme les fiches SA (Suivi d’Activité) à remplir. Une
adresse mail professionnelle a été attribuée à chacun d’entre nous. Le système de
pointage nous a été présenté.
De plus pour chaque arrivant, une personne est chargée de l'intégration des
premiers jours. Pour ma part, c’est M. Manuel Mouchon qui a été chargé de me faire
découvrir le fonctionnement de l’entreprise.
16
II.6.3 Les horaires.
Dans le cadre de mon stage, la convention stipulait que je faisais des semaines de
35H mais les cadres avec lesquels j’ai eu l’occasion de collaborer faisaient des
semaines à 37,5H ce qui leur ouvrait droit à des RTT.
La consigne pour les employés d’EKIUM est d’arriver le matin entre 8H et 8h30. Et
le soir de repartir au plus tôt à 17H. Pour le midi la pause doit se faire entre 12h et
14H et doit durer au maximum 1H30.
Un badge est délivré à chacun des employés. Ce badge est en fait un passe qui
permet d’accéder à tous les locaux de l’entreprise car tout est en permanence
verrouillé.
Les badges permettent seulement d’ouvrir les portes mais ne servent pas de
référence comme pointage pour les heures de travail. Pour cela un logiciel disponible
sur l’intranet de l’entreprise est à renseigner par chacun.
II.6.4 Le pointage.
Chaque salarié d’EKIUM est tenu de pointer et répartir selon les affaires suivies
ses heures de travail.
Agresso est l’outil de gestion de travail. Il est disponible en ligne sur l’intranet de
l’entreprise et permet de gérer :
- Les différents frais (déplacement).
- Les dossiers d’affaires : répartition des temps passé, répartition des frais
engagés.
- Les demandes de titres restaurants en ligne.
Lorsqu’un salarié pointe, il doit remplir les champs suivants :
- L’ordre de travail : Il contient différentes informations. Il se présente sous
la forme suivante : xxxxyyyzz.
o xxxx étant la référence du service dans lequel nous travaillons,
o yyy la branche
o zz le numéro de l’activité (une fiche regroupant les différents ordres
de travail est mise à la disposition des salariés pour que ceux-ci
pointent correctement).
17
- Un descriptif de l’activité (par exemple : réunion, projets internes, recherche
& développement…)
- Le nombre d’heures passées sur l’activité.
Le pointage se fait généralement en fin de semaine car une fois qu’il a été envoyé il
n’est plus possible de le modifier et la feuille de pointage s’étend sur une semaine.
Ce système de pointage permet à l'entreprise d'avoir une comptabilité analytique
grâce au suivi des heures passées sur les affaires lui permettant de réagir si des
dépassements de temps apparaissent et peut être une aide à l'établissement des
devis pour des affaires similaires.
De plus, chaque jour travaillé ouvre droit pour le salarié à un ticket restaurant dont
60% du prix total est pris en charge par l'entreprise. Agresso valide ces droits et
permet d'attribuer le nombre de titres restaurant de chaque salarié en fonction du
nombre de jours ouvrés.
18
III. Mon STAGE.
Avant de travailler sur mon sujet de stage, j’ai été sensibilisée et formée aux
risques électriques.
III.1 Formation à l’habilitation électrique.
EKIUM attache une grande importance à la sécurité de la personne (politique du
zéro accident). Etant automaticien nous sommes amenés à travailler sur des
automates, dans des armoires qui peuvent être sous tension.
Le risque électrique en milieu professionnel, pour un automaticien est toujours
présent. Une méconnaissance des risques encourus et un comportement inapproprié
devant certains risques peut avoir de graves conséquences.
Dans sa démarche volontaire de maîtrise des risques EKIUM fait passer à tous ses
salariés qui vont être amenés à travailler dans des locaux sous tension ou à
intervenir sur du matériel électrique leur habilitation. C’est dans ce contexte qu’au
tout début de mon stage j’ai été amené à passer mon habilitation H0 (exécutant non
électricien), BR (chargé d’intervention).
Cette habilitation est requise pour pouvoir travailler sur du matériel BT (Basse
Tension) mais aussi pour pouvoir travailler à proximité de la HT (Haute Tension).
Dans un premier temps, il faut suivre une formation théorique : avec un formateur,
mais aussi mise à disposition de documents et de logiciel d'auto formation.
Le passage de l’habilitation se décompose en deux phases : une première étape qui
consiste à valider nos connaissances théoriques et une deuxième étape dite pratique
qui ne concerne que les habilitations Br et B2.
La première étape se présente sous forme de quiz, il faut avoir un taux de bonnes
réponses d'au moins 75% pour que le test soit réussi. Il existe différents quiz en
fonction du niveau de l'habilitation passée. La deuxième étape consiste à faire des
manipulations sur un équipement.
La pratique se décompose en trois parties :
Identification des défauts : une platine présentant des défauts est mise à
notre disposition. Il faut identifier quel élément est défectueux et pourquoi
il est défectueux (l’objet et la cause). Par exemple le contacteur KM1 est
défectueux car il est mal alimenté.
Ensuite vient la consignation, c’est-à-dire isoler électriquement l'équipement
défectueux.
19
Tout d’abord la mise hors tension est à effectuer, puis à vérifier à l’aide d’un
vérificateur d’absence de tension (VAT). Après une VAT, le bon
fonctionnement de l’appareil vérificateur de l'absence de tension doit être
contrôlé.
La dernière partie consiste à régler correctement un matériel de protection
en fonction de la charge qui se situe en aval. Pour ma part, j'ai dû régler un
relais thermique.
Le formateur veille à la bonne application de ce qui a été vu durant la théorie. Les
trois phases de la manipulation doivent se faire dans le respect des règles de
protection car la maquette présente une zone de voisinage : port des EPI
(Équipement de protection Individuelle) obligatoire, vérifier le matériel et les
équipements avant leur utilisation et parfois après (c’est le cas pour le VAT).
A la fin de la session si la pratique et la théorie ont été réussies, un titre est
délivré et il est valable 3 ans (au bout de 3 ans un recyclage doit être fait). Il
faudra toujours être muni de ce titre qui servira de certificat en cas de mission
chez un client.
J’ai réussi à obtenir les habilitations HO et BR de l'entreprise.
Après l’obtention de mon habilitation il m’a été demandé de corriger des erreurs
présentes dans le cours et les questions de la partie théorique. Les erreurs
portaient surtout sur des changements de réglementation : disparition du H0V et
B0V.
L’habilitation étant un pré requis pour que je puisse commencer mon stage, j’ai suite
à son obtention pu commencer la mise en place de standards.
20
III.2 Rédaction des règles de programmation.
Pour uniformiser la manière de programmer entre les différents automaticiens il
m’a été demandé de mettre en place des règles de programmation. Ce document
devra définir les principes et différentes règles de programmation à mettre en
œuvre lors de la programmation d’API.
Une fois leur rédaction achevée ces règles devront être respectées par l’ensemble
des personnes programmant sur automate.
Dans un premier temps pour connaître les manières, les habitudes en termes de
programmation des salariés je suis allée à leur rencontre (audits).
Ces audits m’ont permis de comprendre leur manière de travailler, quelles règles et
principes ils appliquent lors de la programmation mais aussi de connaître leurs idées
pour la mise en place de standards.
Grâce aux diverses informations collectées, j’ai rédigé un document servant de
référence pour la programmation d’automates.
L’objectif de la mise en place de ces règles est d’établir les règles, les bonnes
pratiques ainsi que de faciliter la lecture d’un programme, sa compréhension pour
une personne extérieure au projet.
Cette standardisation doit permettre à une personne arrivant pour une intervention
sur une installation qu’elle ne connaît pas, de comprendre rapidement ce qui a été
implémenté dans l’automate pour pouvoir modifier ou ajouter des éléments
(opérations de maintenance, modification d’installation, rajout de matériel…). De
plus elle assure une homogénéité des développements.
Des contraintes doivent être respectées entre autre pour la déclaration de
variables, le choix des mnémoniques, les commentaires du programme. Des règles de
programmation ont aussi été mises en place.
Le document a été rédigé de la manière suivante :
Dans un premier temps j’aborde les règles générales de programmations
(Détail des règles qui sont normalement récurrentes pour n’importe quel type
de programmation)
Puis les règles de programmation API.
o Ce chapitre détaille les règles de nommage pour les mnémoniques,
équipements, variables …
o Il spécifie aussi des règles sur les variables : l’ordre d’écriture,
lecture, l’ordonnancement…
21
o La structuration du programme pour assurer une cohérence dans les
projets
o et enfin un rappel sur les différents types de langage et leur
utilisation.
III.3 Mise en place de standards automates pour automates Siemens.
La mise en place de standards se décompose en trois parties :
- La recherche, l’étude de l’existant.
- La mise en place d’un prototype (rédaction de la documentation,
programmation, mise en place d’une génération automatique).
- Le développement des standards.
Le logiciel utilisé pour la configuration et le développement est:
- STEP 7
III.3.1 STEP 7.
La première tâche sur laquelle j’ai travaillé a été de me familiariser avec STEP7 que
je ne connaissais pas, car la majorité des projets chez EKIUM sont réalisés sur des
automates Siemens. Une documentation m’a été fournie pour connaître les
principales possibilités qu’offraient les automates de la gamme Siemens et je me
suis auto formée.
STEP7 est l'environnement de développement spécifique des automates Siemens il
permet de programmer un automate en différents langages normalisés.
Les principaux langages étant :
le langage à contact ou ladder,
l’instruction ou list
et le langage à instructions logiques.
En général un programme se décompose en plusieurs réseaux (Network). Les
réseaux sont exécutés cycliquement.
22
III.3.1.a Les différents langages.
Je vais présenter les trois langages principaux qui sont ceux dont je me suis servie
durant mon stage.
Le langage à contact : le plus intuitif des trois langages pour les personnes ayant
des connaissances en électricité. Les entrées sont représentées par des
interrupteurs ouverts ou fermés (si l’entrée est inversée) et les sorties par des
bobines ou des bascules. Dans ce langage sont présentes également des opérations
unaires : l’inverseur NOT, l’attente d’un front montant ou descendant…
Le langage Log (logigramme) est un langage graphique utilisant les symboles de
l’électronique numérique. Ce langage est assez intuitif.
Le langage List est un langage textuel. C’est le langage le plus proche du
comportement interne de l’automate. Le programme se compose d’une suite de lignes
d’instructions, chacune suivi d’un opérande (et un seul).
Comme il n’est pas possible d’utiliser plusieurs opérandes dans une même ligne, pour
faire c = a et b, il faut écrire :
U a
U b
= c
(U vient du terme Und qui signifie « Et » en Allemand).
Avec chacun de ces langages il est possible de faire des opérations plus ou moins
complexes comme des sauts :
SPA (saut inconditionnel)
SPB (saut si le résultat logique de la condition amont est vrai)
SPBN (saut si le résultat logique de la condition amont est faux)
Le langage List permet de manipuler plus facilement les mots et les tableaux que les
autres langages.
Exemple (tiré du code source du standard analogique que j’ai développé):
L #I_EANA //Entrée analogique brute
L #I_SeuilHorsPlage // Valeur à partir duquel on considère la mesure hors plage
>I //Test supérieur
= #HorsPlage //Stockage du résultat (1=seuil hors plage dépassé)
SPBN R4 //Saut à l’étiquette R4 si résultat = 0
23
L #BorneSup //Sinon chargement de la valeur maximale possible
T #Mesure //Stockage de celle-ci dans mesure
R4 //Etiquette R4
III.3.1.b La configuration matérielle.
Le matériel utilisé dans le projet est déclaré et défini, c’est l’étape de la
configuration matérielle.
Elle se décompose en plusieurs phases :
En premier définir le rack support
Ensuite l’alimentation
Puis la CPU de l’automate (avec la bonne référence et le bon numéro de
version)
Puis intégrer les différents modules entrées/sorties nécessaires
J’ai eu l'occasion de réaliser deux configurations matérielles durant mon stage, une
première pour tester mes standards et une seconde pour le projet Novo Nordisk.
III.3.1.c L’organisation du programme.
La logique chez Siemens est différente de chez télémécanique avec PL7pro,
environnement que je connaissais.
Chez Siemens les fonctions développées sont organisées en OB (bloc d’organisation),
DB (bloc de données), FB (bloc fonctionnel), FC (fonction).
DB : Les Data Bloc ou blocs de données peuvent être utilisés à travers le programme
pour sauvegarder des données dans la CPU. Deux types de DB sont présents : Les
DB dit globaux et les DB d’instance.
Un DB global va stocker des valeurs qui pourront être lues ou écrites par tous les
OB, FB et FC. Le DB d’instance est quant à lui associé à un FB et seul le FB qu’il
instancie peut y accéder.
FB : Le Fonctional Bloc ou bloc fonctionnel est une fonction à laquelle un espace
mémoire est alloué.
24
OB : les Organizational Bloc ou blocs organisationnels.
L’OB1 est l’OB principal, c’est ce bloc organisationnel qui va être exécuté de manière
cyclique. Tous les appels aux blocs ou fonctions sont faits dans l’OB1. Les autres
OBs sont appelés de façon périodique (OBs d’horloge) ou sur apparition de certains
événements (OBs d’erreur, par exemple lors de débordements d’index).
Les VAT (table des variables) permettent d’afficher la valeur courante des
variables de l’automate lors de la mise au point ou du dépannage. Elles sont
sauvegardées avec l’application Simatic.
Les UDT (User Defined Type ou type de données défini par l’utilisateur)
permettent d’introduire la notion de structure de données que l’on rencontre dans
de nombreux langages informatiques.
25
III.3.2 Standard : la recherche, l’étude de l’existant, leur conception.
Afin de compléter ma formation sur STEP7 et de commencer mon travail de mise en
place de standards, j’ai étudié des projets existants.
EKIUM a mis en place lors de certains projets des standards. Les blocs standards
sont des blocs qui réalisent des fonctions principales et qui de ce fait reviennent
souvent (par exemple : il existe un standard moteur qui va être réutilisé dès qu’il est
question d’un moteur).
Mon travail a été d’étudier trois projets différents (St Michel, Merial, ISOVER) et
de comparer les différents blocs standards présents dans ces projets pour ensuite
faire une liste des avantages et inconvénients de ces blocs. Ce travail a été long et
fastidieux car je ne possédais pas assez d’expérience en matière de programmation
sur automate pour avoir suffisamment de recul face aux programmes. De plus, je ne
possédais pas toujours la dernière version du projet et certains standards
contenaient encore des erreurs.
Dans un premier temps, j’ai été conseillée par Manuel Mouchon, ingénieur projet, qui
m’a expliqué le fonctionnement des projets et m’a aidé à faire le tri dans les DB.
Suite à ce travail de tri et d’analyse, j’ai édité une liste des différents standards à
créer ainsi que des fonctionnalités à implémenter.
Les différents standards à développer :
- Moteur
Statut Moteur
Moteur
- Monostable : - Bloc pouvant faire pour les vannes, vérins…
Statut Monostable
Monostable
- Tout ou rien :
Alarme ToR (avec ou sans réarmement)
- Analogique :
Conversion échelle en points en échelle physique
Détection seuils
Mesure 4 seuils
Filtrage
26
Les différents blocs à créer ainsi que les fonctionnalités à rajouter ayant été
sélectionnées reste le travail de développement.
A savoir qu’un standard se décompose en quatre étapes :
- Son programme automate
- Sa documentation associée
- La création de son dossier de tests
- La génération du bloc
III.3.3 Rédaction du document associé au standard.
Pour que les standards soient utilisables rapidement, j’ai rédigé une documentation
de mise en œuvre pour chacun d’entre eux.
Toujours dans un souci d’uniformisation tous ces documents ont été rédigés suivant
un même plan.
- Les outils nécessaires : Le logiciel utilisé lors de la création du standard.
- Un descriptif : Dans cette partie est décrit les fonctionnalités faites par le
bloc.
- L’interface : Un rappel des entrées, sorties, entrées/sorties et variables
statiques est fait. Ceci est accompagné d’une brève description de l’ensemble
de ces variables. Ce chapitre renseigne aussi si les variables sont remontées à
l’IHM (Affectation de l’attribut S7_m_C).
- Un schéma fonctionnel : Un schéma fonctionnel est une vue qui regroupe
l’ensemble des fonctionnalités assurées par le bloc sous forme simplifiée.
- Vient ensuite un aperçu du bloc.
- Et enfin un dossier de tests : Ce dernier chapitre liste l’ensemble des tests à
faire pour valider le fonctionnement du bloc.
27
J’ai choisi de rédiger le document de la manière suivante car la description permet
tout de suite de comprendre ce qui se passe à l’intérieur du bloc. Le schéma
fonctionnel est plus visuel, il reprend ce qui est dit dans la description et permet en
plus de voir l’ordre des étapes.
Comme j’ai décrit ce qui se passait à l’intérieur du bloc j’ai mis les chapitres
« Interface » et « Bloc » qui eux donnent un aperçu « externe » (les entrées,
sorties physiquement disponibles pour le câblage…). Le dossier de tests est là pour
attester et prouver le bon fonctionnement du bloc.
Voici un exemple de schéma fonctionnel :
Figure 4 : Schéma fonctionnel du monostable
28
III.3.4 Le standard moteur.
Un standard moteur existait déjà mais celui-ci n’était plus à l’ordre du jour : des
variables déclarées n’étaient jamais utilisées, des fonctionnalités étaient
manquantes, des parties contenaient des erreurs.
Pour le bloc moteur, j’ai choisi par rapport à l’existant de rajouter des compteurs de
fonctionnements (car ceux-ci sont souvent demandés par les clients), de mémoriser
l’état manuel lorsqu’on repasse sur le mode automatique, corriger des erreurs de
fonctionnement du standard actuel, et enfin réordonner le programme… tout en
respectant les règles de programmation établies précédemment.
Le moteur standard avant remaniement.
Le moteur standard actuel.
Deux modes de marche (automatique ou
manuelle)
Deux modes de marche (automatique ou
manuelle)
Simulation du retour de marche. Simulation du retour de marche.
Durée de la temporisation de la
discordance ajustable
Durée de la temporisation de la
discordance ajustable. Ceci permet de
déclencher une alarme après un certain
laps de temps si une discordance d’ordre
est toujours présente.
Coupure de la commande uniquement pour
un défaut de discordance
Coupure de la commande manuelle et
automatique en cas de défauts (sécurité,
discordance, disjoncteur…).
Compteurs de fonctionnement (du temps
en marche et du nombre de démarrage du
moteur) avec remise à zéro.
Sauvegarde de la commande manuelle sur
la commande automatique lors du passage
du mode manuel en mode automatique.
Le moteur redémarrait sans acquittement
si un défaut de condition permanente ou
de sécurité apparaissait et disparaissait.
Obligation d’acquittement pour pouvoir
redémarrer le moteur suite à un défaut.
Coupure de la commande automatique et
manuelle en cas de défaut.
29
Voici une liste des autres fonctionnalités qui ont été gardées : traitement du défaut
discordance, élaboration d’un « mot » de statuts en fonction de l’état du moteur.
L’idée d’utiliser des mots (soit deux octets) pour le traitement de statuts est
intéressante car elle permet de minimiser les couts de licence. Un seul mot est
remonté (en fonction de sa valeur nous connaissons l’état du moteur) au lieu de
plusieurs bits.
Remarque : le moteur actuel fait une mémorisation de l’acquittement s’il y a un
défaut.
Si une personne acquitte et qu’il n’y a pas de défaut alors l’acquittement n’est
pas mémorisé.
Si une personne acquitte et qu’un défaut est présent, l’acquittement est
mémorisé. Dès que le défaut disparaît l’acquittement est pris en compte et la
mémorisation disparaît.
Il m’a été demandé de programmer le moteur de la façon énoncée ci-dessus, ceci m’a
surprise car si le défaut retombe alors l’équipement peut se remettre en route.
Pour ma part, je n’aurai pas fait de mémorisation et aurai attendu une impulsion (ou
un front montant) sur l’entrée d’acquittement pour pouvoir acquitter le défaut.
30
III.3.5 Le monostable.
Ce bloc standard permet de gérer un monostable quel que soit son type. Par
exemple, prenons le cas d’une vanne, le type correspond soit à une vanne fermée par
manque d’énergie (FME) ou soit à une vanne ouverte par manque d’énergie (OME).
Pour qu’il n’y ait pas de soucis lors de la commande de la vanne il faut renseigner la
patte d’entrée du bloc qui correspond au type de monostable utilisé (Dans le cas du
standard que j’ai mis en place cela correspond à la patte I_OME).
Ce bloc gère également l’élaboration du signal de commande d’ouverture et de
fermeture, la visualisation du statut (vanne fermée, ouverte, en défaut…), et la
surveillance des signaux de fin de course du monostable.
Tout comme pour le moteur, deux modes de fonctionnement ont été implémentés :
un mode automatique et un mode manuel.
Les équipements n’étant pas toujours à disposition lors des phases de tests, une
entrée simulation (pour générer un retour de fin de course) a été ajoutée.
Les défauts générés :
Défaut de discordance (non équivalence entre la commande et le retour
d'information sur l'état)
Si une discordance d’ordre est détectée par exemple un utilisateur commande
l’ouverture du monostable mais il reçoit en retour une information comme quoi le
monostable est fermé alors un défaut de discordance apparaît. Il est possible de
mettre une temporisation avant déclenchement du défaut (le temps généralement
mis par défaut est de 3 secondes).
J’ai fait en sorte qu’un tel défaut provoque l’arrêt du monostable.
Conditions mode automatique
Si le mode automatique est actif ou si l’on bascule sur ce mode, les conditions,
appelées I_CondAuto dans le programme, doivent être à « 1 » pour pouvoir faire
sortir le monostable de sa position de repos. Si une des conditions pour le mode
automatique n’est plus remplie, l’alimentation du monostable est coupée et celui-ci
retourne dans sa position de repos.
Par contre ces conditions n’ont aucune influence sur le mode manuel dans
l’élaboration de la sortie.
31
Informations sur le statut du monostable
Le statut du monostable est donné par deux types de valeurs :
une valeur qui donne l’état du monostable (ouverte, fermée, discordance)
une valeur indiquant les défauts liés au fonctionnement du monostable.
Chacun des deux octets de statuts donnent quatre informations différentes. Par
exemple l’octet sur l’état du monostable informe si celui-ci est dans sa position de
repos ou non, si un défaut de discordance est présent ou non et s'il a été acquitté
ou non.
Compteur de manœuvres
Le compteur de manœuvre est utile pour surveiller « la durée de vie de
l’équipement » anticiper une future défaillance et aider à la maintenance préventive
du système.
Il s’incrémente de un pour un mouvement complet (c’est-à-dire pour un aller-retour).
L’astuce suivante a été utilisée :
Figure 5 : Compteur de manœuvres du standard monostable
32
PT PT PT
O_Alarme
I_ToR
PT = Temps de presélection
J’ai choisi de le faire de la manière suivante bien qu’il existe dans STEP7 une
fonction qui détecte les fronts montants car l’utilisation de la fonction impliquait
des déclarations supplémentaires de variables internes.
Ici, je suis partie du fait que dans STEP7 les programmes s’exécutent de manière
cyclique dans l’ordre chronologique des instructions. En initialisant FM_Cde à « 0 »,
ce morceau de programme permet d’incrémenter à chaque commande le nombre de
manœuvres.
III.3.6 Le ToR.
Le bloc ToR est un bloc facile d’utilisation. Il a pour fonction de surveiller un point
de mesure avec suppression du battement d’un capteur (temporisation) et
déclencher une alarme. C’est-à-dire l’alarme sera déclenchée si la durée de
dépassement du seuil est supérieure au temps renseigné dans la temporisation. Il
existe deux blocs ToR différents.
ToR de « base »
Il respecte ce qui a été dit précédemment.
Tout comme pour le moteur et la vanne une variable de type entier (int) permet de
connaître le statut du ToR.
Quatre états différents sont différenciés
Il n’y a pas de défauts alors le statut vaut 0.
Il y a un défaut : l’alarme est active et non acquittée, le statut vaut 10.
Il y a un défaut : l’alarme est active et acquittée, le statut est de 15
Il n’y a pas de défaut mais il y en a eu : le défaut est apparu et a disparu sans
nécessiter d’intervention alors le statut vaut 20.
Figure 6 : Chronogramme du bloc ToR de "base"
33
ToR avec acquittement
Ce ToR est fait avec le même principe que le ToR de « base ». La différence vient
du fait qu’il possède une mémorisation du défaut et une entrée acquittement qui est
aussi mémorisée.
Le fonctionnement est le suivant :
-Il n’y a pas de défaut, un appui est fait sur l’entrée d’acquittement, dans ce cas-là
rien ne se passe.
- Il y a un défaut, un appui est fait sur l’entrée d’acquittement, une variable
mémorisation acquittement reste à « 1 » tant qu’un défaut est présent. Elle
retombe automatiquement à « 0 » dès qu’il n’y a plus de défauts.
Figure 7 : ToR avec mémorisation du défaut
PT PT
O_Alarme
I_ToR
PT = Temps de presélection
PT
IO_Acq
34
III.3.7 La mesure analogique.
Différents traitements sont à faire sur une entrée analogique. Vérifier la validité
de la mesure acquise, c’est-à-dire contrôler qu'elle soit bien comprise entre la
borne inférieure et la borne supérieure des données valides que renvoie le capteur.
En effet un capteur en cas de défaillance peut renvoyer des valeurs sans aucune
signification (car une marge de fonctionnement est laissée au-delà des valeurs max
et min de mesures). Si la valeur est hors plage alors celle-ci est limitée.
Deux blocs standards distincts ont été créés pour l’acquisition de la mesure. Ils
permettent de limiter la mesure si celle-ci n’est pas comprise dans la plage
d’acquisition. De plus le second bloc possède un bit d’alarme qui passera à « 1 » dès
qu’un ajustement a été fait.
Suite à cela la mesure peut être convertie en unité physique.
Le principe est le suivant : Un capteur envoie une information, cette information est
traitée par un transmetteur qui a pour rôle de normaliser la mesure envoyée par le
capteur (mettre au format 4-20mA par exemple). Le transmetteur envoie ensuite
l’information à une carte d’entrée qui convertit la mesure en un nombre de points.
C’est cette mesure qui est récupérée à l’entrée de l'automate.
Hors avoir la mesure en nombre de points n’est pas très « parlant ». C’est à ce
niveau qu’intervient la mise à l’échelle en unité physique. Cette remise à l’échelle
est nécessaire pour qu’une personne travaillant à la supervision interprète la mesure
du capteur.
Par exemple, si la valeur renvoyée est de 6 mA, alors la carte va convertir ces 6 mA
en un nombre de points. Les caractéristiques des cartes Siemens qui nous
intéressent pour le calcul sont les suivantes : la mesure en points sera comprise
entre 0 et 27648 points (max).
Le calcul pour connaitre le nombre de points qui correspond aux 6mA est le suivant :
(6-4)*(27648-0)/(20-4)= 3546 points
Grace à cette formule nous connaissons la valeur en nombre de points de la mesure.
La mise à l’échelle pour convertir ce nombre de points en unité physique est faite
suivant la formule suivante :
35
Légende :
ConsigneU : consigne en grandeur physique
SANA : la consigne exprimée en points
Xmin : valeur minimale de la mesure en points
Xmax : valeur maximale de la mesure en points
Ymin : limite inférieur de la consigne en unité physique
Ymax : limite supérieur de la consigne en unité physique
Le nombre de points est déclaré en entier par contre la mesure physique est du
type réel.
Pour une échelle en température allant de -10°C à 20°C on en déduit que nos 6mA
correspondent à -6,15°C. C’est cette valeur qui est renvoyée à l’écran de
supervision.
Mode simulation.
Comme pour chaque standard qui le permet un mode de simulation est prévu.
Dans ce mode, la mesure en unité physique prend alors la valeur renseignée dans la
zone de simulation. Pour rappel la simulation est très intéressante pour tester le
programme lorsque les équipements ne sont pas à disposition (ce qui est souvent le
cas sur les phases de développement). La simulation permet une première validation
de la programmation réalisée.
Seuillage.
Le standard travaille avec des nombres de points.
C’est donc après la conversion en nombre de points qu’il faut placer ce bloc
standard. Le seuillage gère 4 seuils d’automatisme (très haut, haut, bas, très bas).
Définition d’un seuil d’automatisme : Un seuil d’automatisme correspond à un niveau
minimal requis pour que le matériel puisse fonctionner correctement (exemple d’une
pompe qui ne peut pas tourner si le niveau d’eau est trop bas).
Les seuils haut est très haut sont gérés de la manière suivante : si la mesure
renvoyée par le capteur ou la valeur de simulation est supérieure au seuil haut et/ou
très haut les bits respectifs de ces deux seuil passent à 1. Sachant que si le bit de
seuil très haut est actif alors celui du seuil haut l’est aussi.
36
Pour les seuils bas et très bas c’est l’inverse, si la mesure ou valeur de simulation
sont en dessous des seuils bas et très bas alors les bits respectifs de ces deux
seuils passent à 1. Si le seuil très bas est actif, le seuil bas l’est aussi.
Surveillance des seuils : statut et alarme.
Pour activer la gestion des seuils, les entrées HHen, Hen, Len et LLen qui sont les
entrées de validation doivent être validées. Si celles-ci ne le sont pas alors aucun
contrôle ne sera fait et il n’y aura pas de mise à un des bits qui informent sur les
états des seuils.
Hyst_out est une valeur d’hystérésis commune à tous les seuils qui est calculée
d’après l’équation :
Hyst_in : Hystérésis en pourcentage.
Hyst_out : Hystérésis en unité physique.
Chronogramme :
H
HH
LLThr
LThr
PV
HThr
HHThr
LL
L
HHThr - Hyst_out
HThr - Hyst_out
LThr + Hyst_out
LLThr + Hyst_out
37
Comme le montre le schéma ci-dessus afin d’éviter le bagottage , les alarmes se
déclenchent dès que leur seuil limite est atteint (HThr dans le cas du seuil haut)
mais elles ne peuvent être acquittées que si la mesure est retournée à son seuil
limite plus ou moins hyst_out.
Le filtrage.
Dans certains cas la mesure analogique peut osciller autour d’un point de mesure, le
filtrage permet de limiter ces variations si elles sont trop rapides.
Il est effectué si l’entrée autorisation est validée (I_Filtrage_Valid=1). Il est
calculé via un filtre du premier ordre selon un temps Tps_Retard qui est à définir
en entrée (Ce temps correspond au minimum au temps nécessaire pour que la sortie
vaille 63% de la valeur en entrée).
La formule du filtrage est :
Sortie = Part de l’ancienne valeur + Part de la nouvelle valeur acquise
Le taux de filtrage est égal à :
Le temps d’échantillonnage correspond au temps passé entre deux appels du bloc
filtrage.
Ces différents blocs : acquisition de la mesure, conversion en unité physique,
simulation, seuillage, filtrage peuvent être utilisés séparément ou alors être réunis
c’est ce que j’ai fait pour créer la fonction mesure 4 seuils qui est une combinaison
de l’ensemble de ces cinq blocs. Cette fonction permet d’acquérir une entrée
analogique brute, la filtrer et faire sa mise à l’échelle en unité physique. Les
échelles de mesure sont réglables depuis la supervision. Ce bloc permet également
38
de générer 4 seuils d’alarmes exprimés en unité physique ainsi que de gérer les
statuts de la mesure et les alarmes pour la supervision.
III.3.8 Mise en place d’une plateforme de test.
Le logiciel Step 7 permet de simuler le comportement d’un automate et la mise en
place d’une VAT (Table d’Animation de Variables) pour contrôler l’état des entrées
sorties.
La simulation ne fonctionne pas toujours (j’ai pu constater des dérives au niveau du
temps assez importantes) j’ai donc mis en place une plate-forme de test avec un
vrai automate. Deux étapes sont nécessaires pour la mettre en oeuvre : la
configuration de la CPU, et la mise en place d’un réseau Ethernet.
Matériel utilisé : Station SIMATIC 300 :
- CPU 315-2DP.
- CP 343-1 Lean (carte de communication).
III.3.9 La génération automatique des instances blocs.
Dans une démarche permanente de gagner du temps lors du développement de
projets, j’ai mis en place un outil de génération automatique des blocs. Cet outil
permet de générer le code source des blocs standards utilisés. Le système repose
sur le renseignement des variables externes d’entrées/sorties des différents
standards utilisés.
Pour faire cette génération j’utilise une possibilité offerte par Siemens qui est de
compiler et générer du code via des fichiers sources. Les champs spécifiques à
l’équipement (ceux qui vont changer d’un équipement à un autre) sont remplis grâce
au publipostage.
Le publipostage est une fonctionnalité des logiciels de traitement de texte
permettant de remplacer les champs dits de fusion d’un fichier texte par des
valeurs prédéfinies. Ces valeurs prédéfinies sont celles renseignées dans le fichier
Excel.
J’ai développé sous Excel un fichier de saisie des caractéristiques de l’équipement
et les macros de traitement pour générer les équipements.
Ainsi pour générer le code d’une affaire utilisant les modules standards il faut
remplir le fichier Excel avec les caractéristiques de chacun des équipements (ces
caractéristiques dépendent de l’installation et de la demande du client) puis grâce à
un filtre un tri est fait pour générer les équipements souhaités.
39
Ce système permet de gagner du temps et de limiter les erreurs possibles.
Le document Excel est un document qui regroupe les informations concernant
l’ensemble des équipements présents dans l’entreprise. Il contient différentes
colonnes à renseigner, certaines sont communes à tous les blocs standards et
d’autres sont spécifiques.
Les colonnes spécifiques possèdent un entête qui indique quel standard est
concerné. Les colonnes qui n’ont pas un entête spécifique doivent être remplies quel
que soit le standard utilisé.
Par exemple pour générer quatre blocs standards tout ou rien les colonnes suivantes
doivent être remplies (repérées par un ovale bleu ci-dessous) :
Figure 8:Génération d’un bloc ToR.
Le fichier source qui va être généré doit respecter une certaine mise en forme et
certaines contraintes de langage.
C’est pour quoi en fonction de ce que l’utilisateur rentre comme information une
partie des colonnes est remplie automatiquement, celles-ci sont colorées en bleu ce
qui permet leur repérage immédiat.
Dans le cas de l’exemple ci-dessus les colonnes BM et BO sont remplies
automatiquement en fonction de ce qui a été renseigné précédemment.
Ce sont ces colonnes qui seront lues et qui permettront de faire le publipostage.
Une fois le document Excel correctement rempli, la génération peut être lancée.
Attention toutefois un ordre doit être respecté lors de la génération.
Avant toute chose, il est impératif de commencer par créer les éléments
constituants (liste des variables) et ensuite renseigner ce qui est mis en entrée,
sortie… sur ces éléments.
Ce qui signifie que pour générer correctement les différents blocs il faut en
premier générer leur DB et ensuite générer le FC.
40
III.4 Projet pour Novo Nordisk.
III.4.1 Présentation rapide de l’entreprise, description du contexte.
Novo Nordisk est une entreprise pharmaceutique Danoise. Celle-ci s’est implantée
partout dans le monde. En France elle possède une usine de production à Chartres,
son siège social à Paris. Novo Nordisk est spécialisée dans le traitement du diabète,
de l‘hémostase, l’hormone de croissance. C’est l’un des leaders mondiaux pour la
production d’insuline.
Le projet confié à EKIUM consiste en la construction d’une nouvelle ligne de
production d’ampoules (médicaments) sur le site de Chartres. Un BMS ainsi qu’un
FMS sont requis pour les nouvelles zones de production. Ce BMS est appelé le
BMS09A est le FMS est appelé FMS08F.
Le travail consiste à réaliser un système de contrôle pour le BMS09A et le
FMS08F, ceci inclut la supervision, le développement automate, les tests,
l’installation et la qualification.
Ce travail étant pour une société travaillant dans le domaine de la pharmacie il faut
savoir que c’est un domaine soumis à des normes très contraignantes. Les
contraintes d’hygiène et de qualité sont strictes car les médicaments sont destinés
à la consommation et contiennent des principes actifs. Il faut tracer leur
fabrication (audittrail). Toute opération faite en cours de production doit
apparaitre (nature de l’opération, qui en est l’auteur, quand, et pourquoi). La
production de ces médicaments se fait en salle blanche. Il existe divers degrés de
sécurité pour les salles blanches allant de A à D. Une salle blanche de la zone A est
la plus contraignante (port de tenue réglementaire, contrôle plus poussé des
variables d’environnement…) et la D la moins. Il a été demandé à EKIUM de mettre
en place un système de supervision permettant de surveiller ces salles blanches.
Pour cette réalisation EKIUM s’appuie sur le GAMP5. Ce document est rédigé par un
organisme appelé ISPE " International Society for Pharmaceutical Engineering".
C’est un document de référence dans la conception et validation de système
automatisés dans le secteur pharmaceutique et des dispositifs médicaux.
Pour l’ensemble du projet, la partie HDS (Hardware Design Specification) se fait à
l’aide de Step 7.
41
Le contrôleur embarqué EC31-RTX est un PC au format S7-300, équipé du système
d’exploitation Windows Embedded Standard 2009, de SIMATIC NET 2008 et de
WinAC RTX 2010.
L’automate utilisé est un automate spécial : S7 MEC (serveur OPC). Il possède une
partie OS Windows qui permet d’archiver les données en local en cas de coupure
entre l’automate et le réseau.
Le logiciel utilisé pour la supervision est IFIX de GEFANUC.
III.4.1 Le FMS08F (Facility Monitoring System)
III.4.1.a Description
Le nouveau FMS (Facility Monitoring System) mis en place est utilisé pour surveiller
les paramètres critiques de l’environnement dans la zone de production. Les
différents instruments permettent une surveillance :
- De la pression
- Différence de pression avec l’environnement extérieur. Les salles blanches
sont généralement en surpression pour qu’en cas d’ouverture vers l’extérieur
le mouvement d’air se fasse de la salle blanche vers l’extérieur.
- L’hygrométrie
- La température
- Le nombre de particules présentes dans la pièce.
III.4.1.b Les bases de données
J’ai développé plusieurs bases de données de « variables supervision ». Elles servent
à stocker les différentes variables nécessaires pour la supervision. Pour une
variable donnée plusieurs informations sont présentes :
- Son nom
- Sa description
- Son unité (secondes, pascal, degrés Celsius…)
- Sa plage (valeur minimale-maximale)
- Le chemin d’accès aux valeurs dans l’automate
- …
42
Les bases de données se font par le développement du PDB : le PDB est un fichier
qui reprend l’ensemble des variables présentes dans le programme (pour l’ensemble
des sept CTA du BMS cela correspond à 14000 variables et pour le FMS à un peu
plus de 2000 variables).
Le PDB doit suivre une certaine mise en forme pour que la base de données créée
soit correcte. Pour limiter les erreurs nous les avons réalisées sous excel puis les
avons converties au format .ocv pour IFIX. La difficulté dans la création de l’OPC
vient du fait qu’il n’y a aucun moyen de vérifier s’il est correct. A la compilation, si
des erreurs sont présentes, le logiciel informe qu’il n’a pas pu compiler sans
spécifier à qu’elle niveau se situe le problème de compilation.
La base de données est utilisée pour IFIX. Il manque cependant encore le lien entre
l’automate et la base de données.
C’est l’OPC qui crée le lien de communication entre ces deux derniers.
43
Les capteurs.
Les différents capteurs présents :
Type Quantité
Hygrométrie 1
Température 17
Pression différentielle 15
Pression relative 33
Particules 19
Les capteurs pour la pression, différence de pression, température et hygrométrie
(humidité de l’air) délivrent un signal conforme à un standard analogique (0,2-1 bar
ou 4-20mA). Les signaux récupérés sont ensuite mis à l’échelle en unité physique
(les échelles de mesure sont réglables depuis la supervision).
Lors de l’acquisition de la mesure d’un capteur un premier traitement est fait. Si sa
valeur est supérieure à la borne supérieure (seuil hors plage) ou inférieure à la
borne inférieure (seuil fil coupé) alors la valeur est limitée pour être contenue dans
l’intervalle autorisé et une alarme est déclenchée. Le principe est le même que celui
qui a été implémenté dans le standard analogique mesure quatre seuils.
Les mesures de température ainsi que d’humidité sont relevées toutes les minutes.
Les mesures de pression différentielle et relative sont relevées toutes les 5
secondes.
Capteur de particules.
Les capteurs de particules diffèrent des autres capteurs car ceux-ci donnent
directement la valeur de la mesure (le nombre de particules). Ils sont équipés de
deux voies : une pour compter le nombre de particules dont le diamètre est
supérieur à 0,5µm, une seconde pour compter le nombre de particules dont le
diamètre est supérieur à 5µm.
La communication entre ce capteur de particules est l’automate se fait par le
protocole modbus TCP/IP.
Les mesures de particules sont relevées toutes les 30 secondes. Seul le contrôle du
dépassement des seuils hauts et très haut est activé et déclenche une alarme
(moins il y a de particules présentes mieux c’est).
44
Trois verrines physiques seront mises en place. Ces verrines comportent chacune
trois voyants (vert, orange et rouge) pour informer l’opérateur sur l’état des
compteurs à particules.
Ajout de capteurs de température, pression et de particules
Dans le programme fait sous STEP7, j’ai rajouté les capteurs de particules et de
température, pression… car ceux-ci sont nécessaires pour contrôler l’environnement
des salles et n’avaient pas encore été programmés.
Le capteur de particules est un matériel fournit par CLIMET (voir annexe 1 pour les
caractéristiques).
Pour les 19 capteurs de particules j’ai mis en place la surveillance des défauts de
débit, d’optique et de communication. J’ai aussi rajouté les défauts de discordance.
La logique dans ce projet est différente de celle utilisée pour mettre en place les
standards. A la demande du client : au lieu de créer une fonction et ensuite de lui
associer des DB (data base) d’instance, l’objet est créé puis ensuite une structure
(UDT) lui est associée.
Les défauts sont traités de la manière suivante :
Tout d’abord, vérifier si ces défauts sont surveillés (Il est possible de
supprimer la surveillance grâce à des pattes de validation ou non du contrôle).
Ensuite sont récupérées les valeurs écrites par le SCADA (Supervisory
Control and Data Acquisition) vers les variables de sortie (valeur de
simulation, du seuil très haut, du seuil haut…).
Chaque compteur de particules possède ses seuils qu’il faut régler pour les
deux voies le constituant (filtrage des particules de diamètre >0,05µm et
pour les particules de diamètre >0,5µm).
Enfin on récupère la valeur renvoyée par l’instrument de mesure.
Le code ci-dessous est un exemple du traitement de défaut que j'ai effectué pour
la détection d'un défaut de débit (obstruction) du compteur de particules.
45
Figure 9 : Traitement défaut débit
Le même principe a été utilisé pour un problème de communication, optique…
Pour la discordance il a fallu pour établir les défauts tenir compte du « mode
marche » et du « mode arrêt ». ». Ces modes permettent d’établir si le compteur et
en fonctionnement ou en standby. Les contraintes données par Novo Nordisk font
qu’à chaque fois il y a deux variables distinctes en entrée (une marche et un arrêt)
qui sont regroupées dans une seule en sortie.
Figure 8 : Mode marche – Mode arrêt
46
III.4.1.c Mise en place de la communication avec le capteur de particules.
La communication avec les capteurs se fait via une liaison protocole modbus. Je n’ai
pas eu à traiter cette partie-là, une autre personne s’en était chargée. Par contre
j’ai eu à intervenir sur les paramètres de cette liaison car celle-ci ne marchait pas
dans un premier temps.
Chaque compteur à particules possède son propre DB de paramètres. C’est dans ce
DB qu’il faut intervenir pour modifier des informations sur la liaison Modbus : le
numéro d’ID, l’adresse de début et de fin…
Les capteurs de particules envoient deux informations différentes sur le nombre de
particules présentent dans la salle : une lecture directe en temps réel qui est
rafraîchie toute les 30 secondes, une moyenne qui est mise à jour toute les 30
minutes,
Pour envoyer une requête il faut envoyer une trame spéciale qui est définie dans le
mode d’emploi du compteur de particules. Ce qui intéresse essentiellement dans le
cas de la supervision est le « rolling count » (la lecture directe temps réel). Il est
plus représentatif des conditions réelles de la salle par rapport au « sample count »
qui va envoyer une information toutes les 30 minutes.
III.4.2 Rédaction du document de l’affaire.
Après avoir fait ces différents ajouts et modifications dans le programme j’ai dû
rédiger l’Analyse fonctionnelle détaillée qui a été, par la suite, envoyée au client.
L’AF est un document complet : il comporte la structure du programme, les solutions
utilisées, les instruments présents… On retrouve aussi un descriptif des structures
mises en place (UDT).
III.4.3 BMS09A (Build Management System).
Dans cette partie-là est traitée tout ce qui est relatif aux centrales de traitement
d’air (CTA). Elles sont au nombre de sept. Dans le cadre de ce projet toutes les
centrales de traitement d’air gèrent plusieurs salles.
47
III.4.3.a Une CTA.
Une centrale de traitement d’air est un équipement qui va intervenir sur les
conditions thermiques de l’air : chauffage, climatisation. Le traitement de l’air
s’effectue sur l’air ambiant pour cinq centrales, sur air ambiant et air neuf pour les
deux centrales restantes.
La température de chauffage ou de climatisation est assurée par des batteries de
traitement d'air (batterie chaude et batterie froide).
« La déshumification est assurée par un fonctionnement de 2 batteries l'une froide
qui assure un sous-refroidissement, et l'autre électrique, qui remonte la
température de l'air ainsi desséché. L'humidification s'effectue par humidification
à vapeur vive. La filtration est quant à elle réalisée par des pré-filtres, filtres plans,
...La centrale d'air CTA est monobloc ou assemblée par des éléments dit caissons.
Ceux-ci sont isolés thermiquement et acoustiquement (pièges à son).»*
*http://www.xpair.com/lexique/definition/centrale_de_traitement_d_air.htm
III.4.3.b Supervision.
J’ai créé les écrans de supervision pour surveiller les paramètres des différentes
CTA.
Ces écrans affichent l’état des instruments de mesure.
Des switchs ou des boutons radios permettent de commuter entre les différents
affichages et de visualiser les mesures analogiques des centrales de traitement
d’air connectées au système ou bien les mesures des salles.
Dans le cas des CTA, il y a huit paramètres à surveiller :
Sonde de température à la reprise
Sonde d’humidité relative à la reprise
Sonde de pression à la reprise
Sonde de pression différentielle à la reprise
Sonde de température au soufflage
Sonde d’humidité relative au soufflage
Sonde de pression au soufflage
Sonde de pression différentielle au soufflage
48
Pour les salles les paramètres surveillés sont :
La pression d’ambiante
La pression différentielle
La température de reprise
L’humidité relative de reprise
Les différentes vues à créer par CTA sont :
- Les vues de paramètres (mesure, conditions initiales et défauts bloquants,
séquence, entrée ToR, régulation)
- Les vues de maintenance
- Les vues système
Une vue d’architecture montre comment est organisé l’ensemble (adresse IP des
automates, leur localisation…)
Un échantillon des écrans de supervision créés est mis dans le dossier « Annexe »
(document indépendant du rapport de stage).
III.4.4 Code implémenté derrière les vues.
Derrière chaque vue se cache des animations ou du code.
En cliquant sur un élément de la vue, celui-ci peut ouvrir une fenêtre « popup » sur
laquelle il est possible de changer les paramètres de l’élément. Des boutons sont
présents pour accéder aux différents éléments du BMS (les 7 CTA)…
Le code que j’ai développé est en VBA (visual basic), il permet :
- D’ouvrir de nouvelles fenêtres
- Changer la valeur des seuils
- Contrôler les droits d’accès
- Intervenir sur la durée d’activation des défauts
- Passer en mode simulation
- Tracer toutes les modifications.
Des animations ont aussi été créées. L’une d’entre elles permet d’animer les écrans
des mesures (si la mesure est trop haute ou trop basse, si elle est contrôlée ou
non…)
Si la mesure s’affiche sur un :
- fond rouge clignotant alors un défaut est présent et il a été acquitté.
49
- fond rouge fixe alors un défaut est présent et il n’a pas été acquitté.
- fond bleu alors la mesure se situe dans sa plage de fonctionnement normal.
- fond gris alors le seuil n’est pas surveillé.
Pour que le bon fond s’affiche en temps réel un code a été mis en place au niveau de
la supervision. Sur chacune des vues le même code des couleurs a été instauré afin
de limiter les confusions.
Dans le cas présent le code est fonction de l’état des variables : d’acquittement, de
validation des défauts, d’alarme. Une équation logique est définie à partir de ces
différentes variables, le résultat donne l’état que doit prendre le fond.
D’autres animations ont été crées : des animations de visibilité, d’affectation de
mesures…
50
IV. Conclusion.
Le premier mois a été difficile dans le sens où beaucoup de langage est spécifique
au domaine de l’automatisme et qu’il a fallu un certain temps pour m’y habituer, je
n'avais jamais travaillé sur automates Siemens j'ai donc du intégrer les spécificités
de ce constructeur.
Les deux projets que l’on m’a confiés ont été très intéressants. Le travail sur les
standards était principalement de la programmation sous STEP7 tandis que le
second sujet (bien qu’il y ait de la programmation sous STEP7) a surtout été du
travail de supervision. De plus l’un des projets était un travail en autonomie, alors
que le second était un travail de groupe avec une répartition des tâches ce qui m’a
permis d’avoir deux approches différentes.
L’objectif du projet des « standards » est atteint. Ceci signifie qu’un ensemble de
standards a été créé, testé et approuvé. L’outil de génération des blocs développé
durant ce stage permet de gagner du temps lors de la phase de développement de
projets.
La mise en place de ces standards a été très enrichissante car toutes les phases
traditionnelles d’un projet sont présentes : phase préparatoire (audit, analyse …),
phase de réalisation et enfin phase de validation.
J’ai pu me rendre compte de l’importance de la phase d’étude. Celle-ci est longue et
complexe. Il faut comprendre l’existant, pourquoi il a été réalisé d’une certaine
façon. De plus il faut avoir suffisamment de recul pour voir si la programmation
utilisée est la plus adéquate.
L’une des difficultés dans la phase de réalisation a été d’arriver à faire un bloc
complet sans rentrer dans du spécifique. La manière de programmer variant entre
chaque personne il a fallu faire en sorte que ces standards puissent satisfaire le
plus grand nombre. Les standards que j’ai créé ont été relus et commentés par
plusieurs ingénieurs automaticiens ce qui a permis d’obtenir une version finale
complète et approuvée.
Plusieurs solutions étaient possibles pour la mise en place d’un outil de génération
des blocs standards. J’ai opté pour la solution via publipostage car celle-ci est la
plus intuitive et facile à prendre en main par une personne. Le but étant de gagner
du temps lors du développement des projets il ne fallait pas créer un outil trop
complexe.
51
Ce projet m’a aussi permis de découvrir STEP7, le logiciel de programmation des
automates Siemens. Son fonctionnement diffère de PL7pro, logiciel sur lequel nous
avons réalisé nos travaux pratiques d’automatisme à l’INSA. Ceci m’a donc permis de
prendre en main les automates Siemens, qui avec Télémécanique sont les deux
leaders sur le marché français de l’automatisme.
En ce qui concerne le projet pour la supervision de salles de production, j’ai terminé
le travail qui m’avait été demandé, c’est-à-dire j’ai développé et programmé les
écrans de supervisions pour les 7 CTA. Une pré-réception du client pourra
toutefois amener quelques réajustements. Parallèlement la programmation automate
est terminée pour une CTA (Centrale Traitement d’Air) par l’automaticien avec qui
je travaillais.
Pour Novo Nordisk des FAT (factory accept test) sont prévus courant semaine 25,
tests auxquels je participerai.
Ce stage m’a permis d’enrichir mes connaissances en automatisme et de confirmer
mon souhait de travailler dans ce domaine.
52
Lexique.
Audittrail : C’est un moyen qui permet de garder une trace de toutes les actions
opérateurs. Cela permet par exemple de savoir qui a apporté des modifications, à
quel moment, l’historique des alarmes…
BMS : Building management system ou gestion technique du bâtiment est l'ensemble
des systèmes de traitement des informations provenant d'un même site.
FAT : Factory Accept Test. Séries de tests faites au sein de la société (EKIUM)
avec le client pour une première validation du travail.
FMS : En anglais signifie Facility Monitoring System, ceci est l’équivalent de la GTC
(Gestion technique centralisée). La Gestion Technique Centralisée est un système
de traitement des informations d'un seul domaine technique (chauffage,
climatisation, pression etc.) provenant d'un même site.
FDA : Food and Drug Administration. Réglementation américaine concernant les
denrées alimentaires et les médicaments.
GAMP : Good Automated Manufacturing Practise. Réglementation pour la conception
et validation de système automatisés dans le secteur pharmaceutique et des
dispositifs médicaux.
OPC : Object linking and embedding for Process Control.
L ‘OPC est un standard d’échange et de mise à disposition de données qui permet de
faciliter les échanges entre le monde des automatismes et celui de la supervision
basée sur PC.
top related