LABVIEW : une plateforme pour la mise en œuvre des TP sur les bus de terrains industriels

04/04/2014
Auteurs :
Publication 3EI 3EI 2013-71
OAI : oai:www.see.asso.fr:1044:2013-71:3422
DOI :

Résumé

LABVIEW : une plateforme pour la mise en œuvre des TP sur  les bus de terrains industriels

Métriques

28
10
681.32 Ko
 application/pdf
bitcache://045918bad5ddb52d2ea8e4fb03446d6236886f69

Licence

Creative Commons Aucune (Tous droits réservés)
<resource  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xmlns="http://datacite.org/schema/kernel-4"
                xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4/metadata.xsd">
        <identifier identifierType="DOI">10.23723/1044:2013-71/3422</identifier><creators><creator><creatorName>Jean-Louis Bianchi</creatorName></creator></creators><titles>
            <title>LABVIEW : une plateforme pour la mise en œuvre des TP sur  les bus de terrains industriels </title></titles>
        <publisher>SEE</publisher>
        <publicationYear>2014</publicationYear>
        <resourceType resourceTypeGeneral="Text">Text</resourceType><dates>
	    <date dateType="Created">Fri 4 Apr 2014</date>
	    <date dateType="Updated">Tue 13 Jun 2017</date>
            <date dateType="Submitted">Mon 15 Oct 2018</date>
	</dates>
        <alternateIdentifiers>
	    <alternateIdentifier alternateIdentifierType="bitstream">045918bad5ddb52d2ea8e4fb03446d6236886f69</alternateIdentifier>
	</alternateIdentifiers>
        <formats>
	    <format>application/pdf</format>
	</formats>
	<version>32807</version>
        <descriptions>
            <description descriptionType="Abstract"></description>
        </descriptions>
    </resource>
.

LABVIEW : une plateforme pour la mise en œuvre des TP sur les bus de terrains industriels Jean-Louis BIANCHI Lycée Jules Ferry 29 rue du Maréchal Joffre – 78000 Versailles 1. Pourquoi Labview ? Avec la généralisation des équipements communicants, l’approche pédagogique expérimentale doit être repensée pour intégrer l’étude des réseaux et bus de terrains industriels. Cela implique d’une part la maîtrise des outils de mise en œuvre des différents protocoles réseaux, et d’autre part une approche nouvelle de l’étude des équipements eux-mêmes dans ce contexte. Nous avions abordé ce dernier point dans un précédent article de la revue 3EI (Deprez/Bianchi/Juton/Maillefert : bus de terrain et supervision); en ce qui concerne l’étude des bus de terrains et réseaux industriels, plusieurs points sont à prendre en considération : Le niveau d’intervention : l’approche ne peut être identique si l’on s’adresse à des étudiants en formation BTS/DUT ou à des étudiants en école d’ingénieur et en licence professionnelle. L’étude des bus de terrains et leur mise en œuvre implique un socle de connaissances stabilisé sur les équipements (instruments, automates, calculateurs) et leur mise en œuvre spécifique. La spécialité : même si l’enseignement de l’informatique a beaucoup progressé, la réalisation d’applications dans des contextes communicants peut se heurter à un manque de maîtrise des outils de développement informatique. Cela peut être le cas d’étudiants non spécifiquement informaticiens mais amenés à développer des applications telles que supervision d’automates, instrumentation et centralisation de mesures par exemple. Ce dernier point est à relativiser : on objectera qu’il existe des outils spécifiques développés pour répondre à ces besoins tels que les logiciels de supervisions par exemple. Toutefois ces outils sont très spécialisés, parfois orientés vers un type de matériels ou constructeurs bien précis. Leur mise en œuvre suppose un apprentissage complètement dédié, très opératoire et qui sera souvent limité à ce que l’on peut faire dans le temps imparti. Par ailleurs, même si les concepts sont souvent proches, la spécialisation n’est pas souhaitable d’un point de vue pédagogique. La plateforme Labview nous semble amener des solutions à la fois techniques et pédagogiques très intéressantes. D’un point de vue technique, notons qu’il s’agit d’un outil très répandu en milieu industriel et donc fiabilisé. La mise en œuvre des matériels est grandement simplifiée, particulièrement si on utilise des supports National Instruments, mais également avec la plupart des équipements pour lesquels des solutions (pilotes) Labview existent. Si Labview est né avec l’instrumentation, son évolution a considérablement élargi les champs d’application et il intègre des outils adaptés à la plupart des préoccupations industrielles : supervision, instrumentation, traitement du signal, contrôle process, temps réel etc… D’un point de vue plus pédagogique, remarquons que le développement sous Labview utilise tous les concepts informatiques de base (variables, tableaux, structures de programmation, manipulations de données…) ; son apprentissage vient donc conforter les fondamentaux. Par ailleurs, on remarquera que l’interface graphique est particulièrement bien adaptée aux étudiants des filières génie électrique habitués à la schématisation et au concept de flux de données. L’aspect intuitif du développement, parfois critiqué, peut être relativisé si l’enseignant a le souci d’exiger une analyse formalisée. Enfin, remarquons que les librairies intégrées de Labview permettent de traiter tout type d’entrée/sorties d’instruments en mettant en œuvre les outils de communications de données spécifiques à la plupart des protocoles. On dispose ainsi d’une plateforme très ouverte qui au lieu de spécialiser, sectoriser les filières, donne à tous des outils simples à mettre en œuvre pour la réalisation d’applications informatiques industrielles. Résumé :Utilisation de Labview à travers un travail pratique en STSD IRIS. La mise en œuvre d’une communication par bus GPIB entre un appareil d’acquisition et Labview. 2. Mise en situation Nous avons choisi, au travers de deux Travaux Pratiques, d’aborder l’étude et la mise en œuvre de bus de terrains industriels. Ces travaux sont proposés à des étudiants en licence professionnelle A.I.I. option « contrôle et instrumentation des systèmes embarqués » proposée aux étudiants bac+2 conjointement par le lycée Jules Ferry de Versailles et l’I.U.T. de Cachan, et à des étudiants apprentis ingénieurs en génie électrique. Deux aspects sont visés au travers de deux séances de T.P. : Les outils de communication dans les applications d’instrumentation, et c’est le bus G.P.I.B. qui a été retenu,certes ancien mais toujours très utilisé dans l’industrie, pour sa fiabilité et son universalité dans le domaine de la mesure et de l’instrumentation. La supervision des automates programmables industriels en réseaux utilisant le protocole MODBUS TCP sur Ethernet. 3. Les objectifs Chaque TP possède des objectifs propres au contexte industriel de référence mais l’objectif commun principal est de développer une application dans un temps limité (4 heures) mettant en œuvre un bus de terrain industriel et sa problématique développée en cours. 4. Le contrôle d’un instrument par bus GPIB (IEEE488) Il s’agit ici de mettre en œuvre l’outil LABVIEW dans une application avec machine d’états permettant le contrôle distant d’un oscilloscope Tektronix TDS2xx ainsi que l’acquisition de mesures au travers du bus GPIB/ IEE488. Les champs abordés sont : Instrumentation : Configurer un instrument de mesure pour permettre son contrôle au travers d’un réseau sur bus IEEE488. Bus de terrain : Configurer un bus IEEE488 avec un contrôleur maître et un instrument de mesures Programmation Labview : Créer une application LABVIEW permettant de lire ou écrire des commande ou données sur un bus IEEE488 vers un instrument de mesures afin de le contrôler et effectuer des acquisitions de mesures. Développement informatique : concevoir une machine d’états. 4.1. Matériel et logiciels utilisés : Coupleur IEEE488/USB National Instruments: GPIB-USB_HS5 Un oscilloscope avec interface GPIB Tektronix TDS2xxx un câble IEEE488. Un PC avec LABVIEW 2011 et MAX (Measurement& Automation). Coupleur IEEE488/USB 4.2. Le contexte et les objectifs du TP : Nous avons constitué un banc de mesures avec : Un instrument de mesure contrôlable par une interface informatique, et qui effectue l’acquisition de mesures. Un bus de communications GPIB permettant le transfert des données de mesures et des commandes de configuration. Un ordinateur pour la supervision du banc. Nous devons réaliser un programme informatique qui ordonne de manièreséquentielle les ordres à l’instrument pour que celui-ci ait uneconfiguration adaptée aux mesures que l’on souhaite réaliser etnous renvoie celles-ci au travers du bus GPIB pour un affichage dans une I.H.M. Les données récupérées peuvent être les points de la courbe d’une voie choisie de l’oscilloscope ou l’acquisition d’une mesure demandéepar l’utilisateur telle que fréquence, tension RMS ou autre… 4.3. La progression du TP et les méthodes proposées : Les étudiants ont à leur disposition le répertoire des commandes et questions GPIB propres à l’instrument utilisé. Avant de se lancer dans la programmation Labview, quelques tests basiques permettent de vérifier que le bus est opérationnel, que l’instrument et le contrôleur GPIB sont bien connectés. C’est ce que permet de faire très simplement l’outil Measurement& Automation disponible avec la suite Labview. On pourra également tester quelques commandes GPIB de l’instrument : 1ère partie : Configuration du bus GPIB et tests à l’aide de l’outil Ni_MAX (Measurement& Automation) : Il s’agit à ce stade d’attribuer une adresse GPIB à l’instrument, de tester la connexion GPIB et de passer quelques commandes et questions basiques à l’instrument. On placera également l’instrument dans une configuration initiale permettant de simplifier la tâche de l’application à réaliser. Après avoir sélectionné l’instrument, l’interface de MAX permet l’envoi de commandes et requêtes GPIB : -Demande d’identification- -Configuration pour mesure de valeur crête à crête- 2ème partie : La programmation de l’application LabView et les librairies à disposition : Structure algorithmique : Afin de structurer le travail et d’éviter une écriture anarchique du programme, on impose une structure de machine à états : EtatInit : Etat d’initialisation dans lequel on place l’instrument dans une configuration de base par défaut.. EtatEvent : Constitué d’une boucle événementielle, il gère les requêtes en face avant. Etat configuration instrument : instancié depuis l’état event si une demande de modification de configuration (calibre par exemple) s’est produite en face avant. Etat acquisition mesures : instancié depuis l’état event si une demande d’acquisition de mesure s’est produite en face avant. Etat acquisition graphe : cet état rapatrie les points du graphe présents sur l’écran oscilloscope, il est exécuté à chaque « «time out » de la boucle événementielle. Etat close : Exécuté depuis Event après détection de stop en face avant ou sur erreur, il clôt la connexion GPIB. 4.4. Les outils Labview pour la communication de données En ce qui concerne la gestion GBIB/IEEE488, deux librairies peuvent être utilisées, une librairie spécifique au bus GPIB ou la librairie VISA. Si on considère que cette dernière possède un caractère plus universel, que les étudiants l’ont déjà utilisée dans d’autres applications d’une part, que du point de vue mise en œuvre du GPIB un TP est une application volontairement limitée d’autre part, on retient la librairie VISA dont voici les fonctions essentielles proposées pour ce TP : VISA Open & Close: Permettent l’ouverture et la fermeture d’une connexion vers l’interface GPIB. VISA Read &Write: Permettent respectivement l’écriture et la lecture de chaînes de caractèresvers ou en provenance de l’interface GPIB. Présence du contrôleur GPIB-USB-HS5 L’instrument0 est détecté, (oscilloscope TDS220, adresse GPIB : 2). Stop Sur demande de mesures en face avant. Sur modif de config en face avant. Init Event ? Configuration Instrument Acquisition Graphe Acquisition Mesures Close Sur erreur depuis tous les états. Sur time out 4.5. Rappels sur le principe des communications GPIB: Tous les composants et interfaces présents sur le bus GPIB doivent posséder une adresse unique comprise entre 0 et 30. L’adresse 0 est réservée au contrôleur d’interface GPIB, les instruments peuvent donc utiliser une adresse comprise entre 1 et 30. Le contrôleur gère le flot des informations sur le bus, il définit les liens de communication et envoie les commandes aux instruments en gérant les adresses. Le bus GPIB transfère plusieurs types d’informations : Les commandes (COMMANDS) : Ce sont des chaînes de caractères qui ordonnent à un instrument d’effectuer une opération telle qu’effectuer une mesure ou mémoriser un réglage. Les questions (QUERIES) : Ce sont des chaînes de caractères qui interrogent un instrument et provoquent une réponse de sa part. Une chaîne de question se termine toujours par un point d’interrogation (ex : IDN ? demande d’identification d’un instrument). Les données (DATAS) : Elles sont utilisées pour passer l’information. Elles peuvent être émises vers l’instrument comme en provenir. Remarque : Certaines commandes et questions sont communes à tous les instruments, d’autres sont spécifiques à tel ou tel instrument ; commandes et questions communes commencent par un astérisque :(*) 4.6. La programmation de l’application GPIB sous Labview : Le modèle de machine d’états décrit une série d’états et les conditions d’évolution d’un état à l’autre. Chaque état exécute du code et détermine l’état suivant à exécuter, les états sont passés d’une itération à la suivante par un registre à décalage implanté sur la boucle while : Avant d’entrer dans la machine d’états, on scrute le bus afin de déterminer quels sont les instruments connectés sur la ressource GPIB : La fonction Visa Find interroge le système pour localiser les périphériques associés à une interface spécifiée, en l’occurrence ici le GPIB. La fonction retourne en sortie un tableau de chaînes constituant la liste des instruments connectés en GPIB, à la suite de quoi il est possible d’ouvrir une connexion vers l’instrument choisi. 1 Initialisation : Configuration par défaut de l’instrument Cette première étape consiste à envoyer une série de commandes GPIB pour placer l’instrument dans une configuration par défaut. On pourra ainsi choisir une voie d’acquisition par défaut, la sensibilité verticale, la base de temps principale, le niveau de déclenchement de celle-ci, le type de codage retenu pour le transfert des données, etc…. Visa Find Visa ouvrir une connexion Vers la ressource GPIB détectée et issue du tableau de chaîne constituant la liste Des instruments connectés. Premier état (init) Sélection des états Registre à décalage (out) Registre à décalage (in) Prochain état (à i+1) L’état stop permet de clore les communications et quitter l’application. Etat sélectionné Variable locale(type chaîne) contenant le paramètre de configuration de la base de temps. Ecritured’une chaine de commande GPIB , soit : HOR :MAI :SCA suivie du paramètre de configuration. Calibrage de la base de temps principale. 2 Event : Attente d’un événement en face avant : Cet état utilise une structure événementielle qui attend qu’un événement se produise puis exécute selon la condition appropriée le code associé à cette condition. Cette structure est particulièrement bien adaptée ici : Si une modification de configuration de l’instrument est demandée en face avant par exemple, la structure renvoie vers l’état « configuration », si une demande d’acquisition de mesure est sollicitée en face avant, la structure renvoie à l’état « mesure ». On notera qu’avec ce type de structure, une commande GPIB n’est émise que si nécessaire suite à une modification sur l’IHM, ce qui permet d’éviter les transferts inutiles sur le bus. On peut intégrer un événement « time out » dans la structure événementielle. C’est ce qui est fait ici : au time out si aucun autre événement ne s’est produit la structure renvoie vers l’état « acquisition » dans lequel on rapatrie les points de la courbe présente sur la voie sélectionnée de l’instrument. 3 Configuration : Permet de configurer l’instrument (un oscilloscope TSD2xxx) en fonction des choix effectués sur l’IHM par l’utilisateur. Les commandes GPIB et leur syntaxe sont fournies par le constructeur. Il s’agit de simples chaines de caractères émises lors d’une écriture sur le bus GPIB vers l’instrument. Elles doivent intégrées les paramètres choisis par l’utilisateur, passé ici par variables locales : 4 Acquisition graphe C’est à partir de cet état que sont rapatriées les données demandées à l’instrument. Il pose quelques questions intéressantes : tout d’abord le format des données émises par l’instrument et leur exploitation vers l’IHM. Ensuite, un problème plus spécifique à la gestion des communications : la synchronisation des échanges. Le traitement des données issues de l’instrument : Les données émises par l’instrument doivent être exploitées dans l’application Labview pour être présentées sur l’I.HM. En ce qui concerne la récupération des points d’affichage de la courbe à l’écran par exemple, l’instrument renvoie une chaîne de caractères représentant un nombre. Ce nombre code la position du point sur l’écran dans un codage qui peut être choisi (notons que comme d’autres paramètres de configuration de l’instrument, il peut être défini « de base » et à charge pour l’utilisateur de placer l’instrument dans la bonne configuration avant utilisation du logiciel, ou configurable depuis le logiciel si celui-ci intègre la commande de configuration correspondante). Dans le cas de l’oscilloscope utilisé ici, une courbe présente à l’écran est composée de 2500 points au maximum et chaque point peut être codé en amplitude selon les formats suivants déterminés par la commande GPIB de codage des données : Commande GPIB Format Codage binaire Octet de tête (16 bits) DAT : ENC : ASCI ASCII -- -- DAT : ENC : RIB Binaire Entier signé (8 ou 16 bits) MSB DAT : ENC : RPB Binaire Entier positif (8 ou 16 bits) MSB DAT : ENC : SPI Binaire Entier signé (8 ou 16 bits) LSB DAT : ENC : SPB Binaire Entier positif (8 ou 16 bits) LSB En format ASCII, les données sont codées sur 8 bits (un caractère) ; pour les autres formats (binaires), il est possible de choisir un codage 16 ou 8 bits et dans ce cas la différence entre les codages S et R porte sur l’ordre de rangement des deux octets. Dans les codages signés (RPI et SPI), en 8 bits la gamme est de -128 à +127 pour respectivement le bas de l’écran et le haut de l’écran de l’oscilloscope, soit un code complément à 2 (-32768 et 32768 en 16 bits), le centre de l’écran étant codé 0. Dans les codages non signés (RPB et SPB) le 0 indique le bas de l’écran et le maximum le haut. Voici un exemple de code illustrant la simplicité avec laquelle peuvent être traitées les données : Le code utilisé ici est le code RIB en 8 bits. On lit une chaîne de caractère de 2506 points dont une entête de six octets, une fonction sous –ensemble d’une chaîne permet d’éliminer cette entête. A la suite de quoi, la chaîne est transformée en un tableau de 2500 octets dont le codage est signé en 8 bits (I8) ; après une mise à échelle dépendant du calibre choisi en face avant, ces données peuvent être affichées sur le graphe d’I.H.M. (On remarquera le caractère polymorphe de la fonction multiplication qui s’applique sur un tableau ici) La synchronisation des échanges : C’est la préoccupation majeure elle concerne la gestion du flux des échanges entre l’instrument et le contrôleur. Prenons le cas où on émet une demande de données représentant une courbe présente à l’écran de l’oscilloscope avec la question CURV ? par exemple. Dans ce cas l’instrument doit préparer les données dans un buffer et c’est seulement lorsque celui-ci est plein que le message est disponible et que l’on peut émettre une commande de lecture VISA READ. Se synchroniser c’est mettre en œuvre un contrôle qui permet d’être certain que les données sont disponibles avant de faire la demande de lecture. Trois méthodes peuvent s’appliquer avec plus ou moins d’efficacité :  Gestion temporelle des échanges : elle consiste à introduire un time out qui va permettre d’attendre que l’instrument soit prêt avant de faire la lecture. C’est la solution la moins performante, cela nécessite de connaître le temps nécessaire pour chaque opération, elle devient vite ingérable lorsqu’on dialogue avec plusieurs instruments… Les deux méthodes suivantes nécessitent de connaître la structure du contrôleur embarqué dans tout instrument IEEE488, soit : On remarque la présence du registre d’état STB quipeut être scruté à l’aide de la fonction VISA suivante : Les registres ESR, ESE et SRE permettent le contrôlede l’instrument en mode événementiel. Leur programmation permet de générer une requête de service au contrôleur sur un événement précis comme par exemple la file d’attente de données pleine.  Gestion des échanges en mode scrutation (polling) : C’est la méthode que nous utiliserons dans ce TP. Elle consiste à faire une lecture du registre de statut (STB) de l’instrument lorsqu’on attend des données. Lorsque la file d’attente de l’instrument est pleine et que les données sont disponibles pour une lecture, le bit 4 du STB, soit MAV (message available) le signale en passant à 1. Tant que ce bit n’est pas à 1 on attend, lorsqu’il passe à 1 on peut effectuer la lecture, exemple : Mise à échelle Transformation du mot d’état en tableau de bits Test du bit 4 ; tant que celui-ci n’est pas à 1 on attend Envoi de la question CURV ? à l’instrument (demande de rapatriement des points de la courbe présente à l’écran) Scrutation du registre STB de l’instrumentdans une boucle while Lecture des 2500 points constituant la courbe à l’écran de l’instrument  Gestion des échanges en mode événementiel : Elle consiste à utiliser le mécanisme des requêtes de service lorsqu’un événement choisi se produit au niveau de l’instrument. Le procédé est comparable à celui des interruptions, c’est la méthode la plus performante car elle n’est pas bloquante au niveau de l’application LabView. 4.7. L’I.H.M. de face avant : La conception de la face avant proposée ici fait intervenir plusieurs points importants, notamment : La mise en œuvre d’une structure événementielle permettant l’envoi de commande GPIB vers l’instrument uniquement sur changement d’état des commandes en face avant. La mise en œuvre de nœuds de propriétés permettant l’adaptation des échelles de graphe et niveau de synchronisation en fonction des réglages choisis pour l’instrument. 5. Conclusion Rappelons que l’objectif principal n’est pas ici strictement informatique ; il s’agit de mettre en œuvre un bus de terrain industriel dans une application limitée d’instrumentation. De ce point de vue, la solution Labview permet à l’étudiant d’aller plus directement à l’essentiel en s’affranchissant d’éventuels problèmes de programmation et d’adaptation matérielle. Il faut bien sûr considérer que l’étudiant n’est pas débutant en informatique et qu’il connaît les fondamentaux de la programmation Labview. Il sera néanmoins amené à se questionner sur des concepts fondamentaux : La représentation des données : Les commandes et questions GPIB s’effectuent par envoi de chaînes de caractères. Les données en provenance de l’instrument comme par exemple les points d’une courbe à l’écran peuvent avoir plusieurs types de représentation (ASCII, binaire pur…). Cela implique une configuration en connaissance de cause de l’instrument et une interrogation sur les outils de manipulation de données à mettre en œuvre sous Labview. La synchronisation des échanges : C’est le point le plus délicat ; il nécessite une interrogation sur le comportement de l’instrument et suscite plusieurs approches possibles (time out, polling, requêtes de service). Dans les cas de scrutation ou requête de service, les étudiants sont amenés à étudier la structure du contrôleur IEEE488 de l’instrument. Le protocole de transfert et la charge du bus : Cet aspect vise plus particulièrement à interpeler les étudiants sur les protocoles à mettre en œuvre pour la prise en compte d’événements tout en se préoccupant de la charge admissible des transferts sur le bus. La mise en forme des acquisitions et leur représentation graphique : Plus spécifiquement informatique, ce point vise à mettre en œuvre les nœuds de propriétés de façon à produire des I.H.M. conviviales et adaptées au cahier des charges.