53
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

Mise en place de standardsSupervision de salles …eprints2.insa-strasbourg.fr/1252/1/GE5S-2012-FLASSAYER-rapport.pdf · Le stage de fin d’étude d’ingénieur est l’occasion

  • Upload
    lykiet

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

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.

53

Annexes.

Figure 10 :Annexe 1 - Caractéristiques compteur de particules