• No se han encontrado resultados

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
18
0
0

Texto completo

(1)

Toma de decisiones en un VI

By:

(2)
(3)

Toma de decisiones en un VI

By:

Juan Martínez

Online:

<

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

C O N N E X I O N S

(4)

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

(5)

Table of Contents

1 Toma de decisiones en un VI

1.1 Toma de decisiones con la función Select . . . 1

1.2 VI Control de Temperatura . . . .. . . 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

(6)

iv

(7)

Chapter 1

Toma de decisiones en un VI

1.1 Toma de decisiones con la función Select

1

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

1This 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>

(8)

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.

1.2 VI Control de Temperatura

3

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.

3This content is available online at <http://cnx.org/content/m19535/1.1/>. 4"Temperature Running Average VI" <http://cnx.org/content/m12235/latest/>

(9)

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.

(10)

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.

1.3 Formula Node

5

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.

5This content is available online at <http://cnx.org/content/m19536/1.1/>.

(11)

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.

1.4 VI Ejercicio con Formula Node

6

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

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

(12)

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 = f3(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.

(13)

7

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

7

• 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− 1casos.

• 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 (;).

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

8

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.

7This content is available online at <http://cnx.org/content/m19539/1.1/>. 8This content is available online at <http://cnx.org/content/m19541/1.1/>. 9"Square Root VI" <http://cnx.org/content/m12246/latest/>

(14)

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.

(15)

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)

D

decision, Ÿ 1.1(1)

E

exercise, Ÿ 1.2(2), Ÿ 1.4(5), Ÿ 1.6(7)

F

formula node, Ÿ 1.4(5), Ÿ 1.5(7), Ÿ 1.6(7)

L

LabVIEW, Ÿ 1.1(1), Ÿ 1.2(2), Ÿ 1.3(4), Ÿ 1.4(5), Ÿ 1.5(7), Ÿ 1.6(7)

N

National Instruments, Ÿ 1.1(1), Ÿ 1.2(2), Ÿ 1.3(4), Ÿ 1.4(5), Ÿ 1.5(7), Ÿ 1.6(7) node, Ÿ 1.3(4)

S

select, Ÿ 1.1(1), Ÿ 1.5(7), Ÿ 1.6(7)

V

VI, Ÿ 1.2(2)

(16)

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/

(17)

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/

(18)

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.

Referencias

Documento similar

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

Esto viene a corroborar el hecho de que perviva aún hoy en el leonés occidental este diptongo, apesardel gran empuje sufrido porparte de /ue/ que empezó a desplazar a /uo/ a

En junio de 1980, el Departamento de Literatura Española de la Universi- dad de Sevilla, tras consultar con diversos estudiosos del poeta, decidió propo- ner al Claustro de la

Missing estimates for total domestic participant spend were estimated using a similar approach of that used to calculate missing international estimates, with average shares applied

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados

En cuarto lugar, se establecen unos medios para la actuación de re- fuerzo de la Cohesión (conducción y coordinación de las políticas eco- nómicas nacionales, políticas y acciones