Vous êtes sur la page 1sur 35

UNIVERSIDADA TECNOLÓGICA DE COAHUILA

INGENIERA EN PROCESOS Y OPERACIONES


INDUSTRIALES

MATERIA:
INSTRUMENTACIÓN VIRTUAL

“INSTRUMENTACIÓN VIRTUAL”

MAESTRA: M.I.I RUTH B. RODRÍGUEZ RUBIO

ALUMNOS:
ESTRADA CHARLES ANGEL JESUS
VALENCIANO URBINA CAROLINA ELIZABETH

8IPOI-A
13/05/2019
ÍNDICE
INTRODUCCIÓN .................................................................................................... 2
AMBIENTE DE PROGRAMACIÓN ........................................................................ 3
FUNCIONES Y SUBRUTINAS ............................................................................. 12
ESTRUCTURAS DE CASOS ................................................................................ 24
ARREGLOS Y GRUPO DE DATOS ..................................................................... 27
CONCLUSIÓN ...................................................................................................... 33
REFERENCIAS ..................................................................................................... 34

1
INTRODUCCIÓN
EN este trabajo daremos a conocer algunos de los temas básicos para entrar a la realización de
prácticas sobre la Instrumentación virtual, para ello debemos tener en claro concepto de
instrumentación virtual que nace a partir del uso de la computadora personal, como forma de
reemplazar equipos físicos por software, permite a los usuarios interactuar con
la computadora como si estuviesen utilizando un instrumento real.

El usuario manipula un instrumento que no es real, se ejecuta en una computadora, tiene sus
características definidas por software pero realiza las mismas funciones que un equipo real,

La idea es sustituir y ampliar elementos "hardware" por otros "software", para ello se emplea
un procesador que ejecute un programa específico, este programa se comunica con los
dispositivos para configurarlos y leer sus medidas. En muchas ocasiones el usuario final del sistema
de instrumentación sólo ve la representación gráfica de los indicadores y botones de control
virtuales en la pantalla del ordenador.

El concepto de instrumentación virtual implica adquisición de señales, el


procesamiento, análisis, almacenamiento, distribución y despliegue de los datos
e información relacionados con la medición de una o varias señales, interfaz hombre-máquina,
visualización, monitoreo y supervisión remota del proceso, la comunicación con otros equipos, etc.

Un sistema de instrumentación virtual está enfocado a los instrumentos encargados de medir


señales, registrar datos y decidir las acciones de control, evidentemente, se requiere de una etapa
de actuación, que conforma la interfaz entre la computadora y el sistema a controlar, por tanto
esta etapa implicará drivers de potencia o transductores de señal especiales. Además, existen
otras etapas auxiliares que no intervienen en el proceso de medida, como es el caso del
subsistema de alimentación.

2
AMBIENTE DE PROGRAMACIÓN
LAbVIEW, conocido por sus siglas en inglés como, Laboratory Virtual Instrument
Engineering Workbench, es un entorno de desarrollo integrado y diseñado
específicamente para ingenieros y científicos. La principal ventaja de labVIEW
radica en su capacidad de representar la información de forma gráfica, en esencia
se trata de un modelo de programación grafica que utiliza flujo de datos en lugar de
secuencias de líneas de texto para programar código funcional, facilitando el
enfoque algorítmico junto a la mejora del tiempo y coste asociado a la simulación
de ciertos fenómenos y parámetros físicos.
LabVIEW es un lenguaje de programación grafico que basa su funcionamiento en
flujo de datos que determinan el entorno de ejecución del programa. La interface del
programa de ejecución de labVIEW se crea con un conjunto de herramientas y
objetos. La interface de usuario se conoce como panel frontal, y es donde se
diseñaran y ejecutaran todas las líneas de código gráficas, que de forma u otra
representa el flujo de información del programa. El entorno de desarrollo se
compone de varios complementos virtuales y librerías que se orientan a ciertas
ramas específicas de desarrollo en la ingeniería. Entre estas tenemos: LabVIEW
Measurements. LabVIEW Application Builder. LabVIEW Development. LabVIEW
Analysis Concepts.
INSTRUMENTACION VIRTUAL
La principal ventaja de este entorno de programación se basa en la utilización
modular de herramientas, de las cuales podemos encontrar una gran cantidad de
abstracciones virtuales de elementos físicos conocidos. El nombre que reciben los
programas en labVIEW se le denomina instrumentos virtuales o VI por sus siglas en
inglés, esto dada que su apariencia se asemeja en funcionamiento a la de
instrumentos físicos, como son osciloscopios y multímetros. Todas las VI utilizan
funciones que manipulan unas variables de entradas determinadas por el usuario
que luego se muestran en un sistema de representación dado o fluyen a otros
archivos del ´ ordenador. Los componentes que podemos encontrar en un
instrumento virtual son:
 Panel frontal, funciona como interfaz de usuario.
 Diagrama de bloques, Contiene el código grafico que implementa el
instrumento virtual.
 Panel e iconos conectores, identifica las VI para poder ser implementadas
con otras.
Panel frontal: El panel frontal se considera la interfaz de usuario en el instrumento
virtual. La siguiente imagen muestra una toma del panel frontal.

3
Ilustración 1 Panel frontal de trabajo

El panel frontal muestra gráficas y guıas visuales que ayudan a la integración del
observador, junto a esta se presentan las etapas de medida como son las etapas
de entrada obtenidas de varios instrumentos.
Diagrama de bloques: Luego de haber creado las entradas del panel frontal se
hace necesario utilizar las herramientas y algoritmos que van a manipular las
entradas del diagrama del panel frontal. Esta ventana se conoce como diagrama de
bloques, y es aqu´ı donde se conectan las secuencias de algoritmos visuales de los
instrumentos virtuales.
La siguiente imagen
muestra un ejemplo de
un diagrama de
bloques anexado a su
panel frontal
respectivo.

Ilustración 2 Panel frontal de trabajo junto a su respectivo diagrama de bloques

4
Como puede verse en la imagen, para cada representación exterior existente en el
diagrama del panel frontal, existe una respectiva secuencia de entrada y salida
relacionada en el diagrama de bloques.
Dentro del diagrama del diagrama de bloques podemos distinguir los siguientes
aspectos:
 Terminales: Las terminales representan el tipo de dato de control o del
indicador, es posible configurar los controles del panel frontal para que
aparezcan como indicadores o como iconos tipo dato. Los terminales se
consideran como puertos de entrada y salida que intercambian información
con el diagrama de bloques. ´ La secuencia general consiste en que primero
se ingresan los datos dentro del panel frontal, que a partir de las terminales
ocurre un flujo de datos dentro del diagrama de bloques que utiliza un
algoritmo previamente diseñado por el usuario para realizar ciertas
operaciones, luego en la etapa final estos datos se despliegan en el panel
frontal utilizando terminales de salida.

 Nodos: Los nodos son objetos en el diagrama de bloques que poseen


entradas y salidas donde se realizan operaciones cuando se ejecuta un
instrumento virtual. Cumplen una analogía similar a la de enunciados,
operadores, funciones y subrutinas de la programación convencional.
 Cables: La forma de transmitir información a través´ de bloques se realiza
por medio de cables. Los cables pueden tener distintas estructuras
dependiendo del tipo de dato del que se trabaja y también pueden tener ´ la
posibilidad de interactuar con distintos instrumentos virtuales.
 Estructuras: Las estructuras son representaciones graficas de las
condiciones de programación de “loop2 case” derivados de la programación
basada en textos. Las ´ estructuras se utilizan para repetir bloques de código
condicionalmente o en un orden especıfico.
ICONOS Y CONECTOR DEL PANEL
Para utilizar instrumentos virtuales conjuntamente, podemos utilizar iconos que
representan la representación gráfica del instrumento virtual en su totalidad.
Estos se ubican en la venta derecha del panel frontal, poseen la siguiente
representación como se muestra en la imagen:

Ilustración 3Iconos del panel de control

5
En la imagen anterior también se presenta un esquema que muestra la conexión de
elementos al instrumento virtual como se haría en un esquema de programa habitual
de programación basada en texto. Acá se conectan las terminales que se
comunicaran con el instrumento virtual a utilizarse.
METODOLOGÍA
Para el desarrollo de esta práctica se utilizó como material de trabajo el entorno de
diseño de Labview que se encontraba instalado en los computadores del laboratorio
de instrumentación; la versión utilizada fue del año 2014. Todo el trabajo realizado
en este espacio fue con base a los pasos que aparecían en la guía compartida por
el profesor. En orden, las actividades realizadas fueron las siguientes: Inicialmente
se diseñó un conversor de grados centígrados a fahrenheit utilizando operadores
básicos en la plataforma; luego se jugó con diferentes maneras para poder ingresar
los datos y otras para mostrarlos. Después se probó en modificar el ıcono del
programa con la herramienta de icono editor. Después se hizo un programa muy
sencillo que calcula la pendiente de una recta a partir del ingreso de los puntos en
cada eje coordenado. También se aprendió a como agregar vectores con datos en
un plotter para poder observar graficas definidas a puntos. Finalmente fuera del
espacio de laboratorio se diseñó una calculadora sencilla la cual realiza cálculos
como suma, resta, multiplicación, división y promedio.
RESULTADOS
Conversor grados centígrados a Fahrenheit Para el conversor de centígrados a
fahrenheit se realizó´ paso a paso lo que aparecía en la guía, en una primer
acercamiento se ingresaron los datos en el panel frontal como un cuadro de texto,
luego se utilizó una interfaz más amable ´ con el usuario para que este dato pudiera
ser visto. Una de las utilidades de LabView es que permite utilizar ciertos operadores
matemáticos que pueden ser invocados como otra ´ caja (Tal y como se haría con
un diagrama de bloques) Esto se puede observar a continuación:

Ilustración 4Esquema de operaciones realizadas para la conversión de los datos

6
Ilustración 5 Ingreso básico de datos con controles e indicadores
numéricos

Luego se probó con la manera en cómo se ingresaban los datos, así como se
muestra en la figura 6, se utilizó una perilla ´ para ingresar los datos de temperatura
y para poder observarlos se recurrió a usar un icono de termómetro.

Ilustración 6 Herramientas utilizadas para ingresar y mostrar los datos

Observamos que resulta poco práctico trabajar con cada bloque y cada operación
por separado, lo que hace pensar en una manera para sintetizar toda la formula
como solo una función, por ende se recurrió a utilizar un bloque de instrucciones
para función, en donde cómodamente se pudo ingresar la fórmula de conversión de
centígrados a fahrenheit.

Ilustración 7 Ingreso de datos por medio de bloque de función

Donde en teoría hace exactamente lo mismo pero ocupando menos espacio.

7
Otra de las funcionalidades de Labview es que nos permite crear un SubVI
(SubVirtual Instrument) con las variables utilizadas. Así pues, siguiendo los pasos
de la guía suministrada por el profesor, podemos crear tanto el ıcono que tendrá
nuestro VI así como las entradas que este podrá tener.

Ilustración 8 Creación del ´Icono de nuestro SubVI

Para utilizar nuestro subVI seleccionaremos en un nuevo archivo, en el panel de


Diagrama de bloques la opción ”Select a VI”, ahí podremos seleccionar nuestro
SubVI para utilizarlo en un nuevo proceso.

Ilustración 9 Conversión de Temperatura como subVI

Como se puede observar nuestro SubVI queda como un nuevo elemento para
procesar los datos de entrada, así este tenga varias operaciones en su interior, será
utilizado como una caja negra con sus correspondientes entradas y salidas.
PENDIENTE DE UNA RECTA Para el cálculo de la pendiente de una recta se optó
por seguir directamente el procedimiento que aparecía en la guía, los esquemas
finales resultaron en los siguientes:

Ilustración 10 Entrada y salida de datos de los puntos de la pendiente

8
Ilustración 11 Diagrama de bloques de operaciones aritméticas realizadas para
calcular la pendiente

Finalmente se seleccionó la parte de operaciones básica para luego ser


sintetizadas en un subVI.

Ilustración 12 Pendiente como SubVi

Para la creación de este subVI solo se tuvo que seleccionar los operados, hacer
click derecho y escoger la opción C¸ recatea SubVI”.

9
CALCULADORA
Para el desarrollo de la calculadora se optó por manejar ´ un el operador case. En
el cual ingresando dos números y escogiendo el tipo de operación (Suma, resta,
multiplicación o división se podría llegar al resultado esperado).

Ilustración 13 Calculadora en Labview

Como es un proceso que debe mantenerse en el tiempo, creamos una estructura


tipo “While” donde realizaríamos el programa, esta estructura tiene como entrada el
botón´ “Stop” que permite ejecutar el vi hasta que este botón sea presionado.

Ilustración 14 Estructura tipo while cuando el botón stop es oprimido

Dentro de la estructura “While”, se crea otra estructura de tipo C¸ ase”15, que


mediante un array de botones (Operadores) nos permitirá escoger la operación
dada (Suma, resta, multiplicación o división). En cada caso hay un operador
correspondiente al proceso. La entrada de los datos es de tipo Doublé al igual que
su salida y estos están presentados como indicadores numéricos.

10
Ilustración 15 Funcionamiento de la estructura Case cuando se escoge
la opción

Esta calculadora permite operar números con punto flotante ´ puesto que las
variables de tipo doublé manejan 32 bits de datos. Los operadores funcionan como
un clúster, es decir ´ agrupar muchos elementos en uno solo. Un clúster es similar
a un registro o a una estructura en lenguajes de programación basados en texto.
Para que este clúster sea entendido por nuestra estructura C¸ ase. En el diagrama
de bloques, y mediante las cajas de operación C¸ luster to array ´ 2 ” Boolean Array
to Number” podremos seleccionar la opción de C¸ ase “que queremos para nuestra
calculadora básica.

11
FUNCIONES Y SUBRUTINAS
 CABLES
• Los cables son los caminos de datos entre terminales.
• Patrones de cables diferentes representan tipos de datos diferentes.
• Cada tipo de datos aparece con un diferente color para enfatizar, además de tener
cada uno una trama diferente.

 TIPOS DE DATOS

12
Boolean (Verde Claro)
Los tipos de datos booleanos son enteros de 16 bits.
• El bit más significativo contiene el valor Booleano.
• Si el bit 15 es:
– 1, entonces el valor del control o indicador es true (Verdadero).
– 0, el valor de la variable booleana será false (falso).
• Son los apropiados para crear botones

13
 TIPOS DE VARIABLES
• Variables Locales
– Variables de Entrada
– Variables de Salida
• Variables Globales
• Variables Compartidas

VARIABLES LOCALES
Usos de las variables locales:
• Cuando no se puede realizar el cableado.
• Con bucles trabajando en paralelo.
• Cuando se quiere escribir en un control o leer un
indicador

Otra forma de crear una variable local

• Las variables locales tienen el


alcance que comprende al VI en el
que está colocado el control o el
indicador al que hacen referencia.
• No pueden usarse fuera de ese VI.
• Solo se deben usar en caso
necesario ya que: – Puede haber
problemas de no inicialización. –
Condiciones de fallo. – Etc.

14
VARIABLES GLOBALES
• Las variables globales se usan para
compartir información entre distinto Vis
ejecutando en la máquina.
• Son como un VI pero sin código.
• Una vez abierta la variable global hay que
colocar un control o indicador del tipo que se
desee
Paleta de Funciones
• La paleta de funciones está habilitada solo en el
diagrama a bloques.
• En ella se puede acceder a diferentes funciones, subVIs
y estructuras disponibles.
• Cuenta con varios submenús que se dividen
dependiendo la aplicación

Programming
• Incluye las paletas básicas
para realizar un programa.
• Algunas de estas paletas
son:
– Structures
– Numeric
– File I/O
– String
Paleta de Funciones

Programming

15
Estructuras
• Contiene elementos equivalente a las instrucciones de
control de los lenguajes convencionales:
– WHILE
– FOR
– CASE

Estructuras

FILE > NEW > GLOBAL VARIABLE

16
PALETAS DE TIPOS DE DATOS

PALETAS DE TIPOS DE DATOS


• Algunos menús de programming se dividen según el tipo
de datos.
• Están los datos simples como:
– Numéricos
– Booleanos
– String (texto)

PALETAS DE TIPOS DE DATOS

17
ARRAYS
• Los tipos de datos compuestos están formados por
otros datos.
• Los arrays son array de números, array de booleanos,
etc.
• Los arrays, también llamados arreglos son listas
ordenadas de valores.

ARRAYS

CLUSTER
• Son un conjunto desordenado de otros
datos.
• Son equivalente a STRUCT de C.
• Para indicar los datos de que están
compuestos basta arrastrar constantes de
otros tipos de datos en el interior de los
arrays o cluster.
CLUSTER

18
ESTRUCTURAS DE EJECUCIÓN
Las estructuras de ejecución contienen secciones de código gráfico y controlan
cómo y dónde el código dentro se ejecuta. Las estructuras de ejecución más
comunes son Ciclos While, Ciclos For y Estructuras de Casos los cuales puede usar
para ejecutar la misma sección del código varias veces o para ejecutar una sección
diferente del código basada en alguna condición.
CICLOS
Ciclos While
Similar a un Ciclo Do o a un Ciclo Repeat-Until en lenguajes de programación
basados en texto, un Ciclo While, que se muestra en la Figura 16, ejecuta el código
que contiene hasta que ocurre una condición.

Ilustración 16(1) Ciclo While de LabVIEW | (2) Diagrama de Flujo | (3) Código
Pseudo

La Figura 16 muestra un Ciclo While en LabVIEW, un diagrama de flujo equivalente


a la funcionalidad de Ciclo While
y un código de ejemplo pseudo de la funcionalidad del Ciclo While.
El Ciclo While está ubicado en la paleta Structures. Seleccione el Ciclo While en la
paleta y después use el cursor para arrastrar una selección rectangular alrededor
de la sección del diagrama de bloques que desea repetir. Cuando suelte el botón
del mouse, un borde del Ciclo While encierra la sección que seleccionó.
Añada objetos del diagrama de bloques al Ciclo While al arrastrarlos dentro del Ciclo
While.
El Ciclo While ejecuta el código que contiene hasta la terminal condicional, una
terminal de entrada, recibe un valor Booleano específico.
También puede realizar manejo básico de error usando la terminal condicional de
un Ciclo While. Cuando cablea un cluster de error a la terminal condicional,
solamente el valor True o False del parámetro de estatus del cluster de error pasa

19
a la terminal. También, los elementos del menú Stop if True y Continue if True
cambian a Stop if Error y Continue while Error.

La terminal de iteración es una terminal de salida que contiene el número de


iteraciones terminadas.
La cantidad de iteraciones para el Ciclo While siempre comienza en cero.
Nota: El Ciclo While siempre se ejecuta por lo menos una vez.
Ciclos Infinitos
Los ciclos infinitos son un error común de programación que involucra un ciclo que
nunca se detiene.
Si la terminal condicional es Stop if True, usted coloca la terminal de un control
Booleano afuera de un Ciclo While. Si el control es FALSE cuando el ciclo comienza,
provoca un ciclo infinito.

Ilustración 17 Control Booleano Fuera del Ciclo While

Cambiar el valor del control no detiene al ciclo infinito ya que el valor es de lectura
una vez y eso sucede antes que el ciclo inicie. Para usar un control para detener un
Ciclo While, debe colocar la terminal del control dentro del ciclo. Para detener un
ciclo infinito, debe abortar e VI al dar clic en el botón Abort Execution de la barra de
herramientas.
En la Figura 18 el Ciclo While se ejecuta hasta que la salida de la función Random
Number es mayor o igual que 10.00 y el control Enable esTrue. La función Añadir
regresa True solamente su ambas entradas son True. De lo contrario, regresa False.
En la Figura 18, hay un ciclo infinito ya que la función Random nunca generara un
valor igual o mayor que 10.0 0.

20
Ilustración 18 Ciclo Infinito

Túneles de Estructura
Los túneles alimentan datos desde y hacia estructuras. El túnel aparece como un
bloque sólido en el borde el Ciclo While. El bloque es el color del tipo de datos
cableado al túnel. Los datos salen fuera de un ciclo después de que el ciclo termina.
Cuando un túnel pasa datos a un ciclo, el ciclo se ejecuta solamente después que
los datos llegan al túnel.
En la Figura 19, la terminal de iteración está conectada a un túnel. El valor en el
túnel no pasa al indicador de iteraciones hasta que el Ciclo While termina de
ejecutarse.

Ilustración 19 Túnel de Ciclo While

Solamente el último valor de la terminal de iteración se muestra en el indicador de


iteraciones.

21
Ciclos For
Un Ciclo For ejecuta un subdiagrama un número de veces establecido. La Figura
20 muestra un Ciclo For en LabVIEW, un diagrama de flujo equivalente a la

(1) Ciclo For de LabVIEW | (2) Diagrama de Flujo | (3) Código Pseudo
Ilustración 20 Ciclo For

funcionalidad de Ciclo For y un código de ejemplo pseudo de la funcionalidad del


Ciclo For.
El Ciclo For está en la paleta Structures. También puede colocar un Ciclo While en
el diagrama de bloques, dar clic con botón derecho en el Ciclo While y seleccionar
Replace with For Loop en el menú de acceso directo para cambiar un Ciclo While
Loop a Ciclo For.

La terminal de conteo es una terminal de entrada cuyos valores indican cuantas


veces se repite el subdiagrama.

La terminal de iteración es una terminal de salida que contiene el número de


iteraciones terminadas.
La cantidad de iteraciones para el Ciclo For siempre comienza en cero.
El Ciclo For difiere del Ciclo While en que el Ciclo For ejecuta un número de veces
establecido. Un Ciclo While detiene la ejecución solamente si existe el valor en la
terminal condicional.
El Ciclo For en la Figura 21 genera un número aleatorio cada segundo por 100
segundos y muestra los números aleatorios en un indicador numérico.

22
Ilustración 21 Ejemplo de Ciclo For

Añadir Temporización a los Ciclos


Cuando un ciclo termina de ejecutar una iteración, inmediatamente comienza la
próxima iteración, a menos que alcance una condición de paro. A menudo se
necesita controlar la frecuencia y la temporización de la iteración Por ejemplo, si
está adquiriendo datos y desea adquirir los datos una vez cada 10 segundos,
necesita una manera de temporizar las iteraciones del ciclo para que ocurran una
vez cada 10 segundos. Aún si no necesita que la ejecución ocurra a una cierta
frecuencia, necesita proporcionar al procesador el tiempo para completar otras
tareas, como responder a la interfaz de usuario.
Función de Espera
Coloque una función de Espera dentro del ciclo para permitir que un VI se duerma
por un cierto tiempo. Esto permite que su procesador maneje otras tareas durante
el tiempo de espera. Las funciones de espera utilizan el reloj de milisegundos del
sistema operativo.

La función de Espera (ms) espera hasta que el contador de milisegundos cuenta


una cantidad igual a la entrada que usted especificó. Esta función garantiza que la
razón de ejecución del ciclo sea por lo menos la cantidad de la entrada que usted
especificó.

23
ESTRUCTURAS DE CASOS

Una estructura de Casos tiene dos o más subdiagramas o casos.


Solamente un subdiagrama es visible a la vez y la estructura ejecuta solamente un
caso a la vez. Un valor de entrada determina cual subdiagrama se ejecuta. La
estructura de Caso es similar a las instrucciones del interruptor o las instrucciones
si...después... en lenguajes de programación basados en texto.

La etiqueta del selector de caso en la parte superior de la estructura de Caso


contiene el nombre del valor del selector que corresponde al caso en el centro y a
las flechas de incremento y reducción a cada lado.
Haga clic en las flechas de incremento y reducción para desplazarse en los casos
disponibles. También puede hacer clic en la flecha hacia abajo a lado del nombre
del caso y seleccionar un caso en el menú desplegable.

Cablee un valor de entrada o selector a la terminal del selector para determinar qué
caso se ejecuta.
Debe cablear un entero, valor Booleano, secuencia o valor de tipo enumerado a la
terminal del selector. Puede colocar la terminal del selector en cualquier parte del
borde izquierdo de la estructura de Casos. Si el tipo de datos de la terminal del
selector es Booleano, la estructura tiene un caso True o un caso False. Si la terminal
del selector es un entero, secuencia o valor de tipo enumerado, la estructura tiene
cualquier número de casos.
Nota: Los valores de cadena de caracteres que cablea a la terminal del selector son
sensibles a las mayúsculas/minúsculas de forma predeterminada. Para mostrar
resultados no sensibles a las mayúsculas/minúsculas, cablee un valor de caracteres
a la terminal del selector, haga clic con botón derecho en el borde de la estructura
de Casos y seleccione Case Insensitive Match del menú.
Si no especifica un caso de forma predeterminada para la estructura de Casos para
manejar los valores fuera del rango, debe enlistar de forma explícita cada valor de
entrada. Por ejemplo, si el selector es un entero y usted especifica los casos para
1, 2 y 3, debe especificar un caso de forma predeterminada a ejecutar si el valor de
entrada es 4 o cualquier otro valor entero no especificado.
Nota: Usted no puede especificar un caso de forma predeterminada si cablea un
control Booleano al selector. Si hace clic con botón derecho en la etiqueta del
selector de casos, Make This The Default Case no aparece en el menú. Haga el
control Booleano TRUE o FALSE para determinar cuál caso se ejecuta.
haga clic con botón derecho en el borde de la estructura para añadir, duplicar,
eliminar o reorganizar casos y para seleccionar un caso predeterminado.

24
Seleccionar un Caso
La Figura 22 muestra un VI que
utiliza una estructura de Caso para
ejecutar código diferente
dependiendo si el usuario selecciona
°C o °F para las unidades de
temperatura. El diagrama de bloques
de arriba muestra el caso True en
primer plano. En el diagrama de
bloques del centro, el caso Falso es
seleccionado. Para seleccionar un
caso, proporcione el valor en el
identificador del selector de casos o Ilustración 22 Cambiar la Vista de Casos de una Estructura de
Casos
use la herramienta de Etiquetado
para editar los valores. Después que
seleccionó otro caso, ese caso se ve en el diagrama de bloques, como se muestra
en la parte inferior del diagrama de bloques Figura 22.

Si usted proporciona un valor de selector que no es del mismo tipo que el objeto
cableado a la terminal del selector, el valor aparece en rojo. Esto indica que el VI no
se ejecutará hasta que elimine o edite el valor. También, por el posible redondeo de
error inherente a la aritmética de punto flotante, no puede usar los números de punto
flotante como valores de selector de casos. Si cablea un valor de punto flotante al
caso, LabVIEW redondea el valor al entero más cercano. Si escribe un valor de
punto flotante en la etiqueta del selector de casos, el valor aparece en rojo para
indicar que debe eliminar o editar el valor antes que la estructura pueda ejecutarse.
Túneles de Entrada y Salida
Puede crear múltiples túneles de entrada y salida para una estructura de Casos.
Las entradas están disponibles para todos los casos, pero los casos no necesitan
usar cada unidad. Sin embargo, debe definir un túnel de salida para cada caso.
Considere el siguiente ejemplo: una estructura de Casos en el diagrama de bloques
tiene un túnel de salida, pero por lo menos en uno de los casos, no hay valor de
salida cableado al túnel. Si ejecuta este caso, LabVIEW no sabe qué valor regresar
a la salida. LabVIEW indica este error al dejar el centro del túnel en blanco. El caso
no cableado no debe ser el caso que está visible actualmente en el diagrama de
bloques.
Para corregir este error, muestre los casos que contienen el túnel de salida sin
cablear y cablee una salida al túnel. También puede dar clic con botón derecho en
el túnel de salida y seleccionar Use Default If Unwired en el menú para usar el valor
predeterminado para el tipo de datos de túnel para todos los túneles no cableados.
Cuando la salida está cableada en todos los casos, el túnel de salida está en color
sólido.

25
Evite usar la opción Use Default If Unwired. Al usar esta opción no documenta el
diagrama de bloques bien y puede confundir a otros programadores que utilizan su
código. La opción Use Default If Unwired también hace difícil la depuración del
código. Si utiliza esta opción, tome en cuenta que el valor predeterminado usado es

Ilustración 23 Valores Predeterminados de Tipo de Datos

el valor predeterminado para el tipo de datos que es cableado al túnel. Por ejemplo,
si el tipo de datos es Booleano, el valor predeterminado es FALSE.
Otras Estructuras
LabVIEW tiene otros tipos más avanzados de estructuras de ejecución como
estructuras de Eventos (usadas para manejar tareas dirigidas por interrupciones
como interacción UI) y estructuras de Secuencia (usadas para forzar el orden de
ejecución), las cuales están fuera del alcance de este material introductorio. Para
aprender más sobre estas estructuras, consulte el tema apropiado en LabVIEW
Help.

26
ARREGLOS Y GRUPO DE DATOS
Arreglos
Algunas veces es benéfico 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 múltiples 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 dimensión es la longitud, altura o profundidad
de un arreglo. Un arreglo puede tener una o más dimensiones y tantos como (2 31)—
1 elemento por dimensión, si la memoria lo permite.
Puede construir arreglos de tipos de datos numéricos, Booleano, paths, cadena de
caracteres, forma de onda y cluster. Considere usar arreglos cuando trabaje con
una colección de puntos de datos similares y cuando realice cálculos repetitivos.
Los arreglos son ideales para almacenar datos que colecta desde formas de onda
o datos generados en ciclos, donde cada iteración de un ciclo produce un elemento
del arreglo.
Nota: Los índices de arreglo en LabVIEW están basados en cero. El índice del
primer elemento en el arreglo, sin importar su dimensión, es cero.
Los elementos del arreglo son ordenados. Un arreglo utiliza un índice, así usted
puede tener acceso fácilmente 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
número de los elementos en el arreglo. Por ejemplo, n-12 representa los 12 meses
del año, así el índice va de 0 a 11. Marzo es el tercer mes, así que tiene un índice
de 2.
La Figura 24 muestra un ejemplo de un arreglo de numéricos. 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

Ilustración 24 Control de Arreglo de Numéricos

27
CREAR CONTROLES E INDICADORES TIPO
ARREGLO
Cree un control o indicador tipo arreglo en el panel frontal
al añadir una estructura de arreglo al panel frontal, como
se muestra en la Figura 25 y arrastrar un objeto de datos
o elemento, como un control numérico o de cadena de
caracteres, a la estructura del arreglo.
Ilustración 25 Colocar un Control
Si intenta arrastrar un control inválido o indicador en la Numérico en una Estructura de
Arreglo
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 paréntesis vacío 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 cuadrícula. Requiere un índice de
columna y un índice de fila para ubicar un
elemento, ambos basados en cero.
La Figura 26 muestra un arreglo en 2D de
8 columnas por 8 filas, el cual contiene 8 ×
8 = 64 elementos.
Para añadir un arreglo multidimensional al
Ilustración 26 Arreglo en 2D panel frontal, haga clic con botón derecho
en la imagen del índice y seleccione
Añadir Dimensión desde el menú de acceso directo. También puede cambiar el
tamaño 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
número de elementos en cada dimensión y el
contenido de cada elemento. Un arreglo sin
inicializar contiene un número fijo de dimensiones
pero no elementos. La Figura 27 muestra un Ilustración 27 Arreglo en 2D sin
Configurar
control arreglo en 2D sin configurar. Note que
todos los elementos están atenuados. Esto indica
que el arreglo no está configurado.

28
En un arreglo en 2D, después 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 28, 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 numérico.

Ilustración 28 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
numérica, 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 comparación con otros arreglos.
ENTRADAS DE ARREGLO AUTO-INDEXING

Si cablea un arreglo a o desde un Ciclo For o Ciclo While, puede enlazar cada
iteración del ciclo a un elemento en ese arreglo al habilitar auto-indexing La imagen
de túnel cambia de ser un cuadrado sólido a la imagen para indicar auto-indexing.
Haga clic con botón derecho en el túnel y seleccione Habilitar Índexado o
Deshabilitar Índexado desde el menú de acceso directo para modificar el estado del
túnel.

29
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
tamaño 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 Ilustración 29 Arreglo Usado para Establecer Conteo de Ciclo For
procesar arreglos de un
elemento a la vez.
En la Figura 29, el Ciclo For se ejecuta un número de veces igual al número de
elementos en el arreglo. Normalmente, si la terminal de conteo del Ciclo For no está
cableada, el botón de ejecución esta roto y no permite la ejecución del VI. Sin
embargo, en este caso el botón de ejecución no aparece roto.

Si habilita auto-indexing para más de un túnel o si cablea la terminal de conteo, el


número actual de iteraciones se ejecuta la opción 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 túnel de
salida de arreglo, el arreglo de salida
recibe un nuevo elemento desde cada
iteración del ciclo. Por lo tanto, los arreglos
de salida de auto-indexing son siempre
iguales en tamaño al número de
iteraciones.
El cable desde el túnel de salida al Ilustración 30 Salida de Auto-Indexing
indicador del arreglo se vuelve más grueso
conforme cambia a un arreglo en el borde del ciclo y el túnel de salida contiene
paréntesis cuadrados representando un arreglo.

30
Haga clic con botón derecho en el túnel 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 están deshabilitados
de forma predeterminada.
Por ejemplo, deshabilite auto-indexing si solamente necesita el último valor que
pasó por el túnel.
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.

Ilustración 31 Crear un Arreglo en 2D

GRUPO DE DATOS
Una cadena es una secuencia de caracteres ASCII visibles o no visibles. Las cadenas
de caracteres ofrecen un formato independiente a la plataforma para información y
datos. Algunas de las aplicaciones más comunes de cadena de caracteres incluyen las
siguientes:

 Crear mensajes de texto simples.


 Controlar instrumentos al enviar comandos de texto al instrumento y regresar valores de datos en la
forma de ASCII o cadena de caracteres binarias, las cuales después puede convertir en valores
numéricos.
 Almacenar datos numéricos a disco. Para almacenar datos numéricos en un archivo ASCII, primero debe
convertir datos numéricos en cadena de caracteres antes de escribir a un archivo de disco.
 Instruir o advertir al usuario con ventanas de diálogo.
En el panel frontal, las cadenas de caracteres aparecen como tabla, cuadros de texto y etiquetas. LabVIEW
incluye VIs integrados y funciones que puede usar para manipular secuencias, incluyendo formateo de cadena
de caracteres, análisis de cadena de caracteres y otras ediciones. LabVIEW representa datos de cadena de
caracteres en color rosa.

TIPO DE DATO NUMÉRICO


LabVIEW representa datos numéricos como números de punto flotante, números de punto
fijo, números enteros, números enteros sin signo y números complejos. Precisión doble o
simple, así como datos numéricos complejos son representados con el color naranja en
LabVIEW. Todos los datos numéricos enteros son representados con el color azul.
Nota: La diferencia entre los tipos de datos numéricos es el número de bits que usan para
almacenar datos y los valores de datos que representan.
Ciertos tipos de datos también ofrecen opciones de configuración extendida. Por ejemplo, puede asociar
unidades físicas de medida con datos de punto flotante, incluyendo números complejos y usted puede
configurar la codificación y rango para datos de punto fijo.

31
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 actúa como un conmutador que tiene una acción mecánica generalmente usada para controlar una
estructura de ejecución como una estructura de Caso. Un control Booleano generalmente es usado como la
declaración condicional para terminar un Ciclo While. En LabVIEW el color verde representa datos Booleanos.

TIPO DE DATO DINÁMICO


La mayoría de los Express VIs aceptan y/o regresan tipos de datos dinámicos, 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 numéricos de punto flotante de los siguientes tipos de datos:
 Arreglo 1D de forma de onda
 Arreglo 1D de escalares
 Arreglo 1D de escalares – valor más 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 dinámicos a un indicador que puede presentar mejor los datos. Los indicadores
incluyen una gráfica, tabla o numérico o indicador Booleano. Sin embargo, ya que los datos dinámicos
experimentan una conversión automática para igualar al indicador al cual están cableados, los Express VIs
pueden bajar la velocidad de ejecución del diagrama de bloques.
El tipo de datos dinámico es para uso con Express VIs. La mayoría de los VIs y funciones que se venden con
LabVIEW no aceptan este tipo de datos. Para usar una función o VI integrada para analizar o procesar los
datos que incluye el tipo de datos dinámico, debe convertir el tipo de datos dinámico.

32
CONCLUSIÓN
La herramienta Labview resulta muy buena para poder simular algún tipo de
proceso que este dividido por diferentes secciones debido a su formato de
programación grafico.
Existen muchísimas maneras de resolver diferentes problemas en Labview, pero
finalmente se busca que al representarse sea lo más compacto posible para no
ocupar espacio innecesario. El uso de la programación grafica en Labview,
permite que su curva de aprendizaje sea mínima, lo cual permite optimizar
cualquier desarrollo dado. Labview permite manejar estructuras de datos (If, Case,
While, etc) tal y como lo hace un programa tradicional, permitiendo tener entradas
y salidas integradas que pueden visualizarse en diferentes formas (Como en el
caso del conversor de temperatura). Es importante escoger el tipo de datos para
manipularlos, las entradas de datos pueden ser de tipo carácter, numérico, punto
flotante, booleano, etc. Y dependiendo del uso que tendremos así mismo.

33
REFERENCIAS
NILABVNI Extraído de http://www.ni.com/labview/esa/
LABVIEWManual de usuario de labVIEW 2014, extraído en
http://www.ni.com/pdf/manuals/320999e.pdf

34

Vous aimerez peut-être aussi