INSTRUMENTACIÓ VIRTUAL AMB PYTHON Alexandre Cors Bardolet Tutor: Jordi Sellarès Juny 2011
Instrumentació virtual
Instrumentació virtual Instruments tradicionals - No hi ha digitalització (manual) Instrumentació virtual Digitalització de les dades intrínseca. - Escàs emmagatzematge de les dades. - Fàcil emmagatzematge de les dades. - Pobre o nul la representació de les dades gràficament. - Representació de dades immediata i gràficament. - Presència física de qui realitza la instrumentació. - Possibilitat d'instrumentació remota. - Control de cada instrument per separat. - Concentració del control de diversos laboratoris.
LabVIEW Software amb molta tradició (1986). No calen gaires coneixements de programació. Fàcil d'instal lar, configurar i programar. Compatible amb la majoria d'instruments. Multiplataforma.
LabVIEW Preu de les llicències. Agressiu en recursos. Estil de programació no enfocat a grans sistemes de control. No es pot accedir al codi. No es pot desenvolupar software comercial sense pagar quantitats adicionals.
Pythics Codi lliure Autor: Brian D'Urso. Programat en Python. Pocs recursos. Multiplataforma. Matplotlib, PyQwt, NumPy, etc.
Objectius Avaluar l'ús del programa Pythics com a alternativa al LabVIEW. Reaprofitar maquinària vella per tasques d'instrumentació. Realitzar diverses màquines virtuals utilitzant el màxim de connexions diferents. Realitzat el codi fàcilment reaprofitable i entenedor per a futurs desenvolupaments. Dotar de màquines virtuals diversos instrument que no en tenen.
Placa d'entrenament 6 sortides digitals 2 sortides analògiques 2 entrades digitals 4 entrades analògiques
Placa d'entrenament
Instrument: Arduino Propietats de l'instrument Arduino Microcontrolador Atmega 328 Bits microcontrolador 8 bits Connexió Sèrie, emulada per USB Pins digitals 16 multi-propòsit (6 PWM) Pins analògics 0 (6 PWM) Alimentació USB Resolució entrada analògica 10 bits
Instrument: Arduino FUNCIONS: Entrada digital Sortida digital Entrada analògica Sortida PWM
Instrument: Arduino Interfície gràfica Connector interfície/controlador Controlador Protocol comunicació (sèrie emulat USB)
Instrument: 1408FS Propietats de l'instrument 1408FS Connexió USB Entrades/Sortides digitals 16 (8 x 2) Entrades analògiques 8 amb 13 bits resolució o 4 amb 14 bits resolució Sortides analògiques 2 amb 12 bits resolució Alimentació USB
Instrument: 1408FS FUNCIONS: Entrada digital Sortida digital Entrada analògica Sortida analògica
Instrument: 1408FS Interfície gràfica Connector interfície/controlador Controlador / wrapper Controlador comunicacions USB
Màquina virtual: vi_entrenament
Màquina virtual: vi_entrenament
Instrument: Analitzador d'impedàncies HP 4192A LF Mesura d'impedàncies en diverses unitats Port GPIB
Màquina virtual: vi_analitzador_impedancies Interfície gràfica Connector interfície/controlador Controlador GPIB
Màquina virtual: vi_analitzador_impedancies
Màquina virtual: vi_analitzador_impedancies
Requeriments Pythics Comparativa requeriments Pythics / LabVIEW Concepte Pythics LabVIEW Processador Pentium II Pentium IV Memòria RAM 128 Mb 1Gb Disc Dur 300 Mb 1,6 Gb
Crítica al programa Pythics Poca resistència al errors. Falten molts paràmetres html per implementar. És difícil alinear els components amb finalitats estètiques. No existeixen flags d'inicialització ni de tancament. Manquen alguns widgets.
Conclusions Pythics és un programa que permet substituir LabVIEW de manera correcte. S'ha pogut realitzar instruments virtuals per diversos protocols de comunicació. Amb Pythics i una distribució Linux lleugera, es poden recuperar màquines velles per instrumentació. Python és un llenguatge molt potent i versàtil.
Conclusions Comparativa LabVIEW / Pythics Paràmetre LabVIEW Pythics Preu Llicència cara Gratuït Propietat de productes derivats Pagament de llicències Propietat del programador Temps de configuració Poques hores Poques hores Manera de programació de les interfícies Gràfica Programació Personalització del programa Poca Total (accés al codi) Suport National Instrument Comunitat
Pla de treball Estudi del funcionament de Pythics. Dissenyar del protocol de comunicació entre Pythics i l'arduino. Creació de la interfície per l'arduino. Estudi de la llibreria ctypes. Creació de la interfície pel 1408FS. Creació de la interfície comuna vi_entrenament. Consideracions estètiques de la interfície vi_entrenament.
Pla de treball Començar la instrumentació del HP 4192A LF familiaritzant-se amb la casuística de les seves funcions i protocol de comunicació. Preparació de l'ordinador on es realitzarà la instrumentació del HP 4192A. Desenvolupar la màquina virtual pel HP 4192A LF amb el controlador GPIB. Consideracions estètiques.
Pla de treball Estudi del funcionament de Pythics. Dissenyar del protocol de comunicació entre Pythics i l'arduino. Creació de la interfície per l'arduino. Estudi de la llibreria ctypes. Creació de la interfície pel 1408FS. Creació de la interfície comuna vi_entrenament. Consideracions estètiques de la interfície vi_entrenament.
Pressupost Pressupost Referència Quantitat Preu unitari Total Hora de feina 250 hores 6 / hora 1500 Total 1500
Millores futures Donar estabilitat al programa. Afegir diversos widgets. Possibilitat d'instrumentació remota.
Gràcies per la seva atenció Alguna pregunta?