20
Sommaire I – Remerciement II – Introduction III – Présentation de la Société 1. Informations générales 2. Produits 3. Organisation IV – Présentation du Projet 1. Objectif du projet 2. Le palettiseur 3. Les besoins 4. Le matériel 5. Les logiciels 6. Description d'un cycle de palettisation 7. Les conditions V – Réalisation du Projet 1. Planning 2. Analyse du système 3. Organisation du programme automate 4. L'Interface Homme-Machine 5. Résultats VI – Difficultés rencontrées 1. Les Grafcets 2. La suppression des capteur intermédiaire de l'élévateur 3. Le câblage 4. Le transfert du programme automate 1

Sommairealexisbonnet.cv.free.fr/real/Palettiseur Automatique/dl/rapport_de... · Grafcet de niveau 1 2. ... Liste des Variables API 5. Liste des variables IHM 6. Liste des Temporisateur

  • Upload
    voxuyen

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sommairealexisbonnet.cv.free.fr/real/Palettiseur Automatique/dl/rapport_de... · Grafcet de niveau 1 2. ... Liste des Variables API 5. Liste des variables IHM 6. Liste des Temporisateur

Sommaire

I – Remerciement

II – Introduction

III – Présentation de la Société1. Informations générales2. Produits3. Organisation

IV – Présentation du Projet1. Objectif du projet2. Le palettiseur3. Les besoins4. Le matériel5. Les logiciels6. Description d'un cycle de palettisation7. Les conditions

V – Réalisation du Projet1. Planning2. Analyse du système3. Organisation du programme automate4. L'Interface Homme-Machine5. Résultats

VI – Difficultés rencontrées1. Les Grafcets2. La suppression des capteur intermédiaire de l'élévateur3. Le câblage4. Le transfert du programme automate

1

Page 2: Sommairealexisbonnet.cv.free.fr/real/Palettiseur Automatique/dl/rapport_de... · Grafcet de niveau 1 2. ... Liste des Variables API 5. Liste des variables IHM 6. Liste des Temporisateur

VII – En plus du projet

VII – Conclusion

VIII – Annexes1. Grafcet de niveau 12. Grafcet de niveau 23. Liste des Entrées Sorties API4. Liste des Variables API5. Liste des variables IHM6. Liste des Temporisateur7. Schéma de l'organisation de l'IHM8. Informations et macro de l'IH9. Programme API en langage de contact

2

Page 3: Sommairealexisbonnet.cv.free.fr/real/Palettiseur Automatique/dl/rapport_de... · Grafcet de niveau 1 2. ... Liste des Variables API 5. Liste des variables IHM 6. Liste des Temporisateur

I – Remerciements Je tiens à remercier

– L'AFPA et le Conseil Régional de la région Centre pour l'accès aux formations– Mes formateurs, Ahmed BENHAMMADI et Daniel VOGEL pour leur présence, leur

sympathie, et leur connaissance– L'AFPA de Blois pour les conditions d'accueil mises en place– Délinda JOUTEUX pour sa disponibilité et sa sympathie– Le centre AFPA de Châteauroux pour son accueil durant la P.A.E– PIPELIFE et M. MIKOLAJCZAK, directeur du site, pour me permettre ce stage– Eric FANT pour l'apport du projet et ses conseils – Mon tuteur de stage, Rudy PARENT pour ses informations, sa présence et sa sympathie– L'équipe de Maintenance de PIPELIFE Déols : Jérome DUJON, Damien CHARRAULT,

Emmanuel MARTIN et Didier FRANCHAULT pour leurs conseils et leur sympathie– L'équipe de l'Outillage de PIPELIFE Déols : Alexandre DUVOUX, Franck CAPPELOT,

Franck BARNABÉ et Thierry ROBIN pour leurs conseils et leur sympathie– Tout les opérateurs et le personnel du site PIPELIFE Déols– Sedat ERTEKIN, stagiaire en maintenance, pour sa bonne humeur– M. LARMIGNAT et SOUPLET Automatisme pour leur disponibilités et les informations

qu'ils m'ont apportés– Mes parents pour leur soutien moral et matériel– Tout mes collègues de formations.

3

Page 4: Sommairealexisbonnet.cv.free.fr/real/Palettiseur Automatique/dl/rapport_de... · Grafcet de niveau 1 2. ... Liste des Variables API 5. Liste des variables IHM 6. Liste des Temporisateur

II – Introduction Pour finaliser ma formation de Technicien Supérieur en Automatique et Informatique

Industrielle, et mettre en pratique ce que l'on a pu apprendre lors de notre formation, j'ai eu l'occasion de réaliser un stage en entreprise de deux mois auprès de PIPELIFE, sur leur site de Déols.

J'ai travaillé sur un projet de remise en état de l'armoire d'un palettiseur automatique pour tubes d'assainissement, dit Soltub. Ces tubes sont en PVC d'une longueur de trois à six mètres, et d'un diamètre allant de 125 à 500 millimètre.

L'armoire a été réalisée par une équipe de BTS électrotechnique du Lycée Blaise-Pascal de Châteauroux, mais ces derniers n'ont eu le temps de terminer leur projet. Mon travail est de programmer l'automate ainsi que l'interface homme-machine qui l'accompagne. Je devrai aussi vérifier que l'armoire soit bien câblée.

4

Page 5: Sommairealexisbonnet.cv.free.fr/real/Palettiseur Automatique/dl/rapport_de... · Grafcet de niveau 1 2. ... Liste des Variables API 5. Liste des variables IHM 6. Liste des Temporisateur

III – Présentation de la Société

1. Informations Générales

PIPELIFE International, un fabricant majeur de tubes et de raccords plastiques en France et dans le monde, est une « joint venture » de SOLVAY (Belgique) et WIENERBERGER (Autriche) de 1989. Ces entreprises étaient présentent en Autriche, Allemagne, et en France. Son siège est basé à Vienne en Autriche. L'entreprise s'est ensuite développé sur le rachat d'entreprise travaillant dans le domaine de tubes de PVC. Aujourd'hui le groupe PIPELIFE est actif dans 26 pays, avec 30 sites de production, et emploie 2700 personnes.

PIPELIFE France est une filiale du groupe PIPELIFE International et possède deux sites : Gaillon et Déols. Le site de Déols, a été racheté à l'entreprise OLTMANNS en 1989.

2. Produits

L'entreprise réalise huit types de tubes sur la totalité de ses sites : assainissement, bâtiment, drainage, adduction et distribution d'eau potable, distribution de gaz, distribution industrielle (eaux brutes, fluides sous pression), refoulement et protection de câbles (électrique, télécom, …).

Sur le site de Déols, deux types de tubes sont produits : les tubes d'assainissement et tubes de drainage. Le PIPELIFE Déols possède aussi un site d'assemblage de boites (les pièces sont produites dans les Pays Bas, puis assemblées en France)

– Assainissement :Les tubes d'assainissement (Soltub) sont des tubes de PVC de 3

couches dont la centrale est en cellulaire. La couche interne permet de gagner en poids, et d'économiser la matière première.

Ils existent sept diamètres disponibles (125, 160, 200, 315, 400 et 500 millimètres) et en deux longueurs (3 ou 6 mètres).

Les tubes sont tulipés (plus large) d'un coté, et chanfreinés de l'autre. La tulipe contient un joint. Le tout permet un assemblage rapide et étanche.

Ils sont vendus par palette de quatre à cinquante-trois tubes en fonction de leur diamètre.

– Drainage :Les tubes de drainages se divisent en trois catégories : le Pipeflex, Jumboflex et Piperoute.

Ils ont tous des parois annelées. Ils peuvent être emballés d'une « chaussette » en bidim pour limiter l'infiltration de plantes ou de sable.

Le Pipeflex est un tube flexible de petit diamètre (50, 65, 80, 100, 125, 160 et 200 millimètres) de couleur jaune. Il est percé de manière régulière et possède un manchon pour simplifier l'installation des tubes. Il est utilisé pour le drainage agricole.

Le Jumboflex est un tube flexible de gros diamètre (250, 315, 400 et 500 millimètres) de couleur jaune. Il peut être percé (drains) ou non (collecteurs). Il est utilisé pour le drainage agricole et les travaux publics.

5

Page 6: Sommairealexisbonnet.cv.free.fr/real/Palettiseur Automatique/dl/rapport_de... · Grafcet de niveau 1 2. ... Liste des Variables API 5. Liste des variables IHM 6. Liste des Temporisateur

Le Piperoute est un tube flexible de couleur bleu, produit en quatre diamètres (110, 160, 200 et 250 millimètres). Il est percé de manière régulière et possède un fond plat. Il est prémanchonné à l'une des extrémités pour en simplifier l'usage. Il est utilisé surtout pour les routes, mais aussi pour le bâtiment, lotissement, terrains de sport, …

– Boites :Les boites sont des assemblages de pièces en PVC produites

aux Pays Bas pour raccorder les tubes d'assainissement (Soltub). Elles permettent de raccorder des tubes, et de donner un accès au réseaux en surface pour surveiller l'écoulement dans les tubes ou déboucher une section bloquée. Elles sont assemblées en fonction des besoins du client.

– Raccords :Les raccords ne sont pas fabriqués sur le site, mais aux Pays bas, mais ils

y sont revendu. Ils sont disponibles pour raccorder les tubes d'assainissements, mais sont aussi disponible pour les drains.

3. Organisation

Le personnel de l'entreprise peut être répartis en plusieurs huit catégories.

La production fonctionne avec cinq équipes d'environ quatre personnes. Chaque équipe travail huit heures, ce qui permet une rotation. Ces équipes sont gérées par le Responsable de Production, M. Yves Alexandre THOMAS.

La maintenance et l'outillage sont deux équipes de quatre personnes. La maintenance fonctionne en avec trois personnes qui se relais toute les huit heures. La quatrième personne est présente en journée, et s'occupe des astreintes. Comme pour les équipes de production, c'est quatre personnes tournent. L'outillage est composé de quatre personnes, travaillant toute en journée. Leur travail est de modifier les machines pour les faire correspondre aux besoin de la production. Ces deux équipes sont sous la direction de M. Rudy PARENT, Responsable Maintenance et Outillage, et tuteur pour mon stage.

Les mélanges de produits sont réalisés par un cinq personne en rotation de huit heures, accompagné d'un responsable, Laurent BEAUGJEAN.

Pour les assemblages de boites, deux à trois personnes sont présentes en journée. Il en est de même pour la vente des raccords.

Pour le service qualité de l'entreprise, deux personnes sont présentes la journée.En administratif, on trouvera le Directeur site, M. Gilles MIKOLAJCZAK, ainsi que deux

Secrétaire de Production, deux Assistant de Vente, deux Commerciaux et un Responsable Ordonnancement.

Pour finir, des caristes sont aussi présent au nombre de quatre environ par journée.

6

Page 7: Sommairealexisbonnet.cv.free.fr/real/Palettiseur Automatique/dl/rapport_de... · Grafcet de niveau 1 2. ... Liste des Variables API 5. Liste des variables IHM 6. Liste des Temporisateur

IV – Présentation du Projet

1. Objectif du projet

Pour mon stage en entreprise chez PIPELIFE, j'ai travaillé sur un palettiseur de tubes. Cette machine à pour but de récupérer les tubes en fin de ligne, et de les déposer dans un chariot. Les tubes sont disposés de sorte à gagné de la place.

Le palettiseur en question date d'il y a vingt ans, et nécessite que sont armoire de commande soit refaite. Le projet avait était confié à une équipe de trois BTS de Blaise-Pascal en stage il y a un an. Ceux ci n'avaient pu finir le programme de l'automate, et le projet était donc resté en attente.

L 'armoire du palettiseur actuelle, utilisant un automate SIEMENS S5 sera remplacer par une armoire utilisant un automate OMRON CJ1M CPU11-ETN ainsi qu'un afficheur tactile de type NS5-SQ10-V2 de la même marque.

Il est à noter que le palettiseur est actuellement en fonctionnement, et ce jusqu'en décembre. Il n'est donc pas possible de faire la mise en place du projet avant cette date, rendant impossible tout essais réels.

2. Le Palettiseur

Le palettiseur, fabriqué par SICA (entreprise italienne de machine pour le travail de tubes en plastique) en 1991, doit manutentionner des tubes de longueur et de diamètre différent, et les déposer sur le chariot en suivant une certaine présentation. À l'heure actuelle, les tubes sont palettisés par couche retournée ou non comme on peut le voir sur l'exemple ci-contre.

Le palettiseur est composé de cinq parties différentes : – Le tapis (ou convoyeur) : sert à acheminer les tubes jusqu'à l'élévateur– L'élévateur : sert à monter le tube jusqu'aux bras de transfert– Les bras de transfert et retournement : prennent les tubes sur l'élévateur, les fait tourner

au besoin, pour les déposer ensuite sur les bras de déchargement– les bras de déchargement : stocke les tubes par couche, et descend jusqu'au chariot une

fois la couche finie pour l'y déposer– Le chariot : ne fait pas partie du palettiseur à proprement parlé, puisqu'il est géré par un

autre automate, mais il communique avec l'automate du palettiseur.

3. Les Besoins

L'entreprise PIPELIFE souhaitait profiter de ce changement de matériel pour modifier le fonctionnement du palettiseur. L'usage général est le même, mais certaine fonctionnalités étaient à ajouter :

– Le tapis d'arrivée des tubes, indépendant jusque là, est maintenant géré par l'armoire– L'écartement des bras de déchargement est supprimé– Le mode manuel, géré par l'IHM doit permettre l'activation de chaque partie opérative

par appuie maintenu

7

Page 8: Sommairealexisbonnet.cv.free.fr/real/Palettiseur Automatique/dl/rapport_de... · Grafcet de niveau 1 2. ... Liste des Variables API 5. Liste des variables IHM 6. Liste des Temporisateur

– La création de recette depuis l'IHM, et protégé par mot de passe– Le mode automatique doit pouvoir être mis en pause– L'affichage des défauts à l'écran (pour l'arrêt d'urgence, les barrières, et les disjoncteurs

de moteur)

D'autre besoins m'ont été transmis, mais ne peuvent être réalisés :– La suppression des capteurs de position intermédiaire de l'élévateur– L'écriture du programme en Grafcets multipleLes explications des raisons et leur solution ont disponible dans la partie VI – Difficultés

rencontrées.

4. Le Matériel

Le projet ayant était confié auparavant à l'équipe de BTS, c'est celle ci qui c'est occupée de choisir le matériel nécessaire à la nouvelle armoire.

L'automate :L'automate OMRON CJ1M-CPU11-ETN, est un automate modulaire sans rack. Il utilise

une alimentation CJ1W-PA202. Deux cartes d'entrées et deux de sorties lui sont ajoutées. Les cartes d'entrées sont des CJ1W-ID211 possédant 16 entrées. Les cartes de sorties sont des CJ1W-OC211 possédant 16 sorties, et utilisant une tension de 230V alternatif. En plus, nous avons une carte de comptage rapide de type CJ1W-CT021 pour utiliser le codeur incrémental.

L'IHM :L'IHM est un OMRON NS5-SQ10-V2, un écran tactile de 5,7 pouces, tactile, avec affichage

TFT 256 couleurs.

Les composants :Disjoncteur moteur : Q

Moteurs de 0,75 KW Alimentation : 3x 400VDisjoncteurs moteurs : GV2-ME076Moteur de 1,1 KW Alimentation : 3x 400VDisjoncteurs moteurs : GV2-ME086

Sectionneur : QGRéférence : VCCD 02

Disjoncteur D1 : Protection primaire du transformateur. U1 = 400VTransformateur T1 : Puissance 250VA.Choix imposé par la documentation constructeur : protection des transformateursDisjoncteur calibre 3A courbe C : référence : 064 62.

Disjoncteur D2 : Protection secondaire du transformateur. U2 = 230VChoix imposé par la documentation constructeur : protection des transformateursDisjoncteur calibre 1A courbe C : référence : 063 88.

Disjoncteur D3 : Protection alimentation redressée.Choix imposé par la documentation constructeur : alimentation redressée filtréeDisjoncteur calibre 1A courbe C : référence : 063 88.

Disjoncteur D4 : Protection de l’alimentation des cartes de sorties automate.Courant absorbé par une carte de sorties : 2A

8

Page 9: Sommairealexisbonnet.cv.free.fr/real/Palettiseur Automatique/dl/rapport_de... · Grafcet de niveau 1 2. ... Liste des Variables API 5. Liste des variables IHM 6. Liste des Temporisateur

Courant total absorbé : I = 2 x 2A= 4ADisjoncteur calibre 4A courbe C : référence : 063 91.

Disjoncteur D5 : Protection de l’Interface Homme Machine.Courant absorbé par l’IHM : 1ADisjoncteur calibre 1A courbe C : référence : 063 88.

Coupe-circuit fusible F6 : Protection de l’alimentation du module de sécurité.Courant absorbé par celui-ci : 1,5A.Protection par fusible.Porte fusible : référence : 058 02Fusible associé calibre 1,6A : référence : 102 16.

Disjoncteur D7 : Protection de l’alimentation de l’automate.Courant absorbé par l’alimentation : I = 0,21A+ 950 mA =1,16A.Disjoncteur calibre 2A courbe C : référence 063 89.

Coupe-circuit fusible F8 : Protection de l’alimentation des cartes d’entrées.Courant absorbé par une carte : I = 7mACourant totale absorbé : I = 7mA x 3 = 21mA.Protection par fusible.Porte fusible : référence : 058 02Fusible associé calibre 200mA : référence 102 02.

Coupe-circuit fusible F9 : Protection du codeur incrémental.Courant absorbé par celui-ci : 80mA.Protection par fusible.Porte fusible : 058 02Fusible associé calibre 200mA : référence 102 02.

L'alimentation :L'alimentation choisi est ABL6RF2405 de chez Télémécanique redressée filtrée, de 24Vcc.

Elle alimente : – le codeur incrémental– l'IHM– le module de sécurité– l'alimentation de automate– les cartes d'entées

Le transformateur : Le réseaux de l'entreprise est en 3x400V, et le circuit de commande en 230V. Le

transformateur alimente l'alimentation redressée et le circuit de commande. Le transformateur choisi est un Télémécanique ABL 6TS25U de 250 VA

Le module de sécurité : Pour gérer l'arrêt d'urgence, un module de sécurité (MDS) a été installé. Le module en

question est un Télémécanique Preventa XPS-AF de catégorie 4.

La structure :Pour ranger tout ceci, l'armoire SAR83062 accompagnée d'une grille SAR55460 ont étaient

choisi pour leur format et leur prix.

9

Page 10: Sommairealexisbonnet.cv.free.fr/real/Palettiseur Automatique/dl/rapport_de... · Grafcet de niveau 1 2. ... Liste des Variables API 5. Liste des variables IHM 6. Liste des Temporisateur

5. Les Logiciels

Pour programmer l'automate et l'interface homme machine, j'ai utilisé des logiciels faisant partis de la suite CX-One. Celle-ci est fournie par OMRON est permet de programmer tout les automate de la marque. Pour l'usage que j'en avais, trois logiciels de suite m'ont étaient utiles :

– CX-Programmer : permet la programmation de l'automate– CX-Designer : permet la programmation de l'IHM– CX-Simulator : permet de simuler l'automate et l'IHM

CX-Programmer est complet et efficace, notamment grâce à de nombreux raccourcis clavier pour tout ce qui est contacts, bobines, blocs fonction, etc... L'interface est personnalisable, ce qui était le bienvenu puisque j'ai utilisé mon ordinateur personnel portable de 11 pouces durant ces deux mois.

CX-Simulator permet de mettre en relation le programme réaliser sous CX-Programmer et le travail fait sous CX-Designer, pour réaliser une simulation proche du résultat final (seul les entrées sont à forcer pour réaliser les tests).

6. Description d'un cycle de palettisation

Le tube arrive sur le tapis, qui avance jusqu'à la fin d'une temporisation. Une fois positionné sur le tapis, et si l'élévateur est en bas et présent, alors la bascule du tapis fait descendre le tube sur l'élévateur.

Le tube est ensuite monté jusqu'en haut si aucune rotation des tubes n'est en cour. Si une rotation est en cours, l'élévateur s'arrête au niveau du capteur de position intermédiaire, et attend la fin de la rotation pour finir sa montée.

Une fois en haut, le tube est saisi par les bras de transfert. Ceux-ci font monté le tube jusqu'à la position haute des bras. C'est à ce moment qu'a lieu la rotation, si la recette le requière.

Une fois la rotation (ou non) terminée, le tube est déposé sur des butées. Les poussoirs sont actionnés pour pousser le tube sur les bras de déchargement. Les bras de déchargement sortent de la longueur du diamètre d'un tube, pour prévoir la place nécessaire au suivant.

Les bras de déchargement attendent qu'une couche soit complétée sur ces bras, et si le chariot est présent, alors ils descendent au niveau du chariot ou des tubes précédemment posés. Les cales des bras se rentrent, et les bras aussi, ainsi la couche est versée sur la précédente.

Les bras remontent en position haute si il n'y a pas de rotation prévue. Sinon ils remontent en position intermédiaire.

Une fois la palette finie, l'automate informe l'armoire du chariot, pour que cette dernière s'occupe de le sortir.

7. Les Conditions

PIPELIFE ne possède pas d'automaticiens (même si quelque personnes du site on des bases) et ne possède pas d'ordinateur à cet effet. Seul un ordinateur portable été disponible, mais ses capacités laissant à désirer, j'ai préféré travailler sur mon ordinateur portable personnel. J'ai tout de même utilisé leur ordinateur portable pour les besoins du transfert du programme, celui-ci se faisant uniquement avec un port RS-232, que mon ordinateur ne possède pas.

Pour réaliser ce projet, j'ai été installé dans le bureau de mon tuteur, M. Rudy PARENT, durant la quasi-totalité du stage. Pour les besoins du transfert et des dernières simulations, j'ai travaillé au côté de l'armoire, dans le service de maintenance de l'entreprise durant une semaine.

10

Page 11: Sommairealexisbonnet.cv.free.fr/real/Palettiseur Automatique/dl/rapport_de... · Grafcet de niveau 1 2. ... Liste des Variables API 5. Liste des variables IHM 6. Liste des Temporisateur

V – Réalisation du projet

1. Planning

J'ai organisé la réalisation du projet en trois temps principaux : − Analyse du système : (1 semaine)● Analyse du fonctionnement normal du système● Repérage des problèmes actuels● Lecture des documentations fournies

− Réalisation des programmes : (5semaines)● Réalisation des Grafcets de niveau 1● Réalisation des Grafcets de niveau 2● Réalisation des pages IHM● Réalisation du code automate● Test de l'ensemble en simulation

− Transfert dans l'armoire et tests finaux : (1 semaine)● Transfert des programmes dans l'armoire● Test des programmes installés

2. Analyse du système

Pour analyser le système , je me suis déplacé sur le site voir le fonctionnement du palettiseur. J'ai pu dès mon arrivée assister à un problème, indépendant du programme automate, mais dont la résolution à nécessité un arrêt d'urgence, et une remise à zéro du palettiseur. Après quoi j'ai pu assister à un cycle normal de fonctionnement, où j'ai pris un maximum de notes.

Dans un second temps, je suis aller voir les opérateurs qui travaillaient avec cette installation, avoir leur point de vue sur le palettiseur, récupérer des informations sur les problèmes qui ont pu arriver, mais aussi leurs idées d'améliorations du système.

Je me suis aussi déplacé pour voir l'état actuel de l'armoire de remplacement, où j'ai pu remarquer la disparition de certain composants du circuit, empruntés par le service de maintenance pour réparer d'autre installation.

Pour finir, j'ai lu les documentations qui m'était fournies, notamment le programme à l'œuvre dans l'armoire actuelle (programme pour SIEMENS S5 en liste d'instruction, et commenté en Italien), mais aussi les documentations venant de l'équipe de BTS (listes des entrées/sorties, schéma électrique, etc...) ce qui m'a permis de voir de nouvelles erreurs, notamment de câblage.

L'entreprise ne possédant pas d'automaticien, j'ai aussi eu l'occasion grâce à M. Eric FANT, de rencontrer M. Grégoire LARMIGNAT, travaillant pour SOUPLET Automatisme. Ce dernier est venu au début de la seconde semaine pour répondre aux questions que j'aurais pu me poser. N'ayant que peu de questions à lui poser à ce moment, il m'a présenté les bases de la suite CX-One.

11

Page 12: Sommairealexisbonnet.cv.free.fr/real/Palettiseur Automatique/dl/rapport_de... · Grafcet de niveau 1 2. ... Liste des Variables API 5. Liste des variables IHM 6. Liste des Temporisateur

3. Organisation du programme automate

Le programme automate est composé de dix sous programmes, huit représentant les grafcets, et deux pour des actions particulières. Les grafcets n'étant pas gérés par l'automate, j'ai utilisé des bits accompagnés d'instructions Set/Reset. Ainsi, une représentation du programme sous forme de grafcet est disponible pour l'équipe de maintenance.

Les bits utilisés pour gérer les étapes sont de type HR (Holding Relay) qui conserve leur état en cas de coupure de courant. Pour permettre une analyse plus rapide du code, et comme aucun des grafcets ne dépassent les quinze étapes, j'ai utilisé un mot par grafcet (H0 pour l'Arrêt d'urgence, H1 pour le mode Automatique/Manuel). Les étapes sont représentées par les bits de chacun des mots. Ainsi l'étape initiale du grafcet du tapis est H2.0.

− Grafcets● Arrêt d'urgence● Mode Automatique/Manuel● Tapis● Elévateur● Transfert et retournement● Bras de déchargement● Gestion des recettes● Enregistrement des étapes

Quatre des représentations de grafcets gèrent indépendamment les différentes parties opératives du système. Une autre gère uniquement l'arrêt d'urgence. Une autre gère le passage du mode Automatique au mode Manuel, et inversement. Celui de Gestion des recettes suit le fonctionnement du palettiseur, et s'occupe d'informer les autre grafcets de ce que demande la recette. Le dernier grafcet s'occupe de l'enregistrement des étapes actives pour mettre le système en pause, ou reprendre le cycle en cours après un arrêt d'urgence.

Chaque grafcet est composé de deux sections : une pour le passage d'une étape à une autre (gestion des transitions), l'autre pour l'activation des sorties (gestion des étapes).

Pour le grafcet Gestion des recettes, j'ai construit et utilisé trois bloc fonctions. Ceci permet de codé des fonctions utilisables plusieurs fois dans un programme sans saisir à nouveau tout le code. Mais ce n'est pas la raison qui m'a poussé à les utiliser : les bloc fonction peuvent gérer des tableaux. Ainsi il m'était plus simple d'organiser le tri et les calculs sur les recettes, qui sont composé de plus de 112 bits, et réduire le nombre de lignes du programme. Malheureusement, les limite de la version de la CPU fait que j'ai tout de même du rentré un certain nombre de lignes.

− Autres● Initialisation● Codeur

Le programme d'initialisation est séparé en trois. La première partie active l'étape 0 du grafcet d'arrêt d'urgence et du grafcet automatique/manuel lors de la mise sous tension de l'armoire. La seconde vérifie en continu si le palettiseur est en position d'origine. La dernière s'occupe de ramener la machine en position d'origine. Les deux premières parties sont indépendante des autres grafcets, tandis que la dernière dépend des grafcets d'arrêt d'urgence et de mode automatique/manuel.

Le code du codeur incrémental est lui aussi indépendant des autres grafcets. Il s'occupe

12

Page 13: Sommairealexisbonnet.cv.free.fr/real/Palettiseur Automatique/dl/rapport_de... · Grafcet de niveau 1 2. ... Liste des Variables API 5. Liste des variables IHM 6. Liste des Temporisateur

uniquement de récupérer la valeur du codeur et de la convertir en millimètre. Seule la valeur en millimètre sera utilisé par le grafcet des bras de déchargement.

Tout les programmes sont disponible en annexes.

4. L'Interface Homme-Machine

Pour commander l'automate, quelque boutons son présents sur l'armoire. Les autres fonctions sont gérées par l'Interface Homme-Machine.

J'ai crée vingt trois pages, ainsi qu'un pop-up. On peut les classer dans différente catégories selon leur fonctions. On trouve un écran pour le menu principal, sept pour la création et l'envoi des recettes, deux pour l'initialisation d'un cycle, deux pour la marche normale, cinq pour l'affichage des étapes des grafcets, quatre pour gérer le mode manuel, et deux pour les défauts de fonctionnement. Le pop-up est utilisé pour les recettes et s'affiche si l'on essai d'envoyer la recette à l'automate avec des temporisations à zéro. L'appuie sur le bouton « OK », ferme le pop-up. Les écrans, leur organisation, et leur liens sont disponible sur un schéma en annexes.

‒ Les écrans de recettesLes sept écrans des recettes permettent de crée de nouvelles recettes. Celles-ci peuvent être

enregistrées dans l'IHM (jusqu'à neuf recettes enregistrées). Les recettes comportent le nombre de couche, le nombre de tubes pour chaque couche, le diamètre et la longueur des tubes et toutes les temporisations du cycle de palettisation. De plus, les tubes peuvent être mis à l'endroit ou à l'envers par couche et pour chaque tube indépendamment par un appuie sur le tube voulu. Une fois la recette réalisée, elle est envoyé à l'automate.

‒ Les écrans d'initialisationLe premier écran d'initialisation demande à l'opérateur d'utiliser le mode manuel pour vider

les bras du palettiseur dans le cas où il y aurait des tubes encore chargé. Après quoi l'opérateur passe sur le second écrans qui affiche « Initialisation en cours » le temps que la machine ce mette en position initiale, après quoi l'écran affiche « Initialisation terminée » et l'opérateur peut lancer le cycle de palettisation.

‒ Les écrans de marcheLors du lancement du cycle, on arrive sur une page où nous avons la possibilité de mettre le

palettiseur en pause pour utiliser le mode manuel. Ceci permet à l'opérateur de réparer un problème comme un tube mal déposé, et de reprendre le cycle sans faire une remise à zéro du cycle. Cet écran permet aussi d'aller vers les pages de grafcet ou au menu principal. Un dernier bouton permet d'accéder à la seconde page de marche, et permet de modifier les temporisations pour les ajuster durant le cycle. Si l'opérateur souhaite arrêter la machine en fin de cycle, en passant le commutateur Automatique/Manuel à zéro, « Arrêt en fin de cycle » s'affichera en bas l'écran de marche.

‒ Les écrans des grafcetsLe premier écran de grafcet est un menu qui donne accès aux quatre autre écrans. Trois des

écrans suivant représente des parties du palettiseur. La première représente le tapis et l'élévateur, la seconde les bras de transfert et de retournement, et la troisième les bras de déchargement, les poussoirs et le chariot. Sur chacune de ces pages on retrouve une représentation schématique des capteurs, ainsi que des témoins indiquant les étapes actives. La dernier pages concentre des témoins affichant les étapes de tout les grafcets, incluant le grafcet d'arrêt d'urgence, ou celui d'enregistrement des étapes. Ces écrans ne sont qu'informatif, et ne permette aucune action.

13

Page 14: Sommairealexisbonnet.cv.free.fr/real/Palettiseur Automatique/dl/rapport_de... · Grafcet de niveau 1 2. ... Liste des Variables API 5. Liste des variables IHM 6. Liste des Temporisateur

‒ Les écrans du mode manuelLe premier écran est menu donnant accès aux suivant. De la même manière que pour les

écrans de grafcets, ceux ci se décompose en trois parties représentant la machine. On y retrouvera les représentations schématiques du palettiseur, sur lesquelles sont ajoutées des boutons permettant d'utiliser chaque actionneur par appuie maintenu, comme le demander le cahier des charges.

‒ Les écrans de défautsLes écrans de défaut sont appelés en cas de défaut, quelque soit l'état du palettiseur à ce

moment. C'est le seul écran sur fond rouge, de sorte à ce qu'il se remarque de loin, les opérateurs ne pouvant surveiller la machine en continu. La première page permet d'accéder aux pages de grafcet, pour vérifier l'état du palettiseur. Après quoi, la seconde page nous propose soit de faire une remise à zéro, soit de reprendre le cycle dans l'état précédant le défaut.

Pour créer ces pages, j'ai choisi d'utiliser certaine couleur de bouton selon leur fonction. Ainsi, les boutons vert avec une flèche vers la gauche, présent en haut à gauche de la majorité des écrans permet de revenir à la page précédente. Les boutons vert foncé indique un envoi d'information à l'automate, sauf pour les pages du mode manuel qui sont majoritairement en bleu avec des flèches. Les boutons rouge sont protégé par mot de passe, et interdise l'accès à certaine pages comme le souhaiter le client. Les boutons gris sont les boutons inactif, leur activation dépendent de l'état du palettiseur. Les autres boutons sont bleu foncé.

La configuration des recettes ce faisant sur l'automate, de nombreuse macros sont nécessaire pour vérifier les valeurs, et les déplacés en mémoire ou les envoyer à l'automate. Leur code est présent dans les pages d'annexes.

Les neuf recettes sont enregistrées dans la mémoire de l'IHM.

J'ai essayé autant que possible d'intégrer des représentations de machine, ou des recettes de sorte à ce que l'opérateur s'y retrouve facilement. Ainsi, les couleurs des dessins reprennent les couleurs réelles du palettiseur, et on retrouvera sur les recettes un affichage de chaque tube choisi dans la configuration.

J'ai présenté l'interface à certaine personnes de l'équipe de maintenance, ainsi qu'avec mon tuteur, et tous le trouve agréable à utiliser et fonctionnel.

5. Résultats

Le palettiseur étant en fonctionnement continu jusqu'en décembre, je n'ai pas pu faire la mise en place de l'installation. Cependant, grâce aux fonctionnalités de simulation de la suite logiciel CX-One de OMRON, j'ai pu faire de nombreux essais.

J'ai mené les simulations en trois temps. Premièrement, j'ai simulé chaque grafcets indépendamment des autres. Cela m'a permis d'observer et de corriger des erreurs locales. Puis j'ai réalisé des simulations complètes, utilisant l'intégralité du programme automate, et accompagné par le programme IHM. J'ai pu ainsi vérifier la bonne gestion des variables partagées entre les grafcets (par exemple : les prévisions de rotation, le nombre de tubes, etc...) et le fonctionnement général. C'est deux séries de simulations ont été réalisée uniquement sur ordinateur, en utilisant CX-Simulator.

La troisième série de tests nécessita aussi la suite CX-One, mais cette fois ci, les programmes étaient transférés dans l'automate et l'interface homme-machine. Ainsi j'ai pu vérifié le bon fonctionnement des programmes de manière un peu plus pratique. CX-Programmer été utilisé pour forcer les capteurs nécessaires au fonctionnement.

14

Page 15: Sommairealexisbonnet.cv.free.fr/real/Palettiseur Automatique/dl/rapport_de... · Grafcet de niveau 1 2. ... Liste des Variables API 5. Liste des variables IHM 6. Liste des Temporisateur

Pour cette dernière simulation, j'ai été confronté à un problème de transfert du programme automate m'ayant fait perdre un temps précieux. Les détails sont présents dans la partie VI – Difficultés rencontrées. Malgré cette difficultés, j'ai pu réaliser ces tests, qui se sont révélés concluant dans l'ensemble.

Pris par le temps, je n'ai eu le temps de finaliser la documentation, et notamment l'aide utilisateur. Mais j'ai convenu avec mon tuteur de stage de la réaliser après la fin de ma formation. La totalité des documentations leur sera transmis d'ici le mois prochain.

15

Page 16: Sommairealexisbonnet.cv.free.fr/real/Palettiseur Automatique/dl/rapport_de... · Grafcet de niveau 1 2. ... Liste des Variables API 5. Liste des variables IHM 6. Liste des Temporisateur

VI – Difficultés rencontrées

1. Les Grafcets

Pour réaliser le programme, il m'a été demandé de codé en utilisant les grafcets, de sorte à simplifier le travail de l'équipe de maintenance, dans le cas où ils auraient à le retoucher. Cependant, on m'a informé en même temps que les grafcets n'était pas gérés par l'automate. Il a donc fallu utilisé une technique pour pouvoir organiser le programme de sorte à ce qu'une représentation sous la forme d'un grafcet soit possible.

C'est M. Eric FANT, présent lors de ma première semaine en stage, qui m'a expliqué comment contourner ce problème.

Le concept est d'utiliser des bits pour enregistrer les étapes, et un système de Set et de Reset pour passer d'une étape à une suivante. Par exemple, la transition de l'étape 0 à l'étape 1 du grafcet du tapis est le suivant :

L'étape active fait partie des conditions de transition, ainsi, le grafcet suis bien l'ordre des étapes. Si les conditions sont respectées, alors l'étape suivante sera activée, et l'étape actuelle sera désactivé.

Pour coder les actions des étapes, on place simplement le HR correspondant dans les conditions de l'action.

Ainsi, dans mon programme, chaque section SFC et Sorties commence par un contact d'étape (HR).

2. La suppression des capteurs intermédiaires de l'élévateur

Le cahier des charges que l'on m'a fournit, qui était celui des BTS, demandé la suppression des deux capteurs de position intermédiaire de l'élévateur.

Le capteur de position intermédiaire basse peut être supprimé. Il sert normalement à éviter une chute trop importante du tube lors de la bascule du tapis. Cependant, les tubes palettisés ne sont pas abimés par cette chute. Le capteur à donc était supprimé.

Le deuxième capteur de position intermédiaire, placé sous le capteur de position haute, est par contre plus qu'utile, puisque s'en séparer empêcherait le fonctionnement. Celui-ci est utilisé pour mettre l'élévateur en position intermédiaire le temps d'effectuer la rotation du retourneur (celle-ci étant impossible ou destructeur si l'élévateur est en haut). Le deuxième capteur intermédiaire n'est donc pas supprimé, avec l'accord du client, et sera à câbler sur la dernière entrées disponible de l'automate.

16

Page 17: Sommairealexisbonnet.cv.free.fr/real/Palettiseur Automatique/dl/rapport_de... · Grafcet de niveau 1 2. ... Liste des Variables API 5. Liste des variables IHM 6. Liste des Temporisateur

3. Le Câblage

Dès mon arrivée, j'avais pu remarquer des problèmes de câblage dans l'armoire (comme la disparition de composants). Plus tard, j'ai pu en trouver de nouveau (codeur incrémental branché en +5V d'un côté et en +24V de l'autre, câbles mal branchés, etc...).

M. PARENT a demandé à l'équipe de maintenance de s'occuper de revoir l'armoire. Malheureusement, les travaux n'était pas fini lorsque j'en ai eu besoin pour transférer le programme.Avec l'accord de mon tuteur de stage, je me suis donc occupé de vérifier et rectifier le câblage de l'armoire. Certaine parties non pas encore été réalisées, tel que le branchement du bornier aux prise Hypra.

4. Le transfert du programme automate

Lors du transfert du programme à l'automate, je me suis confronté à un problème de compilation. Le problème ne c'était pas présenté auparavant à cause d'une erreur de configuration du compilateur de ma part, mais est apparu quand j'ai tenté de le transférer.

Lors de ce problème, voici l'erreur affichée par le compilateur : « ERREUR : Le type de chaîne ou la variable entrée sortie n'est pas pris en charge par l'API de cette version de carte. Vérifiez la version de carte dans les options de vérification des programmes. »

Ceci m'a permis de comprendre où été mon erreur dans la configuration du compilateur, mais ne me permet pas de trouver l'erreur en elle même. J'ai donc commencé une série de test sur le programme, tout en essayant de joindre M. LARMIGNAT de SOUPLET Automatisme, savoir s'il avait déjà été devant ce message.

Après deux jours de test, j'ai réussi à identifier l'origine du disfonctionnement. Il s'agissait des variables de types « Entrée/Sortie » présent dans les blocs-fonctions utilisé pour la gestion des recettes. Ces variables sont supportées par la version 4 du CPU, mais pas par la version 3 sur laquelle j'opérais.

Malheureusement, parmi les cinq types de variables des blocs-fonctions (Interne, Externe, Entrée, Sortie, Entrée/Sortie), seul le type Interne et le type Entrée/Sortie peuvent utiliser des tableau. Hors j'ai construit ces blocs dans le seul but d'utiliser des tableaux, et ainsi réduire le nombre de ligne nécessaire aux opérations sur les 112 bits de la recette.

J'ai donc utilisé les tableaux de type Interne, dans lesquels j'ai chargé les bits. Je passe ainsi de bloc utilisant un maximum de 3 paramètres d'entrée, à des blocs de 9 à 56 entrées. De plus je suis obligé de les utiliser jusqu'à 8 fois, contre une fois chacun avant modification.

Une fois l'opération effectuée, j'ai à nouveau testé la gestion des recettes, qui fonctionne correctement.

17

Page 18: Sommairealexisbonnet.cv.free.fr/real/Palettiseur Automatique/dl/rapport_de... · Grafcet de niveau 1 2. ... Liste des Variables API 5. Liste des variables IHM 6. Liste des Temporisateur

VII – En plus du projetEn plus du projet, mon tuteur de stage m'a demandé si je pouvais réaliser une macro pour Excel,

qui aurait pour fonction d'effectuer une recherche de doublons dans une liste de référence de matériel. Il se trouve que je n'avais jamais eu l'occasion de travailler sur les macro Excel. Je me suis donc renseignée sur leur fonctionnement, et j'ai appris qu'elle était codée en Visual Basic. Il se trouve que je n'avais jamais travaillé sur ce langage de programmation. Je me suis donc renseigné sur le fonctionnement de ce langage.

L'algorithme du programme est des plus simple : il prend la première case, et la compare à toute les cases suivantes. Si il trouve une case avec la même référence, il s'arrête sur la case où se trouve le doublons, et note la case d'origine dans la colonne suivante. Si aucune case n'est égale à la première, l'algorithme passe à la seconde, et la compare à toute les cases suivantes, et ainsi de suite. La colonne suivante sert à noté la première apparition d'une référence, mais aussi a ne pas repasser sur un doublon quand on relance la macro.

Je n'apprécie pas trop certain concept du langage, comme les variables sans types précis, qui s'adapte aux besoins, car cela peut-être source de problèmes. Cependant, il est toujours bon d'apprendre quelque bases dans un nouveau langage.

18

Page 19: Sommairealexisbonnet.cv.free.fr/real/Palettiseur Automatique/dl/rapport_de... · Grafcet de niveau 1 2. ... Liste des Variables API 5. Liste des variables IHM 6. Liste des Temporisateur

VIII – ConclusionJe considère ce stage, et cette première expérience en industrie comme une réussite, même si

les programmes que j'ai réalisés ne me satisfont pas totalement. J'ai été ravi d'intégrer pendant ces deux mois l'entreprise PIPELIFE pour plusieurs raisons. Tout d'abord, cela m'a permis de mettre en pratique les enseignement que j'ai suivi durant les neuf mois précédents. De plus, j'ai pu observer le fonctionnement de nombreuse machines industrielles, que je n'avais jamais vu auparavant. Pour finir, j'ai aussi pu voir l'ambiance interne à l'entreprise, les relations entre le personnel et l'organisation du fonctionnement d'une entreprise.

Pour ce qui est de l'automatisme, j'ai appris durant ce stage de nombreuses choses. Ce fut la première fois que je travaillais sur du matériel OMRON, et donc la première fois que je travaillais avec la suite logicielle CX-One. Je me réjouis d'avoir pu profiter de cette occasion pour élargir mes connaissances, être plus polyvalent. J'ai aussi appris de nombreuses choses au sujet du câblage d'une armoire, ce qui n'avait été que survolé durant la formation.

De plus, j'ai eu l'occasion durant la quasi-totalité du stage de partager le bureau de mon tuteur, M. Rudy PARENT, et donc d'être présent lors de ses rendez-vous professionnel. Ainsi j'ai aussi pu découvrir une autre facette de l'industrie.

19

Page 20: Sommairealexisbonnet.cv.free.fr/real/Palettiseur Automatique/dl/rapport_de... · Grafcet de niveau 1 2. ... Liste des Variables API 5. Liste des variables IHM 6. Liste des Temporisateur

IX – Annexes

1. Grafcet de niveau 12. Grafcet de niveau 23. Liste des Entrées Sorties API4. Liste des Variables API5. Liste des variables IHM6. Liste des Temporisateur7. Schéma de l'organisation de l'IHM8. Ecrans et macro de l'IHM9. Programme API en langage de contact

10. Schéma électrique

20