8/17/2019 Guia de Ejercicios 8
1/13
Instrumentación Avanzada. J. A. Suárez- G. Murcia- J. L. Strack
1
GUÍA DE EJERCICIOS
Nº 8
INSTRUMENTACIÓN AVANZADA
Introducción a la Programación
Modular, Creación de Programas
Ejecutables e Instaladores
PROGRAMACIÓN GRÁFICA
8/17/2019 Guia de Ejercicios 8
2/13
Instrumentación Avanzada. J. A. Suárez- G. Murcia- J. L. Strack
2
1.- INTRODUCCIÓN A LA PROGRAMACIÓN MODULAR
A continuación se aprenderá a crear un programa .vi que se llamará de aquí en adelante
programa principal. Desde este se podrán abrir otros programas secundarios .vi que se llamarán
aplicaciones o módulos. Esto permite trabajar con pequeños programas fáciles de realizar,
probar, encontrar errores y depurar. En lugar de realizar un extenso programa que ejecute unagran cantidad de funciones, se puede realizar un pequeño programa que abra aplicaciones
modulares de acuerdo a la necesidad.
En síntesis, se pueden enumerar las siguientes ventajas de la programación modular:
1) Fácil programación, detección de errores y depuración.
2) Manipulación y ejecución de archivos más livianos.
3) Fácil modificación de una parte del programa (módulo) sin alterar el programa en su
totalidad.
4) Posible ampliación del programa adicionando nuevos módulos o modificando los
existentes.
5) De gran versatilidad cuando la programación está a cargo de varios programadores que
trabajan en forma independiente.
6) Se pueden crear módulos de uso general que sean utilizados en varios programas.
(Analogía con subVIs).
1.- Creación de Programas Secundari os o Apl icaciones.
Son programas como los que se hicieron hasta ahora, con la única salvedad que deben ejecutarse
dentro de una estructura While Loop, de manera tal que cada programa disponga de un botón de
STOP que permita detenerlo sin tener que utilizar el botón de abortar de LabVIEW.
A continuación se realizarán dos aplicaciones simples a modo de ejemplo. La primera aplicación
permite probar las entradas digitales y analógicas de la placa adquisidora de datos USB
PIC18F2550. La segunda aplicación permite probar las salidas digitales de la misma.
1.1.- Apl icación1.vi.
Desde el Panel Frontal se incorporan los siguientes controles:
1) VISA resource name para seleccionar el puerto COM al que está conectada la placa
adquisidora.2) 3 indicadores Meter para indicar las entradas analógicas.
3) 4 indicadores LEDs para indicar las entradas digitales.
4) Botón STOP para detener la Aplicación1 y volver al Programa Principal
8/17/2019 Guia de Ejercicios 8
3/13
Instrumentación Avanzada. J. A. Suárez- G. Murcia- J. L. Strack
3
Luego se abre el Diagrama de Bloques y se insertan las siguientes funciones:
1) Estructura “While Loop” (FunctionsProgrammingStructuresWhile Loop)
2) 3 SubVI´s “Entrada Analógica” (FunctionsUser LibrariesINSTRUMENTACION
AVANZADAEntrada Analogica.vi)
3) SubVI “Entrada Digital” (FunctionsUser LibrariesINSTRUMENTACION
AVANZADAEntrada Digital.vi)
4)
Función “VISA Close” (FunctionsData CommunicationProtocolsSerialVISA Close
8/17/2019 Guia de Ejercicios 8
4/13
Instrumentación Avanzada. J. A. Suárez- G. Murcia- J. L. Strack
4
1.2.- Apl icación2.vi.
Desde el Panel Frontal se incorporan los siguientes controles:
1) VISA resource name para seleccionar el puerto COM al que está conectada la placa
adquisidora.
2)
4 Botones OK para activar las salidas digitales.3) 4 Indicadores LEDs que deben encender en forma simultánea con cada una de las salidas
digitales.
4) Botón STOP para detener la Aplicación1 y volver al Programa Principal
Luego se abre el Diagrama de Bloques y se insertan las siguientes funciones:
1) Estructura “While Loop” (FunctionsProgrammingStructuresWhile Loop)
2) SubVI “Salida Digital” (FunctionsUser LibrariesINSTRUMENTACION
AVANZADASalida Digital.vi)
3)
Función “VISA Close” (FunctionsData CommunicationProtocolsSerialVISA Close
8/17/2019 Guia de Ejercicios 8
5/13
Instrumentación Avanzada. J. A. Suárez- G. Murcia- J. L. Strack
5
2.- Creación del Programa Pr incipal.
Desde el Panel Frontal, se incorporan los siguientes controles:
1) VISA resource name para seleccionar el puerto COM al que está conectada la placa
adquisidora.
2)
Botón OK para abrir la Aplicación 13) Botón OK para abrir la Aplicación 2
4) Botón STOP para detener el Programa Principal
Se introducen elementos de decoración, se alinean los botones y se configuran los colores,tamaños de texto, etc.
Luego se abre el Diagrama de Bloques y se insertan las siguientes funciones:
1) Estructura “While Loop” (FunctionsProgrammingStructuresWhile Loop)
2) Estructura “Event” (FunctionsProgrammingStructuresEvent Structure)
3) Bloque “Static VI Reference” (FunctionsProgrammingApplication ControlStatic
VI Reference)
4) 3 Bloques “Invoke Node” (FunctionsProgrammingApplication ControlInvoke
Node)
5) Bloque “Close Reference” (FunctionsProgrammingApplication ControlClose
Reference)
6) Variable Global “Global Variable” (FunctionsProgrammingStructuresGlobal
Variable) con un control VISA resource name en su P.F.
8/17/2019 Guia de Ejercicios 8
6/13
Instrumentación Avanzada. J. A. Suárez- G. Murcia- J. L. Strack
6
Se agregan tres eventos en la estructura Event asociados a los tres Botones. En cada uno de los
dos eventos asociados a los Botones Aplicación 1 y Aplicación 2, se cablean las funciones
insertadas hasta obtener el circuito que se observa en la siguiente figura:
Se hace click derecho sobre el bloque “Static VI Reference” y se selecciona “Browse for
path…”, se abrirá una ventana que permitirá buscar el archivo Aplicacion1.vi en el primer
evento y Aplicación2.vi en el segundo, se selecciona el mismo y se da OK.
Luego se hace click derecho sobre el primer bloque “Invoke Node” y se selecciona Select
MetodFront PanelOpen. Se hace lo mismo en el segundo bloque “Invoke Node” y en lugar
de Front PanelOpen, se selecciona Run VI. Por último, en el tercer bloque se selecciona Select
Metod
Front Panel
Close.
8/17/2019 Guia de Ejercicios 8
7/13
Instrumentación Avanzada. J. A. Suárez- G. Murcia- J. L. Strack
7
Como se observa, “Invoke Node” invoca un método o acción sobre una referencia. En este caso
la referencia es un programa .vi, y se utiliza “Invoke Node” para abrir el Panel Frontal del
mismo, ejecutarlo, y cerrar el P.F. cuando finaliza su ejecución al pulsar el Botón STOP
etiquetado como “Volver al Programa Principal”.
Para detener el Programa Principal se coloca una constante booleana (True) en el evento
asociado al Botón STOP que se cablea con el terminal condicional de la estructura While Loop.
Por último, se cablea el control VISA resource name con la Variable Global, y se reemplazan los
respectivos controles de las aplicaciones 1 y 2 por la mencionada Variable Global.
Ejercicio 8.1.Realizar un Programa Principal y las siguientes Aplicaciones que se abren desde el mismo:
Aplicación 1: Debe adquirir 10 datos de una entrada analógica de la placa adquisidora USB PIC18F2550 con intervalos de 1 seg. entre cada dato y guardarlos en un archivo .txt. Los valores
deben estar comprendidos entre 200 y 240 simulando una medición de la tensión de fase de unared. La primer columna del archivo contendrá las tensiones muestreadas, la segunda el día, y la
tercera columna la hora de muestreo. Aplicación 2: Debe abrir el archivo anterior y graficar los datos contenidos en el mismo.
Aplicación 3: A partir de los datos medidos debe calcular la tensión máxima y mínima, einformar en qué momento se registraron.
P.F. Programa Principal P.F. Aplicación 1
8/17/2019 Guia de Ejercicios 8
8/13
Instrumentación Avanzada. J. A. Suárez- G. Murcia- J. L. Strack
8
P.F. Aplicación 2 P.F. Aplicación 3
D.B. Programa Principal
D.B. Aplicación 1
8/17/2019 Guia de Ejercicios 8
9/13
Instrumentación Avanzada. J. A. Suárez- G. Murcia- J. L. Strack
9
D.B. Aplicación 2
D.B. Aplicación 3
8/17/2019 Guia de Ejercicios 8
10/13
Instrumentación Avanzada. J. A. Suárez- G. Murcia- J. L. Strack
10
Ejercicio 8.2.Se debe realizar un programa que lea un archivo .csv que contiene 100 datos con las formas deonda de tensión y corriente capturadas por el Osciloscopio Digital Fluke 123, realice la
Transformada Rápida de Fourier y genere un nuevo archivo con los espectros armónicos detensión y corriente.
Para ello se requiere un Programa Principal que permita seleccionar la ruta del archivo de
entrada y la del archivo de salida, y ejecutar las siguientes aplicaciones: Aplicación 1: abre y lee el archivo de entrada, realiza transformada de Fourier y genera archivode salida.
Aplicación 2: Grafica Formas de Onda (tensión y corriente) del archivo de entrada. Aplicación 3: Grafica Espectros Armónicos (tensión y corriente) del archivo de salida.
P.F. Programa Principal P.F. Aplicación 1
P.F. Aplicación 2 P.F. Aplicación 3
8/17/2019 Guia de Ejercicios 8
11/13
Instrumentación Avanzada. J. A. Suárez- G. Murcia- J. L. Strack
11
D.B. Programa Principal
D.B. Aplicación 1
D.B. Aplicación 2
8/17/2019 Guia de Ejercicios 8
12/13
Instrumentación Avanzada. J. A. Suárez- G. Murcia- J. L. Strack
12
D.B. Aplicación 3
2.- CREACIÓN DE PROGRAMAS EJECUTABLES
Ahora se aprenderá a realizar un programa ejecutable a partir de un programa .vi, de manera tal
que los usuarios que lo utilicen puedan ejecutarlo en cualquier PC sin necesidad de tener el
LabVIEW instalado, y que sólo visualicen el Panel Frontal, sin poder acceder al código fuente,
es decir el Diagrama de Bloques.
En primer lugar se abre el programa que se ha creado, en este caso, el que se vió como ejemplo
al principio de esta guía, Prueba_Placa.vi.
Luego se debe seleccionar File New Project, aparecerá una ventana que preguntará si se quiere
agregar el .vi abierto al nuevo proyecto, se pulsa ok. Se abrirá una ventana con el nuevo
proyecto. Se selecciona FileSave y se guarda el proyecto con el nombre Proyecto1 por
ejemplo. Se creará un archivo con extensión .lvproj.
Se despliega el menú ItemsProject Proyecto1.lvprojMy Computer, click derechoAdd
File… y se agregan los archivos Aplicacion1.vi y Aplicacion2.vi.
Se despliega el menu ItemsProject Proyecto1.lvprojMy Computer Build Specifications,
click derecho NewApplication .exe. A continuación aparecerá la ventana My Application
Properties.
Se configuran todos los parámetros correspondientes (Ver filminas) y por último se presiona
Build para crear el ejecutable. El mismo se creará en el directorio de destino configurado
previamente.
Ejercicio 8.3.Se debe crear un ejecutable a partir del programa realizado en el Ejercicio 8.1.
8/17/2019 Guia de Ejercicios 8
13/13
Instrumentación Avanzada. J. A. Suárez- G. Murcia- J. L. Strack
3.- CREACIÓN DE UN INSTALADOR DE EJECUTABLES
Por último, se aprenderá a crear un Instalador que permitirá distribuir los programas ejecutables
de manera profesional permitiendo a los usuarios instalar el programa en su PC de manera fácil
al igual que cualquier otro programa.
Se abre el Proyecto anterior, en el ejemplo Proyecto1, y se despliega el menú ItemsProject
Proyecto1.lvprojMy Computer, click derechoAddFile… y se agregan los archivos
necesarios utilizados por el instalador, tales como, imágenes, manuales, archivos de soporte,
instaladores de programas, etc.
Se despliega el menu ItemsProject Proyecto1.lvprojMy Computer Build Specifications,
click derecho NewInstaller. A continuación aparecerá la ventana My Application Properties.
Se configuran todos los parámetros correspondientes (Ver filminas) y por último se presiona
Build para crear el instalador. El mismo se creará en el directorio de destino configurado
previamente.
Ejercicio 8.4.Se debe crear un instalador del programa ejecutable realizado en el Ejercicio 8.3. Probar losdiferentes métodos de instalación de los programas de soporte de NI. Agregar archivos de
soporte (aunque estén en blanco) como un Manual de Usuario (Ayuda) y un Manual deInstalación (Leeme).