Usuario:984 M18379

De Wikifab

Contenido

TAREA # 2

Realización de un interface de usuario - con un "set" de datos en un gráfico de un panel diferente

Procedimiento

En el User Interface Editor, se crea la interface de usuario solicitada por la tarea para lo cual debemos dibujar dos paneles; el primer panel tendrá tres accesos numéricos, tres botones de comando y un gráfico tipo "Strip Chart" mientras que el segundo panel tendrá un accesos numérico de color, tres botones de comando y un gráfico. Lo anteriormente mencionado aparece en la siguiente figura:

Imagen:18379_a.jpg

El siguiente paso es realizar el control del programa solicitado, para ello se selecciona Generate»All Code desde el menú Code, aparecerá una serie de cuadros de diálogo que pide guardar el archivo .uir y esperamos a que se genere automáticamente el código base de acuerdo a lo dibujado en los paneles de control.Para continuar con la programación de la iterface creada se añade ordenes de lo que se desea ejecutar en cada botón, pero previo a esto debemos asegurarnos de incluir o de que estén incluidas las librerías sobre todo formatio.h que habilitará las funciones para grabar un archivo de adquisición de datos.

Imagen:18379_b.jpg

Previo a esto debemos declarar las variables de tipo double, int y float que se usaran por las funciones y operaciones que planteemos, para este caso de estudio se ha generado las siguientes variables:

Imagen:18379_c.jpg

Ahora si, se programa en los CVICALLBACK de cada botón, como se ve en la siguiente imagen para esta ocasión se incluye códigos específicos a un case EVENT_TIMER_TICK.

Imagen:18379_d.jpg

Como se puede ver, el programa debe funcionar mostrando la lectura de una señal aleatoria en un STRIPCHART que está en función de un frecuencia configurable con el TIMERTICK. En el primer panel se configura nuevos mandos como el arranque con un BINARSWITCH, el valor máximo de temperatura con un NUMERICDIAL y la configuración de una señal de alarma en un PANEL_LED. Finalmente, se añade un botón de PAUSA, uno de EVALUACIÓN y por último un botón para salir del programa.

Imagen:18379_e.jpg

Imagen:18379_f.jpg

Con el objetivo de cumplir con la consigna de obtener un volcado de los "set" de datos a un fichero, y que se puede recuperar ese "set" de datos en un gráfico de un panel diferente. Se configura el PANEL 2 para que se despliegue después de ser llamado por el botón de EVALUAR, en este panel se configura el botón GRABAR y MOSTRAR. El botón GRABAR se configura para hacer el llamado a una ventana que permite grabar los primeros 100 datos en un archivo .txt , se usa las funciones FileSelectPoup y ArrayToFile.

Imagen:18379_g.jpg

Los datos pueden ser mostrados en una gráfica al accionar el botón MOSTRAR que pide cargar una archivo para ploearlos en el panel gráfico, estas operaciones se logran con la ayuda de las funciones FileSelectPoup, ArrayToFile y PlotY

Imagen:18379_h.jpg

Resulatado

Imagen:18379_j.jpg Imagen:18379_k.jpg

Archivo a descargar

Media:M18379_Tarea_2.rar

TAREA # 1

Realización de un interface de usuario - pantalla en el software LabWindows/CVI.

Procedimiento

En el User Interface Editor, editor que facilita la creación de interfaces de usuario sin escribir una sola línea de código, se selecciona la opción New del menú File de la ventana project, en el submenú se selecciona un archivo .uir, abriéndose inmediatamente la ventana User Interface Editor. Ahí se puede crear la interface de usuario solicitada por la tarea para lo cual debemos dibujar dos accesos numéricos, un accesos numérico de color, tres botones de comando y un gráfico tal como aparece en la figura:

Imagen:config.jpg

El siguiente paso es realizar el control del programa solicitado, para ello se selecciona Generate»All Code desde el menú Code, aparecerá una serie de cuadros de diálogo que pide guardar el archivo .uir generándose automáticamente un archivo principal .h, después se abre otro cuadro para configurar los eventos de los botones de comando y finalmente una nueva ventana aparece mostrando el siguiente código:

Imagen:CodigoGeneradoInicio.jpg

Para continuar con la programación de la iterface creada se añade ordenes de lo que se desea ejecutar en cada botón, entonces en los CVICALLBACK de cada botón se incluye códigos específicos en el case EVENT_COMMIT. El programa debe funcionar con tres botones uno llamado ADD que debe graficar una señal sinosoidal ruidosa, otro llamado BORRAR para borrar lo graficado y el último llamado QUIT para salir del programa. Previo a esto debemos declarar las variables en la parte superior de la ventana, estas variables de tipo double, int y float serán usadas por las funciones que me permiten obtener la curva sinusoidal solicitada

Imagen:DeclaVari.jpg

Botón ADD

El CVICALLBACK ya está configurado para ejecutar cuando se le de un click por lo tanto se procede a añadir ordenes en el case EVENT_COMMIT Primero con GetCtrlVal se pide que obtenga los valores indicados de los accesos numéricos y se asigne a las variables ciclos, amplitud y color, respectivamente. Después para obtener la función SenoRuidoso primero se ingresa el código para obtener las funciones seno con SinePatern y ruido con WhiteNoise estas se deben sumar como matrices que para lo cual usamos un bucle for.

Imagen:ADD.jpg

Botón BORRAR y QUIT

Se configura los botones BORRAR para borrar lo graficado y el de salida del programa llamado QUIT. Igual que en el caso anterior se añade ordenes en el case EVENT_COMMIT de cada botón, para borrar lo graficado se usa DeleteGraphPlot indicando sobre que control actuar y para salir del programa se usa QuitUserInterface. El detalle de lo mencionado se puede ver en la siguiente imagen:

Imagen:BORRAR y QUIT.jpg


Resultado

Finalmente, se ejecuta el código y la interface de usuario que se diseñó al inicio se presenta como un programa ejecutable en el que que podremos obtener varios tipos de curva de una función seno no suavizada, pudiendo editar los números de ciclo y la amplitud de la señal ruidosa.

Imagen:SenWhiteNoise.jpg


Comentario

Esta tarea nos permite enlazar lo visto en los dos ejercicios de clase pues el primero consistió en obtener una gráfica de seno ruidoso desde un código sencillo sin tanta elaboración y con ayuda del YGraphPopup mientras que en el segundo ejercicio se trabajó con una interface de usuario que al programarla presenta a la gráfica en un entorno amigable y disponible para un usuario final que no requiere conocimientos previos de programación.

Además, esta tarea permitó considerar y configurar otro tipo de variables como son los float que permite el ingreso de decimales en el acceso numérico correspondiente a la amplitud del ruido. Asimismo, se exploró el cómo ingresar en el código la variable color a la función PlotY para que el usuario pueda modificar el color de la curva desde el ejecutable.

Sin duda una una de las ventajas de crear una interface de usuario es que desde ese ejecutable se puede controlar las entradas y salidas durante la ejecución del programa para ello en este caso de estudio se utilizó la función GetCtrlVal que permite capturar el valor seteado en la interface e ingresarlo al código.

Archivos a descargar

Media:Tarea1_M18379.rar

https://drive.google.com/file/d/1a-0TnaLKH1dgJvWWlLXf2OeiQpWQYdCm/view?usp=sharing

Herramientas personales