You are on page 1of 39

Programacin grfica para instrumentacin y control

UNIVERSIDAD TECNOLOGICA DE HERMOSILLO


Instrumentacin Virtual
Mecatrnica
Instrumentacin Virtual
TSU
Cuatrimestre 2011-I
Instructor: Jess M. Tarn Fontes
Especialidad: Mecatrnica
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica 2
En revisin
(Tarn)
Enero 2011
Estructuras Case y Sequence
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
Estructuras Case y Sequence
Este captulo introduce los otros dos tipos de estructuras, disponibles
en LabVIEW. Para controlar el flujo de datos en el programa: La
estructura Case y la estructura Sequence. Este captulo tambin
introduce el Nodo de Frmula (Formula Node).
Al trmino de este captulo se habr aprendido
1. Cmo usar la estructura Case
2. Como usar la estructura Sequence
3. Cmo usar los nodos de Formulas
CAPITULO
3
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
Al colocar la estructura
se pueden encerrar
secciones ya
existentes del
diagrama de bloques o
bien colocar la
estructura en un
espacio libre y
arrastrar dentro de ella
elementos nuevos o
elementos ya
existentes.
4
Estructura Case
Coloque la estructura
Case en el diagrama
de bloques
seleccionndola de la
subpaleta Structures
de la paleta de
funciones.
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
La estructura Case es anloga a los estatutos de if then else
en los lenguajes convencionales de programacin basados en
texto.
Se configura como una caja de tarjetas en donde cada tarjeta
corresponde a un caso y slo una tarjeta es visible a la vez. Cada
tarjeta contiene un subdiagrama, que corresponde a las acciones a
realizar para cada caso especfico. Slo un caso se ejecuta a la
vez dependiendo del valor almacenado a la terminal de seleccin.
5
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
Si el valor alambrado a la terminal de seleccin es 0, el diagrama de
bloques a ejecutarse es el de la ventana 0 (0..X), si el valor alambrado a la
terminal de seleccin es de 2, el diagrama de bloques a ejecutarse es el
de la ventana 2 (0X) y as sucesivamente. El termino (0..X) representa el
nmero de casos en la estructura Case.
6
La terminal de seleccin puede ser numrica o booleana. Si el tipo de dato
es booleano, la estructura Case tiene dos casos, caso verdadero y caso
falso, a los cuales corresponden las ventanas True y False.
Si el tipo de dato es numrico, la estructura puede tener hasta 2
31
-1 casos.
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
En este ejemplo, los nmeros pasan a travs de tneles a la
estructura Case y son sumados o restados, dependiendo del valor
alambrado a la terminal de seleccin. Si el control booleano
alambrado a la terminal de seleccin es verdadero, el VI sumar
los nmeros; de otra manera, el VI restar los nmeros.
7
Ejemplo de una estructura Case booleana
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
Asegrese de alambrar los tneles de salida para cada caso de la
estructura Case. Cuando se crea un tnel de salida en una
ventana de la estructura, el tnel aparece, en la misma posicin,
en las otras ventanas. Los tneles sin alambrar lucen como
cuadrados blancos. Se puede alambrar constantes o controles a
los tneles dando clic derecho sobre el cuadro en blanco y
seleccionando Create Constant o Create Control.
8
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
Ejercicio 6.1
Objetivo: Utilizar la estructura Case
Construir un VI que verifica si un nmero de entrada es positivo. Si lo
es, el VI calcula la raz cuadrada del nmero, de otra manera, el VI
mostrar un mensaje de error.
Panel Frontal
9
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica 10
Diagrama a bloques
NO EJECUTAR EL VI EN
FORMA CONTINUA, SE
CICLA LA PC
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica 11
Funcin Great or Equal to 0? (de la subpaleta Comparison). En este
ejercicio, verifica que el nmero de entrada no sea negativo. La funcin
da como resultado Verdadero si el nmero de entrada es mayor o igual a
0.
Numeric Constant (del men emergente del Tnel). Coloque
la herramienta de cableado en el tnel que en este momento
aparece en blanco, active su men emergente y seleccione
Create Constan.
Utilice la herramienta de etiquetado y teclee el valor de la
constante. Llame el men emergente de la constante y
seleccione Format & Precision Modifquelo para que
presente un dgito de precisin en notacin de punto flotante.
Note que si en ambos casos el tnel no se encuentra
cableado, este permanece en blanco. Asegrese de que el
tnel est cableado internamente en ambos casos de la
estructura Case.
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica 12
Funcin One Button Dialog (de la subpaleta Time & Dialog). En
este ejercicio, esta funcin despliega una caja de dilogo que
contiene el mensaje Error Nmero Negativo.
String Constan (de la subpaleta String). Teclee el
mensaje de error dentro de la caja con la herramienta de
etiquetado.
En este ejercicio, el VI se ejecutar no importando si el
caso es verdadero o falso. Si el nmero es mayor o igual a
cero, el VI ejecutar el caso verdadero, y se desplegar la
raz cuadrada del nmero. El caso falso dar como salida
-99999.0 y desplegar una caja de dilogo con el mensaje
Error. Nmero Negativo si el nmero es menor que
cero.
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica 13
Ejercicio 6.2
Objetivo: Utilizar la estructura Case.
Construir un VI para detectar cuando la temperatura es mayor a un
lmite establecido. Si la temperatura excede este lmite, un LED en el
panel frontal se encender y sonar un bip.
Panel Frontal
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
Diagrama a bloques
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
Note que no hay iconos en la condicin de Falso de la
estructura Case. Cuando la temperatura que Termmetro.vi
entrega es mayor al lmite establecido, el VI ejecuta la
condicin verdadera de la estructura Case, el LED se
encender y el bip sonar. Si la temperatura es menor al lmite
establecido, el VI ejecutar la condicin falsa, el LED no
encender y no habr ningn bip.
VI Beep (de la subpaleta Graphics & Sound >>Sound). Este VI
hace sonar un bip si el dato de entrada de la terminal de seleccin de
la estructura Case es verdadero.
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
Estructura Sequence
Coloque la estructura Sequence en el diagrama a bloques
seleccionndola de la subpaleta Structures de la paleta de
funciones. Al colocar la estructura se pueden encerrar secciones ya
existentes del diagrama de bloques o bien colocar la estructura en
un espacio libre y arrastrar dentro de ella elementos nuevos o
elementos ya existentes.
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
La estructura Sequence, la cual aparece como una especie de
rollo de pelcula, ejecuta secuencialmente las secciones de
diagramas de bloques que contiene en cada una de sus ventanas.
En los lenguajes de programacin convencionales basados en
texto, los estatutos del programa se ejecutan en el orden en el que
aparecen.
En la programacin de flujo de datos, un nodo se ejecuta cuando
hay datos disponibles en todas las entradas del nodo y por ello la
secuencia en la ejecucin de los nodos es difcil de definir.
Sin embargo, a veces es necesario asegurar la ejecucin de un
nodo antes que otro. La estructura Sequence es la forma en que
LabVIEW puede controlar el orden especfico en que los nodos se
ejecutan.
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
El diagrama de bloques a ejecutarse primero, se coloca dentro de
la ventana 0(0..X), el diagrama de bloques a ejecutarse en segundo
trmino, se coloca dentro de la ventana 1 (0..X) y as
sucesivamente. El trmino (0X) representa el rango de ventanas
en la estructura Sequence. Al igual que en la estructura Case, en
la estructura Sequence slo una ventana es visible a la vez.
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
Variables Locales (Sequence locals)
Sequence Locals son variables que pasan datos entre ventanas
de una estructura Sequence.
Estas variables locales se pueden crear dando clic derecho en el
borde de la ventana y seleccionando Add Sequence Local del
men emergente.
La informacin alambrada a una variable local est entonces
disponible para las subsecuentes secuencias o ventanas.
La informacin, sin embargo, no est disponible en las secuencias
que preceden a la ventana en el cul se cre la variable local.
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
El ejemplo siguiente muestra una estructura Sequence de tres
secuencias. Una variable local en la ventana 0 pasa el valor, que la
funcin Tick Count (ms) entrega, a las ventanas siguientes. La
funcin Tick Count (ms) regresa el tiempo en milisegundos que ha
pasado desde el inicio del VI.
Notar que este valor est disponible tanto en la ventana 1 como
en la ventana 2 (como lo indica la flecha apuntando hacia adentro
de la ventana).
No olvide que el VI despliega slo una secuencia a la vez. En la
segunda secuencia se hace una medicin de temperatura y
finalmente en la tercera ventana se calcula el tiempo que toma la
lectura de temperatura.
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
Ejercicio 6.3
Objetivo: Utilizar la estructura Sequence.
Construir un VI que calcula el tiempo que le toma al generador de
nmeros aleatorios igualar un nmero que usted especifique.
Panel Frontal
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
Abra el VI Auto Match que cre en la leccin 4.
Construya el panel frontal de acuerdo a la figura anterior. Asegrese
de modificar los controles e indicadores como se indica.
Diagrama a bloques
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
1. Abra la ventana del diagrama a bloques y encierre dentro de una
estructura Sequence el ciclo While, la funcin Increment, y el
nmero de iteraciones.
a) Seleccione la estructura Sequence de la subpaleta
Structures.
b) Marque el rea de la estructura Sequence alrededor del
ciclo While, la funcin Increment y la terminal del nmero de
iteraciones.
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
Nodo de Formulas
Coloque el nodo de Formulas (Formula Node) en el diagrama de
bloques, seleccionndolo de la subpaleta Structures de la paleta
de funciones. Las ecuaciones se pueden introducir dentro del nodo
de frmulas usando la herramienta de etiquetado.
El nodo de Formulas es una caja redimensionable, a travs de la
cul, usted puede introducir frmulas algebraicas directamente
dentro del diagrama de bloques. Este elemento de programacin
es extremadamente til cuando la funcin a implementar tiene
muchas variables o es complicada.
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
Por ejemplo considere la ecuacin . Si usted
implementa esta ecuacin usando las funciones aritmticas
regulares de LabVIEW, el diagrama a bloques luce con el mostrado
abajo.
Usted puede implementar la mima ecuacin usando el nodo de
frmulas, como se muestra a continuacin.
1
2
x x y
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
Con el nodo de frmulas, usted puede introducir directamente una
frmula o frmulas complicadas, en lugar de crear subsecciones
del diagrama a bloques.
Usted puede crear las terminales (variables) de entrada y salida del
nodo de frmulas dando clic derecho en el borde del nodo de
frmulas y seleccionando Add input o Add output, segn
corresponda, del men emergente. Puede escribir la o las frmulas
dentro de la caja empleando la herramienta de etiquetado. Cada
estatuto del nodo de frmulas debe de terminar en punto y coma
(;).
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
Cada variable usada en el nodo de frmulas debe estar declarada
ya sea como variable de entrada o variable de salida. Las variables
internas que son usadas dentro del nodo de frmulas para calcular
valores intermedios, deben ser declarados como variables de
salida. Sin embargo, las terminales de estas variables internas no
necesitan ser alambradas a ningn nodo externo.
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
El siguiente ejemplo muestra cmo se pueden realizar pasos de ejecucin
condicionales dentro del nodo de frmulas. Considere el siguiente fragmento
de cdigo que calcula la raz cuadrada de x si x es positiva, y asigna el
resultado a y. Si x es negativa, el cdigo asigna -99 a y.
if (x>=0
then
y = sqrt(x)
else
y = -99
El fragmento de cdigo anterior se puede implementar usando el nodo de
frmulas, como se muestra a continuacin:
Operador condicional
Condicin verdadera
Condicin falsa
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
Ejercicio 6.4
Objetivo: Utilizar el Nodo de Frmulas para evaluar expresiones
matemticas.
Construir un VI que utiliza el Nodo de frmulas para evaluar una
expresin matemtica compleja y graficar el resultado.
) cos( ) tanh( x x a
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
Diagrama a bloques
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
Formula Node (de la subpaleta Structures).
Con este nodo de formulas, usted puede
introducir formulas directamente en el diagrama
de bloques. Cree la terminal de entrada al
colocar el cursor sobre el borde y activar el
men emergente, seleccione Add Input. Cree
la terminal de salida a al seleccionar Add
Output del men emergente del borde.
Cuando crea una terminal de entrada o salida, debe de darle un
nombre que sea idntico al que tiene en la frmula. Los nombres
de las variables son sensibles a las maysculas, ya que si nombra
una terminal con la minscula r debe usar la variable r en la
formula. Note que el punto y coma (;) debe terminar la declaracin
de cada formula.
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
Funcin Divide (de la subpaleta Numeric). En este ejercicio,
esta funcin divide durante cada iteracin el valor de la terminal
de iteracin entre 15.0. El cociente es llevado al Nodo de
Frmulas, que calcula el valor de la funcin . El VI guarda el
resultado en un arreglo de datos en la frontera del ciclo For (en
modo autoindexado). Despus de que el ciclo For finaliza la
ejecucin, el VI despliega en la grfica el arreglo de datos.
Fin capitulo 6
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica
EJERCICIOS ADICIONALES
1. Construya un VI que use la frmula de nodo para que evale la
ecuacin y = sin (x) y grafique el resultado.
2. Construya un VI que use la formula de nodo para calcular las
siguientes ecuaciones:
b x m y
x x y


2
2 3
1
5
Use solamente la frmula de nodo para ambas ecuaciones (recuerde
siempre poner el punto y coma (;)
Programacin grfica para instrumentacin y control
UNIVERSIDAD TECNOLOGICA DE HERMOSILLO
Instrumentacin Virtual
Mecatrnica 39

You might also like