Está en la página 1de 18

Toma de decisiones en un VI

By:
Juan Martínez
Toma de decisiones en un VI

By:
Juan Martínez

Online:
< http://cnx.org/content/col10634/1.2/ >

CONNEXIONS

Rice University, Houston, Texas


This selection and arrangement of content as a collection is copyrighted by Juan Martínez. It is licensed under the
Creative Commons Attribution 2.0 license (http://creativecommons.org/licenses/by/2.0/).
Collection structure revised: January 23, 2009
PDF generated: October 26, 2012
For copyright and attribution information for the modules contained in this collection, see p. 10.
Table of Contents
1 Toma de decisiones en un VI
Toma de decisiones con la función Select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1
VI Control de Temperatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2
1.3 Formula Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 VI Ejercicio con Formula Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5 Resumen, trucos y pistas sobre la toma de decisiones en un VI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.6 Más ejercicios sobre la toma de decisiones en un VI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
Attributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
iv

Available for free at Connexions <http://cnx.org/content/col10634/1.2>


Chapter 1

Toma de decisiones en un VI

1
1.1 Toma de decisiones con la función Select

Los instrumentos virtuales descritos en este curso se ejecutan de manera ordenada siguiendo el ujo de datos.
Pero hay casos en los que hay que tomar decisiones. Por ejemplo, si sucede a, hacer b; o si sucede c, hacer
d.
En programas basados en texto, esto se hace mediante sentencias if - else, switch - case, etc. LabVIEW
incluye muchas y diferentes maneras de tomar decisiones. El método más simple de todos ellos es la función
Select.

1.1.1 Select Function

La función Select, situada en la paleta FunctionsExpress Comparison, hace una selección entre
dos valores según el valor que tome una entrada Booleana. Si la entrada Booleanas es Cierta, esta función
devuelve el valor conectado a la entrada t (true). Si la entrada Booleana es Falsa, la función devuelve el
valor conectado a la entrada f (false).
El ejercicio Thermometer VI2 utiliza la función Select para determinar si se desea la salida en grados
Centígrados o en grados Fahrenheit, tal como se observa en el diagrama de bloques de la Figure 1.1.

Figure 1.1

1 This content is available online at <http://cnx.org/content/m19533/1.1/>.


2 "Thermometer VI" <http://cnx.org/content/m12209/latest/>

Available for free at Connexions <http://cnx.org/content/col10634/1.2>

1
2 CHAPTER 1. TOMA DE DECISIONES EN UN VI

Si la decisión a tomar tiene una complejidad mayor que la que se puede tomar con la función Select,
entonces se requerirá una estructura Case.

3
1.2 VI Control de Temperatura

Exercise 1.2.1

1.2.1 Panel Frontal

1. Abrir el VI Promedio de temperatura4 .


2. Modicar el panel frontal según se muestra en la Figure 1.2.

Figure 1.2

a. Colocar en el panel frontal una caja con los bordes izquierdo y derecho suaves (horizontal
smooth box), situada en la paleta ControlsAll ControlsDecorations. Este objeto
decorativo agrupa los elementos de Analysis.
b. Crear un duplicado del interruptor booleano Power. Etiquetar el nuevo interruptor como
ANALYSIS. Hacer clic con el botón derecho sobre el interruptor y seleccionar en el menú
desplegable Mechanical ActionSwitch When Pressed.
c. Colocar en el panel frontal un control numérico, situado en la paleta ControlsNumeric
Controls. Etiquetar el control High Limit.
d. Colocar un LED redondo en el panel frontal, situado en la paleta ControlsLEDs.
Etiquetar el indicador como Warning.
e. Colocar también en el panel frontal un indicador numérico situado en la paleta
ControlsNumeric Indicators. Etiquetar este indicador como High Value.
3 This content is available online at <http://cnx.org/content/m19535/1.1/>.
4 "Temperature Running Average VI" <http://cnx.org/content/m12235/latest/>

Available for free at Connexions <http://cnx.org/content/col10634/1.2>


3

f. Hacer clic con el botón derecho sobre la pantalla del visualizador y seleccionar en el menú
contextual Visible ItemsDigital Display para mostrar los valores digitales.
3. Seleccionar FileSave As para salvar el instrumento virtual como Control de
Temperatura.vi en el directorio C:\Exercises\LabVIEW Basics I.

1.2.2 Diagrama de Bloques

1. Modicar el Diagrama de Bloques como se muestra en la Figure 1.3. Agrandar el While Loop
para crear espacio donde insertar los elementos nuevos.

Figure 1.3

a. Colocar en el diagrama de bloques la estructura Case, situada en la paleta


FunctionsExecution Control. Conectar el control Analysis al terminal selector
terminal. Hacer clic en el botón decrement o increment para elegir el case True.

b. Colocar en el diagrama de bloques dos funciones Greater?, situadas en la paleta


FunctionsArithmetic & ComparisonExpress Comparison. La primera función
Greater? devuelve True si la temperatura rebasa High Limit. En cualquier otro caso,
la función devuelve False.

c. Colocar en el diagrama de bloques la función Select situada en la paleta


FunctionsArithmetic & ComparisonExpress Comparison. Esta función de-
vuelve el mayor de los dos valores.
d. Completar el caso True de la Estructura Case como se muestra en la Figure 1.3.
e. Hacer clic en el botón decrement o increment para elegir el case False.
2. Completar el caso False de la Estructura Case, mostrado en la Figure 1.4.

Available for free at Connexions <http://cnx.org/content/col10634/1.2>


4 CHAPTER 1. TOMA DE DECISIONES EN UN VI

Figure 1.4

a. Hacer clic con el botón derecho sobre el túnel que conecta con el Warning Indicator y
seleccionar en el menú que aparece CreateConstant. Usar la herramienta Operating
para cambiar la constante a False.
b. Hacer clic con el botón derecho sobre el túnel que conecta con el indicador High Value
y seleccionar en el menú que aparece CreateConstant. Escribe -99999 como valor de
la constante.
3. Salvar el VI. Este VI se volverá a usar más adelante a lo largo del curso.

1.2.3 Ejecutar el VI

1. Mostrar el Panel Frontal, escribir 80 en High Limit, y ejecutar el VI. Si ANALYSIS está
apagado, el VI apaga el LED Warning y muestra un valor de -99999 en High Value. Si
ANALYSIS está encendido, el VI enciende el LED Warning cuando la temperatura se encuentre
por encima del valor High Limit y muestra el valor de temperatura actual High Value.
2. Cerrar el VI.

5
1.3 Formula Node

Formula Node se usa para realizar operaciones matemáticas en LabVIEW. Para obtener una funcionalidad
añadida se puede enlazar con la aplicación matemática MATLAB . ®
1.3.1 Formula Node

Formula Node es un nodo basado en texto que se utiliza para realizar operaciones matemáticas en el diagrama
de bloques. Los Formula Node son útiles para ecuaciones que tienen muchas variables o que sean complicadas
de resolver o para usar código basado en texto ya existente. Es mucho más fácil copiar y pegar el código
basado en texto en un Formula Node que representarlo grácamente en el diagrama de bloques.
Para crear los terminales de entrada y salida de un Formula Node se puede hacer clic con el botón derecho
sobre el borde del nodo y seleccionar en el menú contextual Add Input o Add Output, y después introducir
la variable para la entrada o para la salida. Cada sentencia debe terminar con un punto y coma (;).
Los Formula Node también se pueden usar para llevar a cabo una toma de decisiones. El diagrama
mostrado en la Figure 1.5 muestra 2 maneras diferentes de usar una sentencia if-then en un Formula Node.
Las 2 estructuras tendrán el mismo resultado.
5 This content is available online at <http://cnx.org/content/m19536/1.1/>.

Available for free at Connexions <http://cnx.org/content/col10634/1.2>


5

Figure 1.5

El Formula Node puede ejecutar muchas operaciones diferentes. Consultar la ayuda de LabVIEW para
una mayor información sobre las funciones, operaciones y sintaxis de los Formula Node.
note: El VI Express Formula situado en la paleta FunctionsArithmetic & Comparison usa
un interface de calculadora para crear fórmulas matemáticas. Se puede usar este VI Express para
ejecutar la mayoría de las operaciones que puede realizar una calculadora cientíca básica. Consultar
la ayuda de LabVIEW para una mayor información sobre los VI Express Formula.

6
1.4 VI Ejercicio con Formula Node

Exercise 1.4.1

1.4.1 Panel Frontal

1. Abrir un VI en blanco y construir el panel frontal mostrado en la Figure 1.6.

Figure 1.6

6 This content is available online at <http://cnx.org/content/m19537/1.1/>.

Available for free at Connexions <http://cnx.org/content/col10634/1.2>


6 CHAPTER 1. TOMA DE DECISIONES EN UN VI

1.4.2 Diagrama de Bloques

1. Construir el diagrama de bloques mostrado en la Figure 1.7.

Figure 1.7

a. Colocar en el diagrama de bloques el Formula Node, situado en la paleta


FunctionsAll FunctionsStructures.
b. Crear el terminal de entrada x haciendo clic con el botón derecho del ratón sobre el borde
izquierdo y seleccionando Add Input en el menú contextual. Escribe x en la caja que
aparece.
c. Crear los terminales de salida y y a haciendo clic con el botón derecho del ratón sobre
el borde izquierdo y seleccionando Add Output en el menú contextual. Escribir y y a
respectivamente, en las cajas que aparecen. Hay que crear terminales de salida para las
variables temporales como a.
note: Cuando se crea un terminal de entrada o de salida, se tiene que usar para la
variable el mismo nombre que el que se ha usado en la ecuación. Los nombres de variable
son sensibles a mayúsculas y minúsculas.
d. Escribir las siguientes ecuaciones en el Formula Node, donde ** es el operador exponen-
cial. Consultar la ayuda de LabVIEW para una mayor información sobre la sintaxis de
los Formula Node.

a = tanh(x) + cos(x);
y = a**3 + a;

e. Completar el diagrama de bloques según se muestra en la Figure 1.7.


2. Salvar el VI como Ejercicio Formula Node.vi en el directorio C:\Exercises\ LabVIEW
Basics I.

1.4.3 Ejecutar el VI

1. Mostrar el panel frontal y ejecutar el VI. El gráco muestra la representación de la ecuación


y = f 3 (x) + f (x), donde f (x) = tanh (x) + cos (x). Durante cada vuelta del bucle, el VI
divide el terminal de contaje entre 15.0. El cociente está unido al Formula Node, que calcula
el valor de la función. El instrumento virtual dibuja el array como un gráco.
2. Cerrar el VI.

Available for free at Connexions <http://cnx.org/content/col10634/1.2>


7
7
1.5 Resumen, trucos y pistas sobre la toma de decisiones en un VI

• La función Select permite elegir entre dos entradas en función del valor que tome una tercera entrada
booleana.
• Una estructura Case tiene dos o más subdiagramas o casos. Solo se puede ver uno de los subdiagramas
cada vez, y la estructura ejecuta solo un caso cada vez.
• Si el terminal selector del caso fuera una variable Booleana, la estructura tendría un caso True y un
caso False. Si el terminal selector fuera un entero, una cadena, o un valor de tipo enumerado, la
estructura entonces podría hasta 231 − 1 casos.
• Las entradas están disponibles para todos los subdiagramas de una estructura Case, pero los subdi-
agramas no tienen porque usar todas las entradas. Si al menos un túnel de salida queda sin denir,
todos los túneles de salida en la estructura aparecerán como cuadros blancos.
• Cuando se crea un subVI a partir de una estructura Case, hay que conectar la entrada de error al
terminal selector, y colocar en todos los subVI el código en el caso No Error para prevenir la ejecución
del subVI si se recibe un error.
• Los Formula Node son útiles para ecuaciones que tienen muchas variables o que sean complicadas de
implementar o para usar código basado en texto ya existente. Cada sentencia de la ecuación debe
terminar con un punto y coma (;).

8
1.6 Más ejercicios sobre la toma de decisiones en un VI

Exercise 1.6.1
Construir un VI que haga uso de un Formula Node para calcular las siguientes ecuaciones:
y1 = x3 + x2 + 5

y2 = mx + b
Usar un único Formula Node para ambas ecuaciones y terminar cada ecuación con un punto y
coma (;).
Salvar el VI como Ecuaciones.vi en el directorio C:\Exercises\LabVIEW Basics I.
Exercise 1.6.2
Construir un VI que funcione como una calculadora. En el panel frontal, usar controles numéricos
para introducir dos números y un indicador numérico para mostrar el resultado de la operación
(Add, Subtract, Divide, or Multiply) que el VI ejecute con dichos números. Usar un control
deslizante para especicar la operación a realizar.
Salvar el VI como Calculadora_4.vi en el directorio C:\Exercises\LabVIEW Basics I.
Exercise 1.6.3
Modicar el Square Root VI9 para que ejecute todas las operaciones y el chequeo de la condición
usando el Formula Node.
Seleccionar FileSave As para salvar el VI como Raiz Cuadrada 2.vi en el directorio
C:\Exercises\LabVIEW Basics I.
Exercise 1.6.4
Construir un VI con dos entradas, Threshold y Input Array, y una salida, Output Array. Output
Array contiene los valores de Input Array que son mayores que el Threshold.
Salvar el VI como Array sobre Umbral.vi en el directorio C:\Exercises\LabVIEW Basics I.
7 This content is available online at <http://cnx.org/content/m19539/1.1/>.
8 This content is available online at <http://cnx.org/content/m19541/1.1/>.
9 "Square Root VI" <http://cnx.org/content/m12246/latest/>

Available for free at Connexions <http://cnx.org/content/col10634/1.2>


8 CHAPTER 1. TOMA DE DECISIONES EN UN VI

Crear otro VI que genere un array de números aleatorios entre 0 y 1 y haga uso del Array sobre
Umbral VI para obtener un array con valores mayores de 0.5.
Salvar el VI como Usando Array sobre Umbral.vi en el directorio C:\Exercises\LabVIEW
Basics I.

Available for free at Connexions <http://cnx.org/content/col10634/1.2>


INDEX 9

Index of Keywords and Terms

Keywords are listed by the section with that keyword (page numbers are in parentheses). Keywords
do not necessarily appear in the text of the page. They are merely associated with that section. Ex.
apples, Ÿ 1.1 (1) Terms are referenced by the page they appear on. Ex. apples, 1

C Case, Ÿ 1.5(7), Ÿ 1.6(7) Ÿ 1.5(7), Ÿ 1.6(7)


D decision, Ÿ 1.1(1) N National Instruments, Ÿ 1.1(1), Ÿ 1.2(2),
Ÿ 1.3(4), Ÿ 1.4(5), Ÿ 1.5(7), Ÿ 1.6(7)
E exercise, Ÿ 1.2(2), Ÿ 1.4(5), Ÿ 1.6(7) node, Ÿ 1.3(4)
F formula node, Ÿ 1.4(5), Ÿ 1.5(7), Ÿ 1.6(7) S select, Ÿ 1.1(1), Ÿ 1.5(7), Ÿ 1.6(7)
L LabVIEW, Ÿ 1.1(1), Ÿ 1.2(2), Ÿ 1.3(4), Ÿ 1.4(5), V VI, Ÿ 1.2(2)

Available for free at Connexions <http://cnx.org/content/col10634/1.2>


10 ATTRIBUTIONS

Attributions

Collection: Toma de decisiones en un VI


Edited by: Juan Martínez
URL: http://cnx.org/content/col10634/1.2/
License: http://creativecommons.org/licenses/by/2.0/
Module: "Toma de decisiones con la función Select"
By: Juan Martínez
URL: http://cnx.org/content/m19533/1.1/
Pages: 1-2
Copyright: Juan Martínez
License: http://creativecommons.org/licenses/by/2.0/
Based on: Making Decisions with the Select Function
By: National Instruments
URL: http://cnx.org/content/m12244/1.2/
Module: "VI Control de Temperatura"
By: Juan Martínez
URL: http://cnx.org/content/m19535/1.1/
Pages: 2-4
Copyright: Juan Martínez
License: http://creativecommons.org/licenses/by/2.0/
Based on: Temperature Control VI
By: National Instruments
URL: http://cnx.org/content/m12247/1.2/
Module: "Formula Node"
By: Juan Martínez
URL: http://cnx.org/content/m19536/1.1/
Pages: 4-5
Copyright: Juan Martínez
License: http://creativecommons.org/licenses/by/2.0/
Based on: Formula Node
By: National Instruments
URL: http://cnx.org/content/m12248/1.1/
Module: "VI Ejercicio con Formula Node"
By: Juan Martínez
URL: http://cnx.org/content/m19537/1.1/
Pages: 5-6
Copyright: Juan Martínez
License: http://creativecommons.org/licenses/by/2.0/
Based on: Formula Node Exercise VI
By: National Instruments
URL: http://cnx.org/content/m12249/1.1/

Available for free at Connexions <http://cnx.org/content/col10634/1.2>


ATTRIBUTIONS 11

Module: "Resumen, trucos y pistas sobre la toma de decisiones en un VI"


By: Juan Martínez
URL: http://cnx.org/content/m19539/1.1/
Page: 7
Copyright: Juan Martínez
License: http://creativecommons.org/licenses/by/2.0/
Based on: Summary, Tips, and Tricks on Making Decisions in a VI
By: National Instruments
URL: http://cnx.org/content/m12250/1.1/
Module: "Más ejercicios sobre la toma de decisiones en un VI"
By: Juan Martínez
URL: http://cnx.org/content/m19541/1.1/
Pages: 7-8
Copyright: Juan Martínez
License: http://creativecommons.org/licenses/by/2.0/
Based on: Additional Exercises for Making Decisions in a VI
By: National Instruments
URL: http://cnx.org/content/m12251/1.2/

Available for free at Connexions <http://cnx.org/content/col10634/1.2>


Toma de decisiones en un VI
Colección formada por los módulos: m19533 - 1. Toma de decisiones con la funcion Select m19535 - 2. VI
Control de Temperatura m19536 - 3. Formula Node m19537 - 4. VI Ejercicio con Formula Node m19539 -
5. Resumen, trucos y pistas sobre la toma de decisiones en un VI m19541 - 6. Más ejercicios sobre la toma
de decisiones en un VI

About Connexions
Since 1999, Connexions has been pioneering a global system where anyone can create course materials and
make them fully accessible and easily reusable free of charge. We are a Web-based authoring, teaching and
learning environment open to anyone interested in education, including students, teachers, professors and
lifelong learners. We connect ideas and facilitate educational communities.
Connexions's modular, interactive courses are in use worldwide by universities, community colleges, K-12
schools, distance learners, and lifelong learners. Connexions materials are in many languages, including
English, Spanish, Chinese, Japanese, Italian, Vietnamese, French, Portuguese, and Thai. Connexions is part
of an exciting new information distribution system that allows for Print on Demand Books. Connexions
has partnered with innovative on-demand publisher QOOP to accelerate the delivery of printed course
materials and textbooks into classrooms worldwide at lower prices than traditional academic publishers.

También podría gustarte