920 likes | 1.18k Views
CNAM 2007-2008 NST 101 Outils logiciels pour l'instrumentation, la mesure et le contrôle industriel. Enseignants : St é phan BRIAUDEAU (briaudeau@cnam.fr, tel. : 0158808927) Nicolas Pousset ( nicolas.pousset@cnam.fr tel. : 0158808903
E N D
CNAM 2007-2008 NST 101 Outils logiciels pour l'instrumentation, la mesure et le contrôle industriel Enseignants : Stéphan BRIAUDEAU (briaudeau@cnam.fr, tel. : 0158808927) Nicolas Pousset (nicolas.pousset@cnam.fr tel. : 0158808903 Dates des Cours/TD/TP ( Stéphan BRIAUDEAU, Nicolas Pousset) 15 séances le mardi de 17h30 à 21h45 Du mardi 2 octobre 2007 au mardi 22 janvier 2008 premier cours le 2 octobre 2006 dernier cours le 22 janvier 2007 pas de cours les 25 décembre 2006 ni le 01 janvier 2007 Lieu des cours : Salle SD321 et SD 322 sur le site CNAM du Landy, 61 rue du Landy, 93210 La Plaine Saint Denis Examen non encore fixé, à ce stade Contrôle continu (CC) : deux projets de TP à remettre et notés sur 20 par binôme : D1,D2 Note de contrôle continu : CC(/20)= (D1+D2) / 2 Examen premiere session : E1(/20) Note finale issue première session : N1 = 30% CC + 70% E1 Si N1 10/20 : admission Sinon : examen seconde session : E2 (/20) Note finale après seconde session : N2 = 40% CC + 60% E2 Si N1 10/20 : admissionSinon : ajourné
CNAM 2007-2008 NST 101 Outils logiciels pour l'instrumentation, la mesure et le contrôle industriel • Public concerné et conditions d’accès • Techniciens, techniciens supérieurs, cadres ou ingénieurs désirant s'initier au pilotage logiciel d'instruments et à l'instrumentation à façade virtuelle. Une maîtrise élémentaire de l'outil informatique, et un niveau technique de technicien supérieur, sont requis. • Finalités de l’unité d’enseignement • Objectifs pédagogiques • Être capable de mettre en oeuvre, dans un cadre industriel, des solutions d'instrumentation intelligente mettant en oeuvre des capteurs, un ou plusieurs réseaux, le traitement des données ainsi que leur mise à disposition sous forme de graphiques, de rapport, voire de publication web, tout en respectant des critères élémentaires de sécurité, de fiabilité et d'ergonomie. • Capacité et compétences acquises • - Aptitude à faire l'analyse d'un problème d'acquisition de données ou de mesures, ou de communication avec des organes de contrôle industriel.- Aptitude à mettre en oeuvre une solution logicielle efficace pour répondre au cahier des charges établi.- Aptitude à proposer des solutions de mise en oeuvre et d'exploitation les plus indépendantes possibles du matériel. • de messages, machine d'état...
CNAM 2007-2008 NST 101 Outils logiciels pour l'instrumentation, la mesure et le contrôle industriel • Contenu de la formation • 3 modules de 20h(compatibilité DIF) • 1) Bases de programmationCréation d'un instrument virtuel. Flot de données. Types de données. Boucles « N fois » et « tant que ». Branchement conditionnels, à choix multiples. Opérations sur les chaînes de caractères, E/S fichiers. Débogage. Gestion des événements utilisateur. • 2) Acquisition de données - contrôle d'instruments et de systèmes- réseauxLiaison série, parallèle. Protocoles d'échange. Contrôle d'instruments. Couche d'abstraction : VISA. Ethernet et réseau internet : structure et fonctionnement. TCP/IP, port serveur de données Datasocket. Mise en oeuvre d'OPC (OLE for Process Control). Édition automatique de rapports. Publication WEB de résultats. • 3) Techniques complémentairesLe contenu de ce module est adaptable par un centre d'enseignement en fonction des spécificités locales pour répondre aux demandes du bassin d'emploi. Exemple de thèmes pouvant être traités : -Communication avec un automate programmable-Supervision-Création de DLL - utilisation de DLL. -Mise en oeuvre de contrôles ActiveX-Compilation pour le temps réel (Labview RT ou Matlab temps réel)-Bases de vision industrielle (IMAQ vision, assistant vision)-Architectures : maître/esclave, client/serveur, gestionnaire de file
CNAM 2007-2008 NST 101 Bases de programmation(1)Construire un organigramme Exemple d'algorithme.On désire acquérir 10 nombres au clavier, calculer la moyenne de ces nombres, et afficher le résultat à l'écran. • Organigramme : • Recenser les données du problème : • ces données constituent les variables d’entrée du programme • il faut leur affecter un type de variable ainsi qu’nu nom de variable • Recenser les solutions du problème • Ce sont les données de sortie du problème, ou une action • Leur affecter un type de donnée et un nom de variable • Décrire les actions nécessaires pour résoudre le problème posé • Ces actions constituent des sous programmes, ou fonctions • Ces sous programmes peuvent nécessiter l’introduction de variables • d’entrée et de sortie intermédiaires • Décomposer ces actions en sous actions jusqu’aux fonctionnalités et • opérateurs du langage utilisé • Il faut donc connaître les opérateurs de base ainsi que les types de base du langag • 5) Réaliser l’organigramme • 6) Coder l’organigramme en langage de programmation
CNAM 2007-2008 NST 101 Bases de programmation(1)Construire un organigramme
CNAM 2007-2008 NST 101 Bases de programmation(1)Construire un organigramme et un algorithme Ecriture algorithmique : Début ! somme <-- 0 ! pour k=1 à 10 avec un pas de 1, faire ! ! lire ( au clavier ) x ! ! somme <-- somme + x ! fin pour ! moyenne <-- somme / 10 ! écrire ( écran ) moyenne Fin
CNAM 2007-2008 NST 101 Bases de programmation(1)Introduction à Labview
CNAM 2007-2008 NST 101 Bases de programmation(1)Introduction à Labview
CNAM 2007-2008 NST 101 Bases de programmation(1)Introduction à Labview Instrument Virtuel : Face avant (front panel) « les indicateurs » (variables d’entrée) « les controles » (variables de sortie) Instrument virtuel : Face arrière (diagram) le corps du programme graphique Notion de flux de données
CNAM 2007-2008 NST 101 Bases de programmation(1)Introduction à Labview Plan : 1) Instrument virtuel : face avant et arriere 2) Programmation graphique et de flux de données : câblage et organisation 3) L’aide et la boite d’outils et de fonctions 4) Débuguer un programme 5) Les structures de programmes boucles (N répétitions, tant que, cadencée,registres a decalage) , conditionnelle, séquence et évênement sous programmes, boite de calcul 6) Les types de variables locale ou globales numériques, tableaux, chaines de caractéres, booléennes, clusters, fichiers 7) Enregistrer une bibliothèque de programmes
Section I • LabVIEW terms • Components of a LabVIEW application • LabVIEW programming tools • Creating an application in LabVIEW
LabVIEW Programs Are Called Virtual Instruments (VIs) • Front Panel • Controls = Inputs • Indicators = Outputs • Block Diagram • Accompanying “program” for front panel • Components “wired” together
VI Front Panel Front Panel Toolbar Icon Boolean Control Graph Legend Waveform Graph Scale Legend Plot Legend
VI Block Diagram Block Diagram Toolbar Divide Function SubVI Graph Terminal Wire Data While Loop Structure Numeric Constant Timing Function Boolean Control Terminal
Express VIs, VIs and Functions • Express VIs: interactive VIs with configurable dialog page • Standard VIs: modularized VIs customized by wiring • Functions: fundamental operating elements of LabVIEW; no front panel or block diagram Function Standard VI Express VI
Controls and Functions Palettes Controls Palette (Front Panel Window) Functions Palette (Block Diagram Window)
Tools Palette • Floating Palette • Used to operate and modify front panel and block diagram objects. Automatic Selection Tool Scrolling Tool Breakpoint Tool Probe Tool Color Copy Tool Coloring Tool Operating Tool Positioning/Resizing Tool Labeling Tool Wiring Tool Shortcut Menu Tool
Status Toolbar Run Button Continuous Run Button Abort Execution Pause/Continue Button Text Settings Align Objects Distribute Objects Reorder Resize front panel objects Additional Buttons on the Diagram Toolbar Execution Highlighting Button Step Into Button Step Over Button Step Out Button
Open and Run a Virtual Instrument Example finder
Creating a VI Front Panel Window Block Diagram Window Control Terminals Indicator Terminals
Wiring Tips – Block Diagram Wiring “Hot Spot” Click To Select Wires Use Automatic Wire Routing Clean Up Wiring
Dataflow Programming Dataflow Programming • Block diagram executes dependent on the flow of data; block diagram does NOT execute left to right • Node executes when data is available to ALL input terminals • Nodes supply data to all output terminals when done
Help Options Context Help • Online help • Lock help • Simple/Complex Diagram help • Ctrl + H Online reference • All menus online • Pop up on functions in diagram to access online info directly
Debugging Techniques • Finding Errors • Execution Highlighting • Probe Click on broken Run button Window showing error appears Click on Execution Highlighting button; data flow is animated using bubbles. Values are displayed on wires. Right-click on wire to display probe and it shows data as it flows through wire segment You can also select Probe tool from Tools palette and click on wire
Section II – SubVIs • What is a subVI? • Making an icon and connector for a subVI • Using a VI as a subVI
Block Diagram Nodes Icon Expandable Node Expanded Node • Function Generator VI • Same VI, viewed three different ways • Yellow field designates a standard VI • Blue field designates an Express VI
SubVIs • A SubVI is a VI that can be used within another VI • Similar to a subroutine • Advantages • Modular • Easier to debug • Don’t have to recreate code • Require less memory
Icon Terminals Connector Icon and Connector • An icon represents a VI in other block diagrams • A connector shows available terminals for data transfer
SubVIs Sub VIs
Steps to Create a SubVI • Create the Icon • Create the Connector • Assign Terminals • Save the VI • Insert the VI into a Top Level VI
Create the Icon • Right-click on the icon in the block diagram or front panel
Create the Connector Right click on the icon pane (front panel only)
Save The VI • Choose an Easy to Remember Location • Organize by Functionality • Save Similar VIs into one directory (e.g. Math Utilities) • Organize by Application • Save all VIs Used for a Specific Application into one directory or library file (e.g. Lab 1 – Frequency Response) • Library Files (.llbs) combine many VI’s into a single file, ideal for transferring entire applications across computers
Insert the SubVI into a Top Level VI • Accessing user-made subVIs • Functions >>All Functions >> Select a VI • Or • Drag icon onto target diagram
Tips for Working in LabVIEW • Keystroke Shortcuts • <Ctrl-H> – Activate/Deactivate Context Help Window • <Ctrl-B> – Remove Broken Wires From Block Diagram • <Ctrl-E> – Toggle Between Front Panel and Block Diagram • <Ctrl-Z> – Undo (Also in Edit Menu) • Tools » Options…– Set Preferences in LabVIEW • VI Properties – Configure VI Appearance, Documentation, etc.
Exercise 2 – Simple Data Acquisition Complete Convert C to F.vi, then create Thermometer.vi.
Section IV – Loops and Charts • For Loop • While Loop • Charts • Multiplots
Loops • While Loops • Have Iteration Terminal • Always Run at least Once • Run According to Conditional Terminal • For Loops • Have Iteration Terminal • Run According to input N of Count Terminal
Loops (cont.) 1. Select the loop 2. Enclose code to be repeated 3. Drop or drag additional nodes and then wire
Charts Waveform chart – special numeric indicator that can display a history of values Controls >> Graph Indicators >> Waveform Chart
Single Plot Charts Multiplot Charts Wiring Data into Charts
Exercise 3 – Using loops Students build Use a loop.vi.
Section V – Arrays & File I/O • Build arrays manually • Have LabVIEW build arrays automatically • Write to a spreadsheet file • Read from a spreadsheet file
Adding an Array to the Front Panel From the Controls >> All Controls >> Array and Cluster subpalette, select the Array Shell Drop it on the screen.
Adding an Array (cont.) Place data object into shell (i.e. Numeric Control)
Creating an Array with a Loop • Loops accumulate arrays at their boundaries