Вы находитесь на странице: 1из 22

area 3 Con labview crear un programa que regule el motor en 4

tiempos.

INGENIERA EN PROCESOS Y OPERACIONES


INDUSTRIALES

PRACTICAS DE LA MATERIA DE VISUALIZACION Y


CONTROL DE PROCESOS

Ing. Miguel Villafaa Ramrez


Cuatrimestre Mayo - Agosto 2016

PRACTICA 3 - LOGICA COMBINACIONAL


Entender cmo se puede resolver problemas comunes en programacin tipo BOP por medio de
compuertas lgicas.
Los sistemas digitales se construyen mediante combinacin de puertas lgicas. De ellas, las
ms comunes son NOT, AND, OR, NAND, NOR y XOR.

La puerta lgica ms simple es el inversor, tambin denominado NOT. El resultado de una


inversin es cambiar el valor de entrada a su opuesto: si a la entrada tenemos un 0, el
resultado ser un 1, y viceversa. La tabla de verdad del inversor es la siguiente:
NOT
(~)

Desde el punto de vista lgico NOT es la nica puerta lgica que


trabaja sobre una nica entrada. En electrnica existen tambin

otras funciones de una sola entrada, los denominados buffers, pero

0 1

aqu los obviaremos dado que los buffers son transparentes en el

1 0

sentido lgico.

AND (&)
A&

La salida de la puerta AND es nicamente uno cuando TODAS


las entradas lo son. Esto puede generalizarse para el caso en
el que el AND es de ms de 2 entradas.

OR (|)
A|

0 0 0

La salida de la puerta OR es activa siempre que exista algn


una entrada activa. lo mismo puede decirse si la puerta OR
es de ms de 2 entradas.

0 1 1

1 0 1

1 1 1

NAND
NA

ND

La puerta NAND realiza la funcin inversa de la AND, por lo


que podra construirse enlazando un AND y un NOT. Cuando
todas las entradas son activas, el resultado es un cero, en
caso contrario la salida es uno.

NOR
NO

La puerta NOR realiza la funcin inversa de la OR, por lo que


slo produce un uno cuando las dos entradas son cero.

XOR
(^)
A^

A B B

0 0 0
0 1 1

La funcin XOR, tambin llamada OR-Exclusivo, produce un uno


siempre que las entradas difieren.

1 0 1
1 1 0

La paleta de funciones booleanas en LabVIEW tiene el siguiente aspecto:

Hagamos un ejemplo minimalista para mostrar las funciones booleanas anteriores. En el Panel
Frontal hemos dibujado unas flechas, no son ms que meros elementos decorativos. Partiendo
de las dos seales booleanas A y B realizamos las operaciones lgicas nombradas
anteriormente.

En el diagrama de bloques queremos hacer patente que las funciones NAND y NOR son las
versiones negadas de las AND y OR respectivamente. Esdecir,

A NAND B = NOT (A AND B)


A NOR B = NOT (A OR B)

Si ejecutamos el programa vemos que el color de los indicadores de salida va cambiando en


funcin de los valores de las seales de entrada X e Y segn la funcin aplicada. Hemos
elegido el color verde claro para el valor TRUE y oscuro para FALSE.

Mascaras
Veamos con otro ejemplo una de las aplicaciones tpicas de los operadores numricos: las
mscaras. Las mscaras nos permiten extraer cierto tipo de informacin del dato sobre el que
se aplica. Supongamos que tenemos una secuencia de 8 bit como 01101011 y queremos saber
cules de los 4 de mayor peso estn a uno. Del resto de la secuencia no nos interesa conocer
nada, por lo que podemos anularla. Para ello podemos aplicar la funcin lgica AND con un
patrn de 8 bits en el que ponemos a 1 los 4 bits de ms peso, tal que 11110000. El resultado
01100000 es un AND que se ejecuta bit a bit.
01101011 AND 11110000 = 01100000
En el siguiente ejemplo de LabVIEW realizamos la mscara del dato de entrada, lo que es
equivalente a aplicar la funcin AND. Al ejecutarlo podemos modificar tanto el valor de entrada
como el de la mscara. A pesar de que nosotros introducimos el valor de los datos como
enteros, se muestra su valor en binario para que veamos cmo se estn realizando las
operaciones bit a bit.

Los ejemplos anteriores de LabVIEW se han ejecutado en el ordenador. Ahora vamos a


implementar un pequeo ejemplo prctico pero trabajando sobre un LEGO MINDSTORMS NXT.
Hemos conectado un servomotor en el puerto A del robot NXT. Nuestro objetivo es hacer un
sencillo programa que nos permita controlar dicho servomotores con dos pulsadores.
Vamos a crear un pequeo interfaz que deliberadamente nos obligue a hacer uso de funciones
lgicas. Para ello activaremos el motor segn dos posibles pulsadores:

Un pulsador lo har avanzar en un sentido, y que denominaremos como


pulsador P1 (FWD).
El segundo pulsador lo har avanzar en sentido inverso, pulsador P2
(BACK).

Por la forma en la que lo planteamos se van a producir -deliberadamente- 4 casos posibles,


segn estn pulsados o no cada uno de los dos pulsadores. Podemos representar en una tabla
como las anteriores lo que puede suceder:

Control motor

Lo que debe hacer el motor NXT en los tres primeros


casos es en cierta medida lgico, pero que debe

R E S U LT

P1 P2 ADO

Mot
or
dete
nido

hacer el motor en el caso de que los dos pulsadores


estn presionados simultneamente, indicando cada
uno de ellos que haga lo contrario de lo que dice el
otro? Como el problema lo definimos nosotros, vamos a
decidir que en este caso el motor se detenga, igual que
en el primer caso.

Mot
or
retr
oced
e

Mot
or

Por tanto vemos que vamos a crear tres posibles


comportamientos:

avan
za

El motor se detiene.

El motor avanza.

El motor retrocede.

Ahora reescribamos, para cada uno de los resultados, la misma tabla anterior. Empecemos por
la tabla en la que el motor avanza. As, la siguiente tabla representar cundo el motor va a
avanzar. Si avanza, lo representaremos con un 1 lgico, en caso contrario, con un cero.

Motor avanza
R E S U LT

P1 P2 ADO

Segn la tabla anterior, veamos que el motor slo


avanzaba en uno de los 4 posibles casos, que es lo que

1
(mot
or
avan
za!!!
)

representa esta tabla. Por lo tanto, veamos en qu


nica circunstancia se va a producir el hecho de avanza:
slo cuando el pulsador P1 est pulsado y, adems, P2
no lo est. Esto podemos escribirlo en la siguiente
ecuacin:
Avanzar = P1 AND (NOT P2)

Podemos razonar del mismo modo para el caso en el que el motor debe retroceder, y
obtenemos que slo se produce el retroceso cuando P1 no est pulsado, pero s lo est P2, es
decir:
Retroceder = (NOT P1) AND P2
El caso en el que se detiene el motor es un poco ms complicado, porque puede darse en dos
situaciones posibles, en la primera o en la ltima, es decir:
Detener = ((NOT P1) AND (NOT P2)) OR (P1 AND P2)
Dado que ya tenemos las ecuaciones lgicas que van a controlar el control de lo motores,
podemos implementar el programa en LabVIEW. Como cualquier problema, ste puede
resolverse de muchas formas posibles. Nosotros hemos elegido con finalidad didctica el
controlar el motor mediante una estructura case.

Y lo que se ejecuta en los otros dos casos del case es:

Y el panel frontal que hemos preparado es el que


sigue:

El programa consta de varias partes:

Una primera en la que construyo las funciones lgicas


de Avanzar, Retroceder y Detenerpartiendo de las seales de los
pulsadores P1 y P2, tal como he explicado antes. Para comprobar que su
funcionamiento es correcto he aadido unos indicadores que muestran su
valor en funcin del estado de los pulsadores. He aadido tambin dos
comentarios para indicar Not P1 y Not P2 con objeto de facilitar la lectura.

Con lo anterior ya disponemos de las tres funciones, pero como vamos a


trabajar con un casepara controlar el estado del motor del NXT Cmo

relaciono

dichas seales con la entrada de control

del case? La solucin por la que he optado es por la de agrupar las tres
seales en un array de tres elementos y convertir a continuacin dicho
array en un valor numrico, que es el que controlar el caso a ejecutar.

Para construir dicho array de booleans

hago uso del iconoBuildArray, que podemos encontrar en la paleta de


funciones de Array. El siguiente paso en transformar ese valor numrico,
porque un array no puede emplearse para controlar los casos de un case.
Empleo la funcin BooleanArrayToNumber. Para comprobar qu valor se
est asociando muestro el valor numrico con el indicador que
llamo Nmero.

A la estructura Case debemos aadirle un caso adicional, porque tal como


lo introducimos en el diagrama de bloques slo tiene dos casos posibles.
Adems debemos nombrar cada uno de los casos segn nos aparezcan los
valores en Nmero, y debemos hacerlos coincidir con segn la ejecucin
adecuada. Para poder ejecutar el programa y observar qu valores ha
asignado LabVIEW a esos casos, podemos realizar una primera ejecucin
asignando a los casos los valores 1, 2 y 3. Debemos adems asignar el
caso Detener como Default.
Todo lo anterior se ejecuta en el interior de un while con su
correspondiente botn para detener el programa.

Si todo es correcto:
Cuando presionemos P1 debe iluminarse el LED de Avanzar y el motor girar en
un sentido.

Cuando presionemos P2 debe iluminarse el LED de Retroceder y el motor


girar en el sentido contrario al anterior.

Cuando presionamos los dos pulsadores o cuando ninguno est


presionado, debe iluminarse el LED Detener y el motor debe detenerse.

* Ejecucin en modo Remoto: Este programa debe ejecutarse en el PC sin descargar el


programa en el NXT, sino mediante control directo desde el LabVIEW en tiempo real, porque la
estructura case con casos enumerados no puede compilarse para el NXT.

PRACTICA 4 GRAFICAS, ARRAYS Y CLUSTERS EN LABVIEW


Objetivo: Llevar a cabo la generacin de grficas, programacin de Arrays y Clusters en
LabView

Tipo de Dato Booleano


LabVIEW almacena datos Booleanos como valores de 8 bits. Usted puede usar un Booleano en
LabVIEW para representar un 0 o 1 o un TRUE o FALSE. Si el valor de 18 bits es cero, el valor
Booleano es FALSE. Cualquier valor no igual a cero representa TRUE. Las aplicaciones
comunes para datos Booleanos incluyen representar datos digitales y servir como un control
de panel frontal que acta como un conmutador que tiene una accin mecnica generalmente
usada para controlar una estructura de ejecucin como una estructura de Caso. Un control
Booleano generalmente es usado como la declaracin condicional para terminar un Ciclo
While. En LabVIEW el color verde representa datos Booleanos.
Tipo de Dato Dinmico

La mayora de los Express VIs aceptan y/o regresan tipos de datos dinmicos, los cuales
aparecen como una terminal de color azul obscuro.
Al usar los Convert to Dynamic Data y Convert from Dynamic Data VIs, usted puede convertir
datos Booleanos o numricos de punto flotante de los siguientes tipos de datos:

Arreglo 1D de forma de onda

Arreglo 1D de escalares

Arreglo 1D de escalares valor ms reciente

Arreglo 1D de escalares un solo canal

Arreglo 2D de escalares columnas son canales

Arreglo 2D de escalares filas son canales

Un solo escalar

Una sola forma de onda

Cablear el tipo de datos dinmicos a un indicador que puede presentar mejor los datos. Los
indicadores incluyen una grfica, tabla o numrico o indicador Booleano. Sin embargo, ya que
los datos dinmicos experimentan una conversin automtica para igualar al indicador al cual
estn cableados, los Express VIs pueden bajar la velocidad de ejecucin del diagrama de
bloques.
El tipo de datos dinmico es para uso con Express VIs. La mayora de los VIs y funciones que
se venden con LabVIEW no aceptan este tipo de datos. Para usar una funcin o VI integrada
para analizar o procesar los datos que incluye el tipo de datos dinmico, debe convertir el tipo
de datos dinmico.

Arreglos

Algunas veces es benfico agrupar datos relacionados. Use arreglos y clusters para agrupar
datos relacionados en LabVIEW. Los arreglos combinan puntos de datos del mismo tipo de
datos en una estructura de datos y los clusters combinan puntos de datos de mltiples tipos
de datos en una estructura de datos.
Un arreglo consiste de elementos y dimensiones. Los elementos son los puntos de datos que
componen el arreglo. Una dimensin es la longitud, altura o profundidad de un arreglo. Un
arreglo puede tener una o ms dimensiones y tantos como (2 31)1 elemento por dimensin, si
la memoria lo permite.
Puede construir arreglos de tipos de datos numricos, Booleano, paths, cadena de caracteres,
forma de onda y cluster. Considere usar arreglos cuando trabaje con una coleccin de puntos
de datos similares y cuando realice clculos repetitivos. Los arreglos son ideales para
almacenar datos que colecta desde formas de onda o datos generados en ciclos, donde cada
iteracin de un ciclo produce un elemento del arreglo.
Nota: Los ndices de arreglo en LabVIEW estn basados en cero. El ndice del primer elemento
en el arreglo, sin importar su dimensin, es cero.

Los elementos del arreglo son ordenados. Un arreglo utiliza un ndice, as usted puede tener
acceso fcilmente a cualquier elemento en particular. El ndice est basado en cero, lo cual
significa que est en el rango de 0 a n-1, donde n es el nmero de los elementos en el arreglo.
Por ejemplo, n-12 representa los 12 meses del ao, as el ndice va de 0 a 11. Marzo es el tercer
mes, as que tiene un ndice de 2.
La Figura 1 muestra un ejemplo de un arreglo de numricos. El primer elemento que se
muestra en el arreglo (3.00) est en 1 y el segundo elemento (1.00) est en 2. El elemento en el
ndice 0 no se muestra en esta imagen, porque el elemento 1 est seleccionado en la imagen
del ndice. El elemento seleccionado en la imagen del ndice siempre se refiere al elemento que
se muestra en la parte superior izquierda del la imagen del elemento.

(1) Imagen del ndice | (2) Imagen del Elemento


Figura 1. Control de Arreglo de Numricos
Crear Controles e Indicadores tipo Arreglo
Cree un control o indicador tipo arreglo en el panel frontal al aadir una estructura de arreglo al
panel frontal, como se muestra en laFigura 2 y arrastrar un objeto de datos o elemento, como
un control numrico o de cadena de caracteres, a la estructura del arreglo.

Figura 2. Colocar un Control Numrico en una Estructura de Arreglo


Si intenta arrastrar un control invlido o indicador en la estructura del arreglo, no podr colocar
el control o indicador en la estructura del arreglo.
Debe insertar un objeto en la estructura del arreglo antes de usar el arreglo en el diagrama de
bloques. De lo contrario, la terminal del arreglo aparece en negro con un parntesis vaco y no
tiene tipo de datos asociado.
Arreglos en Dos Dimensiones
Los ejemplos anteriores usan arreglos en 1D. Un arreglo en 2D almacena elementos en una
cuadrcula. Requiere un ndice de columna y un ndice de fila para ubicar un elemento, ambos

basados en cero. La Figura 3 muestra un arreglo en 2D de 8 columnas por 8 filas, el cual


contiene 8 8 = 64 elementos.

Figura 3. Arreglo en 2D
Para aadir un arreglo multidimensional al panel frontal, haga clic con botn derecho en la
imagen del ndice y seleccione Aadir Dimensin desde el men de acceso directo. Tambin
puede cambiar el tamao de la imagen ndice del arreglo hasta que obtenga la cantidad de
dimensiones que desea.
Iniciar Arreglos
Puede iniciar un arreglo o dejarlo sin inicializar. Cuando un arreglo es iniciado, usted define el
nmero de elementos en cada dimensin y el contenido de cada elemento. Un arreglo sin
inicializar contiene un nmero fijo de dimensiones pero no elementos. La Figura 4muestra un
control arreglo en 2D sin configurar. Note que todos los elementos estn atenuados. Esto
indica que el arreglo no est configurado.

Figura 4. Arreglo en 2D sin Configurar


En un arreglo en 2D, despus de que inici un elemento, cualquier elemento no iniciado en esa
columna y en columnas previas es iniciado y publicado con el valor predeterminado para el
tipo de datos. En la Figura 5, un valor de 4 fue proporcionado en la columna 2, del arreglo
basado en 0. Los elementos previos en la columna 0, 1 y 2 son iniciados en 0, el cual es el valor
predeterminado para el tipo de dato numrico.

Figura 5. Un Arreglo en 2D Iniciado con Nueve Elementos


Crear Constantes tipo Arreglo
Para crear una constante del arreglo en el diagrama de bloques, seleccione una constante del
arreglo en la paleta Funciones, coloque la estructura del arreglo en el diagrama de bloques y
coloque una constante de cadena de caracteres, constante numrica, constante Booleano o
constante cluster en la estructura del arreglo. Puede usar una constante de arreglo para
almacenar datos constantes o como un punto de comparacin con otros arreglos.
Entradas de Arreglo Auto-indexing

Si cablea un arreglo a o desde un Ciclo For o Ciclo While, puede enlazar cada iteracin del ciclo
a un elemento en ese arreglo al habilitar auto-indexing La imagen de tnel cambia de ser un
cuadrado slido a la imagen para indicar auto-indexing. Haga clic con botn derecho en el
tnel y seleccione Habilitar ndexado o Deshabilitar ndexado desde el men de acceso directo
para modificar el estado del tnel.
Entradas de Arreglo
Si habilita auto-indexing en un arreglo cableado a una terminal de entrada de Ciclo For,
LabVIEW establece la terminal de conteo al tamao del arreglo para que no tenga que cablear
la terminal de conteo. Ya que puede usar Ciclos For para procesar los arreglos de un elemento
al mismo tiempo, LabVIEW habilita auto-indexing de forma predeterminada para cada arreglo
que cablee a un Ciclo For. Puede deshabilitar auto-indexing si no necesita procesar arreglos de
un elemento a la vez.
En la Figura 6, el Ciclo For se ejecuta un nmero de veces igual al nmero de elementos en el
arreglo. Normalmente, si la terminal de conteo del Ciclo For no est cableada, el botn de
ejecucin esta roto y no permite la ejecucin del VI. Sin embargo, en este caso el botn de
ejecucin no aparece roto.

Figura 6. Arreglo Usado para Establecer Conteo de Ciclo For


Si habilita auto-indexing para ms de un tnel o si cablea la terminal de conteo, el nmero
actual de iteraciones se ejecuta la opcin menor. Por ejemplo, si dos arreglos de auto-indexing
entran en el ciclo, con 10 o 20 elementos respectivamente y cablea un valor de 15 a la terminal
de conteo, el ciclo solamente se ejecuta 10 veces, incluyendo todos los elementos del primer
arreglo pero solamente los primeros 10 del segundo arreglo.
Salidas de Arreglo
Cuando aplica auto-indexing a un tnel de salida de arreglo, el arreglo de salida recibe un
nuevo elemento desde cada iteracin del ciclo. Por lo tanto, los arreglos de salida de autoindexing son siempre iguales en tamao al nmero de iteraciones.
El cable desde el tnel de salida al indicador del arreglo se vuelve ms grueso conforme
cambia a un arreglo en el borde del ciclo y el tnel de salida contiene parntesis cuadrados
representando un arreglo.

Figura 7. Salida de Auto-Indexing


Haga clic con botn derecho en el tnel en el borde del ciclo y seleccione Habilitar ndices o
Deshabilitar ndices desde el men de acceso directo para activar o desactivar auto-indexing.
Auto-indexing para los Ciclos While estn deshabilitados de forma predeterminada.

Por ejemplo, deshabilite auto-indexing si solamente necesita el ltimo valor que pas por el
tnel.
Crear Arreglos en Dos Dimensiones
Puede usar dos Ciclos For, anidados uno dentro del otro, para crear un arreglo en 2D. El Ciclo
For externo crea los elementos en fila y el Ciclo For interno crea los elementos en columna.

Figura 8. Crear un Arreglo en 2D


Clusters
Los clusters agrupan elementos de datos de diferentes tipos. Un ejemplo de un cluster es el
cluster de error de LabVIEW, el cual combina un valor Booleano, un valor numrico y uno de
cadena de caracteres. Un cluster es similar a un registro o a una estructura en lenguajes de
programacin basados en texto.
Construir varios elementos de datos en clusters elimina el desorden de cables en el diagrama
de bloques y reduce el nmero de terminales del panel conector que los subVIs necesitan. El
panel conector tiene, a lo ms, 28 terminales. Si su panel frontal contiene ms de 28 controles e
indicadores que quiera pasar a otro VI, agrupe algunos de ellos en un cluster y asigne el
cluster a una terminal en el panel conector.
La mayora de los clusters en el diagrama de bloques tienen un patrn de cable rosa y terminal
de tipos de datos. Los clusters de error tienen un patrn de cable amarillo obscuro y terminal
de tipo de datos. Los clusters de valores numricos, algunas veces conocidos como puntos,
tienen un patrn de cable caf y terminal de tipo de datos. Puede cablear clusters numricos
cafs a funciones Numricas, como Suma o Raz Cuadrada, para realizar la misma operacin
simultneamente en todos los elementos del cluster.
Orden de Elementos de Cluster
Aunque el cluster y los elementos de arreglo estn ordenados, debe desagrupar todos los
elementos del cluster una vez usando la funcin Unbundle. Puede usar la funcin Unbundle By
Name para desagrupar los elementos del cluster por nombre. Si utiliza la funcin Unbundle by
Name, cada elemento del cluster debe tener una etiqueta. Los clusters tambin se diferencian

de los arreglos ya que tienen un tamao fijo. Como un arreglo, un cluster puede ser un control
o un indicador. Un cluster no puede contener una combinacin de controles e indicadores.
Crear Controles e Indicadores de Cluster
Cree un control o indicador de cluster en el panel frontal al aadir una estructura de cluster al
panel frontal, como se muestra en el siguiente panel frontal y al arrastrar un objeto de datos o
elemento, que puede ser un control o indicador numrico, Booleano, de cadena de caracteres,
path, refnum, arreglo hacia el interior de la estructura del cluster.
Cambie el tamao de la estructura del cluster al arrastrar el cursor mientras coloca la
estructura del cluster.

Figura 9. Creacin de un Control de Cluster


La Figura 10 es un ejemplo de un cluster que contiene tres controles: una cadena de
caracteres, un interruptor Booleano y un numrico.

Figura 10. Ejemplo de Control de Cluster


Crear Constantes del Cluster
Para crear una constante del cluster en el diagrama de bloques, seleccione una constante del
cluster en la paleta de Funciones, coloque la estructura del cluster en el diagrama de bloques y
coloque una constante de cadena de caracteres, constante numrica, constante Booleano o
constante cluster en la estructura del cluster. Puede usar una constante de cluster para
almacenar datos constantes o como un punto de comparacin con otros clusters.
Si tiene un control o indicador de cluster en la ventana del panel frontal y quiere crear una
constante de cluster que contenga los mismos elementos en el diagrama de bloques, puede
arrastrar el cluster desde la ventana del panel frontal al diagrama de bloques o dar clic con
botn derecho en el cluster en la ventana del panel frontal y seleccione CreateConstant en el
men de acceso directo.
Usar Funciones de Cluster

Use las funciones de Cluster para crear y manipular clusters. Por ejemplo, puede realizar tareas
similares a las siguientes:

Extraiga elementos de datos individuales desde un cluster.

Aada elementos de datos individuales a un cluster.

Fracture un cluster en sus elementos de datos individuales.

Use la funcin de Bundle para ensamblar un cluster, use la funcin Bundle y la funcin Bundle
by Name para modificar un cluster y use la funcin Unbundle y la funcin Unbundle By Name
para desensamblar clusters.
Tambin puede colocar las funciones Bundle, Bundle by Name, Unbundle, y Unbundle by Name
en el diagrama de bloques al dar clic con botn derecho en la terminal del cluster en el
diagrama de bloques y al seleccionar el Cluster, Paleta Class & Variant en el men de acceso
directo. Las funciones de Agrupar y Desagrupar contienen automticamente el nmero
correcto de terminales. Las funciones Agrupar por Nombre y Desagrupar por Nombre aparecen
con el primer elemento en el cluster. Use la herramienta de Posicin para cambiar el tamao de
las funciones de Agrupar por Nombre y Desagrupar por Nombre para mostrar los otros
elementos del cluster.
Ensamblar Clusters
Use la funcin Bundle para ensamblar un cluster desde elementos individuales o para cambiar
los valores de los elementos individuales en un cluster existente sin tener que especificar los
nuevos valores para todos los elementos. Use la herramienta de Posicin para cambiar el
tamao de la funcin o haga clic con botn derecho en una entrada de elemento y seleccione
Aadir Entrada desde el men de acceso directo.

Figura 11. Ensamblar un Cluster en el Diagrama de Bloques


Modificar un Cluster
Si cablea la entrada de cluster, puede cablear solamente los elementos que desea cambiar. Por
ejemplo, el Cluster de Entrada que se muestra en la Figura 12 contiene tres controles.

Figura 12. Bundle se Usa para Modificar un Cluster


Si conoce el orden del cluster, puede usar la funcin Bundle para cambiar el valor del Comando
al cablear los elementos que se muestran en la Figura 12.
Tambin puede usar la funcin Bundle By Name para reemplazar o tener acceso a elementos
etiquetados de un cluster existente. La funcin de ABundle by Name funciona como la funcin
de Bundle, pero en lugar de relacionar los elementos del cluster por su orden de cluster, los
relaciona por sus etiquetas. Solamente puede tener acceso a elementos con etiquetas propias.
El nmero de entradas no necesita ser igual al nmero de elementos en un cluster de salida.
Use la herramienta de Operacin para hacer clic en una terminal de entrada y seleccionar un
elemento en el men desplegable. Tambin puede hacer clic con botn derecho en la entrada y
seleccionar el elemento con Seleccionar Elemento en el men de acceso directo.
En la Figura 13, puede usar la funcin de Bundle by Name para actualizar los valores de
Comando y Funcin con los valores del Nuevo Comando y Nueva Funcin.

Figura 13. Bundle by Name se Usa para Modificar un Cluster


Use la funcin de Bundle by Name para estructuras de datos que pueden cambiar durante el
desarrollo. Si aade un nuevo elemento al cluster o modifica su orden, no necesita reescribir la
funcin de Bundle by Name ya que los nombres siguen siendo vlidos.
Desensamblar Clusters
Use la funcin Unbundle para separar un cluster en sus elementos individuales.
Use la funcin Unbundle By Name para regresar los elementos del cluster de los cuales
especific los nombres. El nmero de terminales de salida no depende del nmero de
elementos en el cluster de entrada.
Use la herramienta de Operacin para hacer clic en una terminal de salida y seleccionar un
elemento en el men desplegable. Tambin puede hacer clic con botn derecho en la terminal
de salida y seleccionar el elemento con Seleccionar Elemento en el men de acceso directo.
Por ejemplo, si usa la funcin Unbundle con el cluster en la Figura 14, tiene cuatro terminales
de salida que corresponden a los cuatro controles en el cluster. Debe conocer el orden del
cluster para que pueda asociar la terminal Booleano correcta del cluster desagrupado con el
interruptor correspondiente en el cluster. En este ejemplo, los elementos estn ordenados de
arriba hacia abajo comenzando con el elemento 0. Si usa la funcin Unbundle by Name, puede

tener un nmero arbitrario de terminales de salida y tener acceso a elementos individuales por
nombre en cualquier orden.

Figura 14. Unbundle and Unbundle by Name


Enums
Un enum (control, constante o indicador enumerado) es una combinacin de tipos de datos. Un
enum representa un par de valores, una cadena de caracteres y un valor numrico, donde el
enum puede ser uno de una lista de valores. Por ejemplo, si usted cre un tipo de enum
llamado Mes, los pares de valores posibles para una variable Mes son Enero-0, Febrero-1 y as
hasta Diciembre-11.LaFigura 15 muestra un ejemplo de estos pares de datos en la ventana de
dilogo de Propiedades para un control enumerado. Se obtiene acceso al dar clic con botn
derecho en el control enum y al seleccionar Edit Items.

Figura 15. Propiedades para el Control Enumerado Mes


Los enums son tiles porque es ms fcil manipular nmeros en el diagrama de bloques que
cadena de caracteres. La Figura 16muestra el control enumerado Mes, la seleccin de un par
de datos en el control enumerado y la terminal del diagrama de bloques correspondiente.

(1) Control de Panel Frontal | (2) Seleccionar un Elemento | (3) Terminal de Diagrama de
Bloques

Figura 16. Control Enumerado Mes


Herramienta de Sonda de Prueba

Use la herramienta Probe para verificar los valores intermedios en un cable mientras un VI se
ejecuta.
Use la herramienta de Sonda de Prueba si tiene un diagrama de bloques complicado con una
serie de operaciones y cualquiera de ellas puede regresar datos incorrectos. Use la
herramienta de Probe con la identificacin de ejecucin, avance simple y puntos de paro para
determinar donde estn los datos incorrectos. Si los datos estn disponibles, la punta de
prueba se actualiza inmediatamente y muestra los datos en laProbe Watch Windowdurante la
identificacin de ejecucin, avance simple o cuando hace pausa en un punto de paro. Cuando
la ejecucin hace pausa en un nodo por avance simple o un punto de paro, tambin puede
medir el cable que se ejecut para ver el valor que fluye a travs de ese cable.

Вам также может понравиться