Rapport De Stage 2

Rapport De Stage 2

Université Paris-Sud ILIT de Cachan Département GEI 1-1 Parcours Traitement du Signal Année 2009 Rapport de stage Stagiaire chez New VI Mise à jour de ColiM déplacement linéaire Robin cordier, 2009 Table des matières Remerciements 4 Résumé 5 Abstract 5 Mots clés 5 Introduction 5 oral to View nextÇEge Présentation de New Vision Technologies 5 1. Mise à jour du logiciel CaliMe 7 Introduction à LabVIEW8 1 . 1. Cutilisation des Variables Globales Fonctionnelles optimise le L’exploitation de plusieurs cœurs permet une meilleure répartition des tâches 18 2.

Réalisation d’un déplacement linéaire motorisé 18 ZI. Diviser le projet pour le conceptualiser 1 9 2. 1. 1. Comment conceptualiser un projet aussi vaste? 19 2. 1. 2. Diviser, c’est régner 20 2. 1. 3. Synthèse des choix techniques 21 2. 1. 4. Retours sur les choix 24 2. 2. Développement de programmes sur la carte Flexis DEMOJM 24 2. 2. 1 . Comment exploiter cette carte de développement? 25 2. 2. 2. Plusieurs méthodes de communication via USB 25 2. 2. 3. Synthèse des programmes développés 27 2. 2. 4. Analyse du travail effectué 28 Conclusion 28 Conclusion personnelle 28 Annexes 29 Lexique 29

Sources et liens 30 Index des illustrations Illustration 1 :

Désolé, mais les essais complets ne sont disponibles que pour les utilisateurs enregistrés

Choisissez un plan d'adhésion
Situation des locaux New Vision Technologies (Google Map) 6 Illustration 2: Photo des locaux (Google Street View)7 Illustration 3: Les types de données LabVIEW 8 Illustration 4: Face-avant et schéma d’un VIB Illustration 5: Schéma d’une multiplication, avec registre ? décalage non initialisé 10 Illustration 6: Écriture dans une VGF 11 Illustration 7: Lecture d’une VGF 11 Illustration 8: Les autres possibilités des VGF 12 Illustration 9: Mise en œuvre simple d’une VGF 12 Illustration 10: Différences entre une VGF et une variable globale. Illustration 1 1: Gestion d’une interface graphique sans structure évènement 14 Illustration 12: Exemple d’ évènement 15 PAGF cœur du processeur 18 Illustration 16: Machine à Commande Numérique de Construction 20 Illustration 17: Synoptique du projet 21 Illustration 18: Principe du chariot sur galet 22 Illustration 19: Dimensions du moteur MS 58 H 22 Illustration 20: Placement du moteur sur une courroie crémaillère 23 Illustration 21. • carte Flexis DEMOJM 23 Illustration 22: Codeur incrémental G1338 24 Illustration23: Câble série (RS232) à gauche, câble USB à droite26

Illustration 24: « Dialogue » avec StickOS via Hyperterminal 27 1. Remerciements je tiens à remercier toute l’équipe de New Vision Technologies, pour l’expérience qu’elle a su m’apporter durant ce stage. L’équipe m’a donné les moyens de prendre des responsabilités sur plusieurs plans et m’a accordé une totale confiance dans mon travail. Aussi, j’ai appris énormément de choses tant sur le plan technique que sur le plan professionnel, ce dont j’ai essayé de tirer le plus profit. 2.

Résumé Dans le cadre de mon DUT Génie Électrique et Informatique Industrielle, j’ai dû effectuer un stage de 2 mois en entreprise. Celle qui m’a chaleureusement accueillie est New Vision Technologies, basée à Champs sur Marne (77). Ce rapport a pour but de synthétiser travail, notes et expériences que j’ai pu accumuler durant ce stage. On y trouvera principalement une partie dédiée à la mise à jour du logiciel ColiMe sous LabVIEW, avec une explication détaillée de ce qui a été mis en œuvre.

Dans un second temps, j’aborderai la réalisation d un déplacement linéaire motorisé, en expliquant les différentes problématiques du rojet ainsi que les solutions adoptées. 3. Abstract To succeed in my Electrical en ineerin and Industrial Computing solutions adoptées. To succeed in my Electrical Engineering and Industrial Computing two years university diploma, had to do a placement of a few months in a company. The one who warmly welcomed me is New Vision Technologies, based in Champs sur Marne (77).

The goal of this report is to synthesize work, notes and experiments that I have accumulated during this placement. ln a first part, we will discuss about the update of the ColiMe software under LabVIEW With detailed explanations of what was done. n a second part, I will deal With the realization of a motorized linear translation, by explaining the varlous problems of the project as well as the adopted solutlons. 4. Mots clés Stage, DUT, GEII, Cachan, New Vision Technologies, LabVIEW, microcontrôleur, développement, programmation, ColiMe. 5.

Introduction Industrielle, l’obtention du diplôme n’est effective qu’au terme de la validation de deux ans de formation continue et de 10 semaines de stage en entreprise. Cest dans ce contexte que je synthétise dans ce rapport mes notes, expériences et travaux effectués durant mon stage. L’entreprise qui m’a encadré s’appelle New Vision Technologies. Son secteur d’activité est la vision industrielle. C’est donc dans ce domaine que j’ai été amené à mettre à jour ColiMe, un de leurs logiciels, ainsi qu’à imaginer une solution de déplacement linéaire motorisé, pour répondre aux besoins internes de l’entreprise.

La réalisation de ces types de projets dans un milieu d’entreprise est une première pour moi, et au terme de ce stage, je suis amené à faire le pont sur ce qu’il m’a apporté, tant d’u et au terme de ce stage, je suis amené à faire le point sur ce u’il m’a apporté, tant d’un point de vue technique que d’un point de vue personnel. C’est dans l’optique de répondre à cette problématique que je détaillerai quelques points techniques intéressants de ce que j’ai du réaliser, ainsi que le retour de mes expériences professionnelles.

Nous serons amenes à citer certains logiciels de programmation (LabVIEW, CodeWarrior), des notions de langage C et un peu d’électronique. Nous ferons volontairement un impasse sur les parties très techniques de mon stage. Nous diviserons ce rapport en deux grandes parties, la première raitant de la mise à jour du logiciel ColiMe, tandis que la deuxième partie s’attachera à la réalisation d’un projet de déplacement linéaire motorisé. Mais avant de nous lancer dans le vif du sujet, une petite présentation de l’entreprise, dans laquelle j’ai travaillé 10 semaines, s’impose. . Présentation de New Vision Technologies Du 14 avril au 19 juin, j’ai été stagiaire chez New Vision Technologies. Ce stage rentre à la fois dans le cadre de la validation de mon DUT, ainsi que de ma première expérience ‘équipe de l’entreprise se compose dans le monde du travail. L prlncpalement de 5 personnes permanentes: Véronique Newland est la gérante de l’entreprise. Elle s’occupe principalement de toutes les relations commerciales, et prend les grandes décisions dans l’entreprise. Elle possède une formation d’ingénieur optronique.

Pascal Lucia est ingénieur informatique, directeur du développement technique, assure le support après-vente et s’occupe des études de faisabilité. Catherine Odiot est assistante administrative, elle s’occupe de l’acc PAGF s OF l’accueil téléphonique, de tenir les comptes de l’entreprise, de asser les commandes et de la réception des clients. Éric Lunammachak est technicien supérieur dans le domaine de la vision et ingénieur technico-commercial. Il s’occupe des études de faisabilité et travaille en étroite collaboration avec Pascal Lucia.

Jamel gettahar est apprenti ingénieur dans le domaine de la vision. II s’occupe de projets courts dans le temps, dû au fait qu’il alterne école et entreprise une semaine sur deux. Déborah Bourquin est une stagiaire qui s’initie au monde du travail, dans le cadre de son BTS optique. Les locaux se situent à Champs sur Marne, en Seine et Marne (77). En illustration, un plan de situation suivi d’une photo des locaux de l’entreprisel • L’entreprise a été créée en janvier 2002, par Véronique Newland et Pascal Lucia.

L’entreprise est une société à responsabilité limitée (SARL), au capital de 15000 euros. Elle se place dans le secteur de la vision industrielle. Que comprendre derrière ce terme? La vision industrielle est l’application du traitement de l’image assistée par ordinateur aux domaines industriels de production et de recherche2. Elle a une clientèle de 10 à 15 entreprises par an, et réalise un chiffre d’affaires inférieur à 2 illions d’euros par année.

Le domaine d’application de leur réalisation est pour le moins assez vaste: agroalimentaire, ferroviaire, métallurgie, vérification d’objets usinés… L’entreprise est d’ailleurs toujours en recherche de nouveaux clients, et chaque année elle participe à quelques salons spécialisés pour se don 6 OF nouveaux clients, et chaque année elle participe à quelques salons spécialisés pour se donner une certaine visibilité: salon international de l’industrie ferroviaire (SIFER), National Instrument Weeks, salon de l’industrie…

Il n’existe qu’une petite dizaine ‘entreprises qui opèrent dans le même secteur d’activité, en France. 7. Mise à jour du logiciel ColiMe ColiMe est un outil de mesure de surfaces colorées développé par New Vision Technologies. Cet outil permet de définir des plages et des nuances de couleurs sur une image (acquise via une caméra vidéo) que l’on souhaiterait mesurer. Une application simple de cette solution serait de mesurer la couleur d’une baguette après cuisson, et de décider sa mise en commercialisation ou sa destruction.

En fonction de sa cuisson, la baguette présenterait des niveaux de couleurs différents. Si la surface d’une couleur représentant des zones brulées est plus importante que la surface des zones à point, alors, ColiMe vous alertera, et vous serez apte à prendre les mesures nécessaires quant à l’avenir de la baguette. Cette introduction à ColiMe, j’espère, vous aura permis de cerner globalement son utilité. Dans le but de répondre aux nouveaux besoins de ses clients, New Vlsion Technologies a décidé de me confier la tâche de mettre à jour ColiMe.

Ce dernier qui a été développé en 2003, sur LabVIEW 6. 1, doit être mis à jour vers une version 8,6, qui upporte de nouvelles possibilités et fonctionnalités. Le but recherché est d’avoir une version plus performante, plus facile ? faire évoluer et qui répond à de nouveaux besoins. Cest dans ce sens que je vais aborder les différents points clés de la mise à jour de ColiM 7 OF dans ce sens que je vais aborder les différents points clés de la mise à jour de ColiMe.

Dans un premier temps, nous serons amenés à remplacer les variables globales par des variables globales fonctionnelles, puis nous verrons comment créer une interface graphique souple et économe en ressources. La dernière partie concernera la répartition des tâches du programme dans un processeur. Avant de rentrer dans le vif du sujet, je vous propose une petite introduction à LabVIEW, qui vous permettra d’être à l’aise avec les notions que l’on abordera plus tard. 7. 1. Introduction à LabVIEW LabVIEW est un produit de National Instrument (NI), qui est basé sur un langage de programmation graphique.

Actuellement en version 8. 6, ce logiciel existe depuis plus de 20 ans. La notion de langage graphique (également appelé langage G) n’étant pas forcement facile à comprendre du premier coup pour le éophyte, je vous propose une petite présentation. Le principe se base sur des symboles graphiques (des fonctions) que l’on relie entre eux pour décrire une série d’actions séquentielle. À cela, on peut les encapsuler dans des structures qui vont nous permettre de répéter ce code un certain nombre de fois, ou jusqu’à ce qu’une condltion soit satlsfaite.

L’analogie avec les langages séquentiels peut continuer, avec la notion de variables. une variable permet de stocker ou de lire une valeur dans la mémoire de l’ordinateur. Les variables sont typées: un nombre entier, un nombre réel, une chaîne de caractères, n tableau, un booléen (vrai ou faux), un cluster (ensemble de variables différentes) Comprendre ces notions de base est essentiel à la compréhension de ce qui suit. L’illustratio différentes) Comprendre ces notions de base est essentiel à la compréhension de ce qui suit.

L’illustration 1 présente les différents types que nous avons précédemment mentionnés. Là où tous les fils convergent est une fonction qui consiste ? regrouper plusieurs variables différentes dans un cluster. Lors de la création d’un programme, LabVIEW présente deux visages: la face-avant, et le schéma. Les deux sont intimement liés. Le premier va être la partie que l’utilisateur final utilisera, sous forme d’application. Le second sera toute la partie algorithmique. Chaque bouton de la face-avant a une représentation dans le schéma sous la forme d’une variable que l’on peut lire ou écrire.

Le schéma va donc utiliser les données qu’entrera l’utilisateur dans la face-avant, pour les traiter. Une fois le traitement fini, les résultats sont affichés dans la face-avant, sous une forme compréhensible par l’utilisateur. Liun étant lié ? l’autre, on appelle cet ensemble fichier VI. illustration présente la face-avant (en haut) et le schéma (en bas). Maintenant que nous avons expliqué les bases de LabVIEW, nous pouvons nous intéresser aux modifications opérées sur ColiMe. 7. 2.

Cutilisation des Variables Globales Fonctionnelles optimise le programme Dans quasiment tous les langages de programmation existe la notion de variable. Une variable permet d’accéder ou d’écrire une donnée dans la mémoire vive de l’ordinateur. On peut y stocker des données variées. Dans le cas de LabVIEW, on peut stoker un nombre, une chaîne, un cluster, un tableau… Il existe rincipalement deux variantes: les locales et les globales. Les premières ne sont accessibles qu’à un certain endr locales et les globales.

Les premières ne sont accessibles qu’à un certain endroit du schéma, non dans tout le programme entier. Les secondes sont accessibles depuis n’importe quel endroit du programme, et c’est son principal intérêt. Mais, dans le cas de LabVIEW, elle a aussi de nombreux inconvénients, dont celui de rendre les schémas peu lisibles, et de ralentir l’exécution du programme. Nous allons voir en quoi les variables globales fonctionnelles (VGF) corrigent ce problème. 7. 2. 1. Les variables globales sont peu efficaces et mal optimisées sous LabVIEW Les variables locales sont stockées dans un espace mémoire dédié au programme.

Elles sont créées en même temps que l’ouverture du VI, et détruites à sa fermeture. Son accès en lecture et en écriture est donc très rapide. En revanche, les variables globales sont stockées en dehors de l’espace mémoire du programme. Ceci a plusieurs inconvénients: Lorsque l’on essaye de lire ou écrire dans une variable globale, LabVIEW va en faire une copie dans l’espace mémoire du programme. Une fois copié, le programme pourra effectuer une opération de ecture ou d’écriture.

Dès que les opérations sont finies, LabVIEW, replace la variable globale en dehors de l’espace mémoire du programme. Donc, plus la variable est grosse, plus la quantité de données à déplacer est importante. La conséquence directe est que beaucoup d’espace mémoire est utilisé pour stocker les mêmes informations à deux endroits différents. On perd deux fois plus de mémoire, et cette perte est encore plus importante dans le cas de grosses variables. On peut noter également aussi que cette copie prend du temps. Maintenant, imaginons que deux VIS fonctionn