You are on page 1of 13

Instrumentacin Avanzada. J. A. Surez- G. Murcia- J. L.

Strack

GUA DE EJERCICIOS
N 8
INSTRUMENTACIN AVANZADA

Introduccin a la Programacin
Modular, Creacin de Programas
Ejecutables e Instaladores

PROGRAMACIN GRFICA

Instrumentacin Avanzada. J. A. Surez- G. Murcia- J. L. Strack

1.- INTRODUCCIN A LA PROGRAMACIN MODULAR


A continuacin se aprender a crear un programa .vi que se llamar de aqu en adelante
programa principal. Desde este se podrn abrir otros programas secundarios .vi que se llamarn
aplicaciones o mdulos. Esto permite trabajar con pequeos programas fciles de realizar,
probar, encontrar errores y depurar. En lugar de realizar un extenso programa que ejecute una
gran cantidad de funciones, se puede realizar un pequeo programa que abra aplicaciones
modulares de acuerdo a la necesidad.
En sntesis, se pueden enumerar las siguientes ventajas de la programacin modular:
1) Fcil programacin, deteccin de errores y depuracin.
2) Manipulacin y ejecucin de archivos ms livianos.
3) Fcil modificacin de una parte del programa (mdulo) sin alterar el programa en su
totalidad.
4) Posible ampliacin del programa adicionando nuevos mdulos o modificando los
existentes.
5) De gran versatilidad cuando la programacin est a cargo de varios programadores que
trabajan en forma independiente.
6) Se pueden crear mdulos de uso general que sean utilizados en varios programas.
(Analoga con subVIs).
1.- Creacin de Programas Secundarios o Aplicaciones.
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 botn de
STOP que permita detenerlo sin tener que utilizar el botn de abortar de LabVIEW.
A continuacin se realizarn dos aplicaciones simples a modo de ejemplo. La primera aplicacin
permite probar las entradas digitales y analgicas de la placa adquisidora de datos USB
PIC18F2550. La segunda aplicacin permite probar las salidas digitales de la misma.
1.1.- Aplicacin1.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 analgicas.
3) 4 indicadores LEDs para indicar las entradas digitales.
4) Botn STOP para detener la Aplicacin1 y volver al Programa Principal

Instrumentacin Avanzada. J. A. Surez- G. Murcia- J. L. Strack

Luego se abre el Diagrama de Bloques y se insertan las siguientes funciones:


1) Estructura While Loop (FunctionsProgrammingStructuresWhile Loop)
2) 3 SubVIs Entrada Analgica (FunctionsUser LibrariesINSTRUMENTACION
AVANZADAEntrada Analogica.vi)
3) SubVI Entrada Digital (FunctionsUser LibrariesINSTRUMENTACION
AVANZADAEntrada Digital.vi)
4) Funcin VISA Close (FunctionsData CommunicationProtocolsSerialVISA Close

Instrumentacin Avanzada. J. A. Surez- G. Murcia- J. L. Strack


1.2.- Aplicacin2.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 simultnea con cada una de las salidas
digitales.
4) Botn STOP para detener la Aplicacin1 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) Funcin VISA Close (FunctionsData CommunicationProtocolsSerialVISA Close

Instrumentacin Avanzada. J. A. Surez- G. Murcia- J. L. Strack


2.- Creacin del Programa Principal.
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) Botn OK para abrir la Aplicacin 1
3) Botn OK para abrir la Aplicacin 2
4) Botn STOP para detener el Programa Principal
Se introducen elementos de decoracin, se alinean los botones y se configuran los colores,
tamaos 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.

Instrumentacin Avanzada. J. A. Surez- G. Murcia- J. L. Strack


Se agregan tres eventos en la estructura Event asociados a los tres Botones. En cada uno de los
dos eventos asociados a los Botones Aplicacin 1 y Aplicacin 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 Aplicacin2.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
MetodFront PanelClose.

Instrumentacin Avanzada. J. A. Surez- G. Murcia- J. L. Strack


Como se observa, Invoke Node invoca un mtodo o accin 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 ejecucin al pulsar el Botn STOP
etiquetado como Volver al Programa Principal.
Para detener el Programa Principal se coloca una constante booleana (True) en el evento
asociado al Botn 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:
Aplicacin 1: Debe adquirir 10 datos de una entrada analgica de la placa adquisidora USB PIC
18F2550 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 medicin de la tensin de fase de una
red. La primer columna del archivo contendr las tensiones muestreadas, la segunda el da, y la
tercera columna la hora de muestreo.
Aplicacin 2: Debe abrir el archivo anterior y graficar los datos contenidos en el mismo.
Aplicacin 3: A partir de los datos medidos debe calcular la tensin mxima y mnima, e
informar en qu momento se registraron.

P.F. Programa Principal

P.F. Aplicacin 1
7

Instrumentacin Avanzada. J. A. Surez- G. Murcia- J. L. Strack

P.F. Aplicacin 2

P.F. Aplicacin 3

D.B. Programa Principal

D.B. Aplicacin 1
8

Instrumentacin Avanzada. J. A. Surez- G. Murcia- J. L. Strack

D.B. Aplicacin 2

D.B. Aplicacin 3

Instrumentacin Avanzada. J. A. Surez- G. Murcia- J. L. Strack


Ejercicio 8.2.
Se debe realizar un programa que lea un archivo .csv que contiene 100 datos con las formas de
onda de tensin y corriente capturadas por el Osciloscopio Digital Fluke 123, realice la
Transformada Rpida de Fourier y genere un nuevo archivo con los espectros armnicos de
tensin 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:
Aplicacin 1: abre y lee el archivo de entrada, realiza transformada de Fourier y genera archivo
de salida.
Aplicacin 2: Grafica Formas de Onda (tensin y corriente) del archivo de entrada.
Aplicacin 3: Grafica Espectros Armnicos (tensin y corriente) del archivo de salida.

P.F. Programa Principal

P.F. Aplicacin 1

P.F. Aplicacin 2

P.F. Aplicacin 3

10

Instrumentacin Avanzada. J. A. Surez- G. Murcia- J. L. Strack

D.B. Programa Principal

D.B. Aplicacin 1

D.B. Aplicacin 2

11

Instrumentacin Avanzada. J. A. Surez- G. Murcia- J. L. Strack

D.B. Aplicacin 3

2.- CREACIN 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 slo visualicen el Panel Frontal, sin poder acceder al cdigo 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 gua, Prueba_Placa.vi.
Luego se debe seleccionar FileNew 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 extensin .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 continuacin aparecer la ventana My Application
Properties.
Se configuran todos los parmetros 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.

12

Instrumentacin Avanzada. J. A. Surez- G. Murcia- J. L. Strack

3.- CREACIN 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 fcil
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, imgenes, manuales, archivos de soporte,
instaladores de programas, etc.
Se despliega el menu ItemsProject Proyecto1.lvprojMy ComputerBuild Specifications,
click derechoNewInstaller. A continuacin aparecer la ventana My Application Properties.
Se configuran todos los parmetros 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 los
diferentes mtodos de instalacin de los programas de soporte de NI. Agregar archivos de
soporte (aunque estn en blanco) como un Manual de Usuario (Ayuda) y un Manual de
Instalacin (Leeme).

13

You might also like