Laboratorio de µFabricación -...
Transcript of Laboratorio de µFabricación -...
InstrumentaciInstrumentacióón virtualn virtual
Departamento de IngenierDepartamento de Ingenieríía Meca Mecáánica y nica y FabricaciFabricacióónn
Juan de Juanes MJuan de Juanes Máárquezrquez
AdquisiciAdquisicióón y Procesamienton y Procesamiento DAQDAQ--DSPDSP
•• Desarrollo de herramientas softwareDesarrollo de herramientas software•• DisminuciDisminucióón de costes en:n de costes en:
Ensayos y medidasEnsayos y medidasMonitorizaciMonitorizacióón y control de procesosn y control de procesos
•• Eficacia de funcionamientoEficacia de funcionamiento
InstrumentaciInstrumentacióón n virtualvirtual
•• InstrumentaciInstrumentacióón tradicional. Rn tradicional. Ríígidagida•• InstrumentaciInstrumentacióón n virtualvirtual. Flexible. Flexible
Software a medida de las necesidadesSoftware a medida de las necesidadesHardware compatible con sistemas electrHardware compatible con sistemas electróónicos de control existentesnicos de control existentesPrestaciones elevadasPrestaciones elevadas
Ventajas de la I. Ventajas de la I. VirtualVirtual
•• Instrumento diseInstrumento diseññado por el usuarioado por el usuario•• Prestaciones superioresPrestaciones superiores•• Capacidad de integraciCapacidad de integracióón con otros subsistemasn con otros subsistemas•• ReducciReduccióón de costes de inversin de costes de inversióónn•• ReducciReduccióón de costes de desarrollon de costes de desarrollo•• ReducciReduccióón de costes de mantenimienton de costes de mantenimiento
Elementos de un sistema DAQElementos de un sistema DAQ
Ordenador Equipos de adquisicióny análisis
TransductoresEquipos deacondicionamiento de señal
Subsistemas de adquisiciSubsistemas de adquisicióónn
•• TransductoresTransductores•• Acondicionamiento de seAcondicionamiento de seññalal•• Hardware de adquisiciHardware de adquisicióónn•• Software de adquisiciSoftware de adquisicióónn
Software de adquisiciSoftware de adquisicióónn
•• Posibilidades de programaciPosibilidades de programacióón del hardwaren del hardwareProgramaciProgramacióón a nivel de registrosn a nivel de registrosProgramaciProgramacióón con n con driversdriversProgramaciProgramacióón con software de aplicacin con software de aplicacióónn
LabLab--Windows CVIWindows CVI
•• LabWindowsLabWindows/CVI es un entorno en C/CVI es un entorno en C•• La aplicaciLa aplicacióón de instrumentacin de instrumentacióón se desglosa en n se desglosa en
varios ficherosvarios ficheros•• El conjunto de los ficheros empleados se conoce El conjunto de los ficheros empleados se conoce
como proyectocomo proyecto
Tipos de ficheros en CVITipos de ficheros en CVI
•• .c : .c : Ficheros fuente de cFicheros fuente de cóódigo Cdigo C•• ..uiruir : I: Interfaz grnterfaz grááficafica•• .h : .h : EncabezadoEncabezado•• ..dlldll : L: Libreribreríías de enlace dinas de enlace dináámicomico•• ..objobj : : Ficheros de tipo objetoFicheros de tipo objeto•• ..exeexe : Ficheros ejecutables: Ficheros ejecutables
Ventana de proyectoVentana de proyecto
•• Ventana principal de trabajo en CVIVentana principal de trabajo en CVI•• Desde ella se pueden editar los diferentes ficheros Desde ella se pueden editar los diferentes ficheros
que intervienenque intervienen
Crear un nuevo proyectoCrear un nuevo proyecto
•• Procedimiento para empezar el desarrollo de Procedimiento para empezar el desarrollo de cualquier aplicacicualquier aplicacióónn
AAññadir ficheros al proyectoadir ficheros al proyecto
Como crear una interfaz grComo crear una interfaz grááficafica
AAññadir controles al paneladir controles al panel
Cuadros de diCuadros de diáálogologo
Generador de cGenerador de cóódigodigo
Tipo de salida del enlazadorTipo de salida del enlazador
Control basado en eventosControl basado en eventos
EVENT_LOST_FOCUS Este evento se genera cuando perdemos el estatus anterior de focus.
EVENT_KEYPRESS Generamos el evento cuando presionamos una tecla.
EVENT_GOT_FOCUS Generamos un evento así cuando nos situamos encima del control y lo hacemospotencialmente seleccionable. Esto se consigue, por ejemplo, pulsando el TAB hastasituarnos encima del control.
EVENT_RIGHT_CLICK Idem que el EVENT_LEFT_CLICK, pero con el botón derecho.
EVENT_RIGHT_DOUBLE_CLICK Idem que el anterior, pero haciendo doble click.
EVENT_LEFT_CLICK Un evento así especifica que únicamente se generará un evento así cuando pulsemos elbotón izquierdo del ratón.
EVENT_LEFT_DOUBLE_CLICK Idem que el anterior pero haciendo doble click.
EVENT_COMMIT Generamos un evento así cuando pulsamos un botón con el ratón, cuando nos situamosencima de un control y pulsamos intro. Se podría decir que es el evento tipo o general.
EVENT_VAL_CHANGED Generamos un evento así cuando variamos de alguna forma el valor del control, tambiénsu estado.
LibrerLibreríías de CVIas de CVI
Ejemplo 1 (ANSI C)Ejemplo 1 (ANSI C)
#include <ansi_c.h>
main()
{
printf("Bienvenidos a CVI");
}
Ejemplo 2 (ANSI C)Ejemplo 2 (ANSI C)
#include <ansi_c.h>
main()
{
float Cel, Fahr;
printf("Fahrenhait\tCelsius\n");
for(Fahr=0; Fahr<=300; Fahr=Fahr+20)
{
Cel=5*(Fahr-32)/9;
printf("%6.3f\t\t%6.3f\n",Fahr,Cel);
}
}
Ejemplo 3 (CVI)Ejemplo 3 (CVI)
Ejemplo 4Ejemplo 4
Ejemplo 5Ejemplo 5
Ejemplo 6Ejemplo 6
Ejemplo 7Ejemplo 7
Ejemplo 8Ejemplo 8
Para notaPara nota