programación básica en labview

Anuncio
CENTRO REGIONAL DE OPTIMIZACIÓN Y DESARROLLO DE
EQUIPO CHIHUAHUA
PROGRAMACIÓN BÁSICA EN LABVIEW
Chihuahua, Chih., agosto del 2004
Centro Regional de Optimización y Desarrollo de Equipo Chihuahua
PROGRAMACIÓN BÁSICA EN LABVIEW
Objetivo.
Conocer el ambiente gráfico de programación LabVIEW para generar
aplicaciones generales y facilitar el proceso de adquisición de datos.
Reforzar el conocimiento de estructuras de control, manejo de
arreglos, cadenas y archivos.
Conocer métodos y propiedades de objetos gráficos.
Centro Regional de Optimización y Desarrollo de Equipo Chihuahua
Tabla de contenido
PRÁCTICAS DE LABVIEW .......................................................................................................................... 1
1. INTRODUCCIÓN. .......................................................................................................................................... 1
¿Qué es LabVIEW? .................................................................................................................................... 1
Instrumentos Virtuales................................................................................................................................ 1
Ambiente de LabVIEW ............................................................................................................................... 2
2. CONSTRUCCIÓN DEL PANEL FRONTAL. ........................................................................................................ 6
Mostrar y ocultar elementos opcionales..................................................................................................... 6
Cambiar controles por indicadores y viceversa. ........................................................................................ 6
Pintar y redimensionar Objetos. ................................................................................................................ 6
Utilización de controles.............................................................................................................................. 7
3. CONSTRUCCIÓN DEL DIAGRAMA DE BLOQUES. ............................................................................................ 8
Nodos del diagrama de bloques. ................................................................................................................ 8
Recomendaciones. ...................................................................................................................................... 9
4. EJECUTAR Y DEPURAR VI.......................................................................................................................... 10
5. ESTRUCTURAS CASE Y CÍCLICAS. ............................................................................................................ 11
Estructura CASE. ..................................................................................................................................... 11
Ciclo FOR................................................................................................................................................. 12
Ciclo WHILE. ........................................................................................................................................... 12
Estructura Secuencial............................................................................................................................... 13
6. CADENAS, ARREGLOS Y CLUSTERS........................................................................................................... 15
Strings....................................................................................................................................................... 15
Arreglos. ................................................................................................................................................... 16
Clusters..................................................................................................................................................... 17
7. VARIABLES LOCALES Y GLOBALES........................................................................................................... 18
Variables Locales. .................................................................................................................................... 18
Variables Globales. .................................................................................................................................. 18
8. GRAPHS Y CHARTS.................................................................................................................................... 20
Waveform.................................................................................................................................................. 21
XY Graphs. ............................................................................................................................................... 23
Digital Graph. .......................................................................................................................................... 23
Intensity Graph......................................................................................................................................... 24
9. ARCHIVOS. ................................................................................................................................................ 24
Principios. ................................................................................................................................................ 24
Formato. ................................................................................................................................................... 24
10. MENÚ. ..................................................................................................................................................... 26
Crear Menús............................................................................................................................................. 26
Manejo de la selección. ............................................................................................................................ 26
11. PUERTO SERIE. ........................................................................................................................................ 27
Panorama General. .................................................................................................................................. 27
Aspectos físicos......................................................................................................................................... 27
APÉNDICE A.................................................................................................................................................. 30
Instalación del software. .......................................................................................................................... 30
Instalación del hardware PCI-6503. ........................................................................................................ 30
Configuración........................................................................................................................................... 30
Conexiones de señal. ................................................................................................................................ 30
REFERENCIAS. ............................................................................................................................................... 32
AUTOR. ......................................................................................................................................................... 33
Centro Regional de Optimización y Desarrollo de Equipo Chihuahua
Centro Regional de Optimización y Desarrollo de Equipo
PRÁCTICAS DE LABVIEW
1. Introducción.
¿Qué es LabVIEW?
LabVIEW (Laboratory Virtual Instrument Engineering Workbench) es un ambiente de desarrollo
basado en la programación gráfica. Utiliza terminología, iconos, e ideas familiares a técnicos,
científicos e ingenieros, y se basa en símbolos gráficos en lugar de lenguaje textual para describir
acciones de programación. LabVIEW está integrado completamente en las comunicaciones con el
hardware tal como GPIB, RS-232 y DAQ. Además cuenta con librerías para el manejo de redes
TCP/IP y ActiveX.
Instrumentos Virtuales.
Los archivos básicos que se pueden crear con LabVIEW son llamados Instrumentos Virtuales o VIs
por sus siglas en inglés. Cada VI consiste de dos partes principales el panel frontal y el diagrama
de bloques.
Panel frontal.
Programación Básica en LabVIEW
1
Centro Regional de Optimización y Desarrollo de Equipo
Diagrama de bloques.
Otra parte importante es el icono y conector, el cual es el cuadro situado en la parte superior
derecha, y es utilizado para identificación gráfica y utilización como sub VI dentro de otro VI a
través de sus conectores.
Ambiente de LabVIEW
Menú.
Programación Básica en LabVIEW
2
Centro Regional de Optimización y Desarrollo de Equipo
Paleta de Controles.
Paleta de funciones.
Programación Básica en LabVIEW
3
Centro Regional de Optimización y Desarrollo de Equipo
Flujo.
La ejecución de instrucciones no fluye de arriba hacia abajo como en la programación textual
tradicional, sino que fluye paralelamente entre los componentes gráficos.
Herramientas.
Terminales.
Las terminales representan el tipo de dato del control o indicador. Pueden ser
Control o Indicador
SGL
DBL
EXT
CSG
CDB
CXT
I8
I16
I32
U8
U16
U32
<>
TF
Abc
[ ]
Tipo de dato
Punto flotante de simple precisión
Punto flotante de precisión doble
Punto flotante de precisión extendida
Punto flotante complejo de simple precisión
Punto flotante complejo de doble precisión
Punto flotante complejo de precisión
extendida
Entero de 8 bits con signo
Entero de 16 bits con signo
Entero de 32 bits con signo
Entero de 8 bits sin signo
Entero de 16 bits sin signo
Entero de 32 bits sin signo
Tipo Enumerado
Lógico
String
Arreglo
Cluster
Color
Naranja
Naranja
Naranja
Naranja
Naranja
Naranja
Azul
Azul
Azul
Azul
Azul
Azul
Azul
Verde
Rosa
Variante
Café o
Programación Básica en LabVIEW
4
Centro Regional de Optimización y Desarrollo de Equipo
I/O
Ruta
Waveform
Nombre de I/O
rosa
Aqua
Variante
Morado
Actividades.
1. Abra y ejecute Ej01.VI
2. Observe el panel frontal y el diagrama de bloques.
3. Ejecute el VI.
4. Cierre el VI.
5. Abra y ejecute Ej02.VI
6. Observe la ayuda contextual del diagrama de bloques.
7. Observe la ayuda contextual del panel frontal en diseño y en ejecución.
8. Cierre el VI.
Programación Básica en LabVIEW
5
Centro Regional de Optimización y Desarrollo de Equipo
2. Construcción del panel frontal.
Generalmente el panel frontal será diseñado primero, después se procederá a la construcción del
diagrama de bloques, el cual interactuará y ejecutará funciones sobre los objetos puestos en el
panel frontal.
Mostrar y ocultar elementos opcionales.
Los controles e indicadores del panel frontal tienen elementos opcionales que pueden estar ocultos
o estar siendo mostrados.
Actividades.
1. Abra el VI Ej03.VI
2. Oculte los elementos opcionales del GraphXY.
3. Muestre todos los elementos opcionales del Waveform chart.
4. Observe qué elementos son opcionales para Numeric.
Cambiar controles por indicadores y viceversa.
LabVIEW tiene elementos que comúnmente se utilizan como indicadores o bien como controles,
sin embargo, pueden ser modificados para funcionar de manera personalizada y no sólo la
determinada por LabVIEW.
Actividades.
1. Agregue un termómetro al VI Ej03.VI
2. Cambie el control numérico por indicador numérico.
3. Cambie el termómetro por control.
4. Alambre el termómetro y el indicador numérico.
5. Ejecute continuamente el programa.
6. Aborte.
7. Cierre el VI.
Pintar y redimensionar Objetos.
Usted puede personalizar los objetos del panel frontal y del diagrama de bloques. Una manera de
hacerlo es aplicar color sobre ellos. No todos los objetos pueden cambiar de color. Además puede
redimensionar el objeto sin perder sus propiedades. La escala numérica puede ser modificada
también.
Actividades.
1. Abra el EJ04.VI.
2. Haga una réplica en un VI nuevo.
3. Compare ambos VI.
4. Cierre los VI.
Programación Básica en LabVIEW
6
Centro Regional de Optimización y Desarrollo de Equipo
Utilización de controles.
Actividades.
Ej05
1. Abra un ejercicio nuevo.
2. Agregue dos controles Vertical Pointer Slide.
3. Agregue un control Knob.
4. Observe las terminales en el diagrama de bloques.
5. Agregue un slider en cualquier control slide. (Parte blanca del control).
6. Observe que la terminal cambio.
7. Cargue el objeto Cluster/IUnbundle y alámbrelo con el cluster.
8. Convierta los controles DBL a indicadores.
9. Alambre los indicadores al objeto Unbundle.
10. Agregue un indicador Gauge y alámbrelo directamente al cluster.
11. Agregue una aguja al indicador.
12. Cambie de color la aguja.
13. Alambre nuevamente.
14. Ejecute el programa continuamente.
15. Aborte y cierre el VI.
Ej06
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Abra un ejercicio nuevo.
Agregue un control Menu Ring de Ring & Enum.
Agregue un Indicador numérico de Digital Indicator/ Numeric
Agregue un Indicador string de String & Path.
Cambie la terminal DBL a U16.
Llene el control Menu Ring con el nombre de 4 compañeros y con el suyo encabezando la
lista.
Alambre las terminales U16.
Cree un Property Node del control Ring, seleccione el arreglo de cadenas.
Seleccione el objeto Index Array de Array.
Alambre.
Ejecute continuamente.
Aborte, grabe y cierre el VI.
Ej06b
1. Abra el ejercicio anterior.
2. Haga lo mismo que el ejercicio anterior reemplazando el Menu Ring por un Enum.
3. Cree un indicador tipo ENUM y alámbrelo con el control ENUM.
Programación Básica en LabVIEW
7
Centro Regional de Optimización y Desarrollo de Equipo
3. Construcción del diagrama de bloques.
Una vez que se construyó el panel frontal, puede agregar código utilizando representaciones
gráficas de funciones para controlar los objetos del panel frontal de la forma en que se ha hecho a
través de las actividades. El diagrama de bloques contiene este código fuente gráfico.
Los objetos del panel frontal aparecen como terminales en el diagrama de bloques. Al dar doble
clic en el la terminal se ilumina el control o indicador correspondiente en el panel frontal. No puede
borrar una terminal del diagrama de bloques. La terminal desaparece sólo después de borrar su
objeto correspondiente en el panel frontal.
Las terminales son puertos de entrada y de salida que intercambian información entre el panel
frontal y el diagrama de bloques. Los datos que se introducen en los controles del panel frontal se
introducen al diagrama a través de las terminales. Cuando el VI termina su ejecución, los datos de
salida fluyen a las terminales de indicadores, si existen, y aparecen en los indicadores del panel
frontal.
Constantes.
Las constantes son terminales en un diagrama de bloque que dotan de datos de valor fijo al
diagrama de bloques. Las constantes universales son constantes con valores fijos tal como pi e
infinito. Las constantes definidas por el usuario son constantes que se definen y editan antes de
ejecutar el VI. Las constantes pueden ser etiquetadas.
Nodos del diagrama de bloques.
Los nodos son objetos en el diagrama de bloques que tienen entradas y/o salidas y ejecutan
operaciones cuando un VI está siendo ejecutado. Son análogos a las declaraciones, operadores,
funciones y subrutinas en la programación basada en texto.
•
•
•
•
•
•
•
Funciones. Elementos de ejecución comparables a un operador, función o declaración.
Sub VI. VI utilizados en un diagrama de bloque de otro VI, comparado a subrutinas.
Estructuras. Elementos de control de proceso, tal como estructuras de secuencia,
estructuras CASE y ciclos.
Nodos fórmula. Estructuras redimensionables para insertar ecuaciones directamente a
diagrama de bloques.
Nodos de propiedad. Cambia o muestra propiedades de una clase.
Nodos de invocación. Ejecuta métodos de una clase.
Nodos de Interfaz de código. Llamadas de código de lenguajes de programación basada
en texto.
Las funciones son los elementos esenciales de operación de LabVIEW. Los iconos de las
funciones tienen fondo amarillo. No tienen paneles frontales o diagramas de bloques pero tienen
conectores. También pueden tener fondo blanco y se refieren a funciones de adquisición de datos,
de control de instrumentos y de comunicación.
Existen funciones tales como numéricas, lógicas, comparativas y de manejo de cadena, arreglos,
cluster, hora y archivo.
Después de construir un VI, construya el conector para poder utilizar un VI como un subVI.
Programación Básica en LabVIEW
8
Centro Regional de Optimización y Desarrollo de Equipo
Alambrado.
Puede transferir datos entre objetos de diagrama de bloque a través de cables. Cada cable tiene
una sola fuente de datos, pero puede ser alambrada a muchos VI y funciones que lean datos. Los
cables tienen diferentes colores, estilos y grosores dependiendo de los tipos de datos. Un cable
roto aparece como una línea punteada.
Puede alambrar terminales vertical u horizontalmente dependiendo de la dirección en la cual
primero movió la herramienta alambradora. El cable se conecta al centro de la terminal,
independientemente de donde hizo clic. Después de que hizo clic en la terminal, puede cambiar la
dirección al presiona la barra espaciadora.
Conversión automática.
Cuando se alambran dos tipos de datos diferentes aparece un punto indicando una conversión
automática de tipos. Ésta aparece donde la conversión toma lugar.
Flujo.
LabVIEW sigue el modelo de ejecución del flujo de datos. Un nodo se ejecuta cuando todas sus
entradas están disponibles. Cuando un nodo completa su ejecución, abastece datos a sus
terminales de salida y pasa los datos de salida al siguiente nodo en la ruta de flujo de datos.
Un nodo que recibe datos de otro nodo siempre se ejecutará después que el primer nodo termine
su ejecución. Los nodos no interconectados se ejecutarán en cualquier orden. Sin embargo se
recomienda usar un modelo izquierda a derecha y de arriba hacia abajo, aunque no debe asumirse
de esa forma la ejecución.
Recomendaciones.
•
•
•
•
•
•
•
Utilice un formato de izquierda a derecha y de arriba hacia abajo. Aunque las posiciones de
los elementos no determinan el orden de ejecución, alambre de este modo para tener un
diagrama de bloques organizado y fácil de entender. Sólo los cables y estructuras
determinan el orden de ejecución.
Evite crear diagramas de bloque que ocupen más de una o dos pantallas. Si un diagrama
de bloques es más grande y complejo, puede ser difícil de entender o depurar.
Observe si puede reusar algunos componentes del diagrama de bloques en otros VI o si
una sección del bloque puede ser vista como un componente lógico. Si es así, divida el
diagrama de bloques en subVI de tareas específicas.
Mejore la apariencia del diagrama de bloques al alambrar efectivamente. Una organización
pobre no produce errores, pero puede hacer al diagrama difícil de leer o depurar, o hacer
que el VI parezca hacer cosas que no hace.
Evite alambrar en los bordes de estructuras o empalmar objetos debido a que LabVIEW
puede esconder algunos segmentos de cable.
Evite colocar objetos encima de cables. Los cables conectan solo aquellos objetos donde
hace clic. Colocar una terminal o icono arriba de un cable lo hace parecer que existe una
conexión cuando no.
Utilice el pincel para pintar el área de trabajo del diagrama de bloques.
Programación Básica en LabVIEW
9
Centro Regional de Optimización y Desarrollo de Equipo
4. Ejecutar y depurar VI.
Para ejecutar un VI, debe alambrar todos los subVI, funciones y estructuras con los tipos de datos
de las terminales esperadas. Puede configurar la manera de ejecución de un VI para identificar
problemas.
Puede ejecutar un VI al presionar este botón cuando aparece como una flecha blanca
sólida. Y puede utilizar este VI como un SubVI. El VI se detiene cuando el VI completa su
flujo de datos.
Al presionar este botón se ejecuta continuamente hasta que se presione el botón de STOP.
Botón de STOP.
Pausa/ Continúa
Botón de ejecución para observar una animación de la ejecución del diagrama. Muestra los
movimientos de los datos de un nodo a otro utilizando burbujas que se mueven a lo largo
de los cables. Se utiliza a la par de los botones de Single stepping.
Ejecución Paso a Paso dentro de sub VI.
Ejecución Paso a paso con ejecución rápida de Sub VI.
Salir al siguiente sub VI.
Probe. Se encuentra en el menú de herramientas y sirve para mostrar el valor de los datos
en tiempo de ejecución.
Punto de ruptura. Se encuentra en el menú de herramientas y se utiliza para colocar un
punto de ruptura en un VI, nodo o cable en el diagrama de bloques y detener la ejecución
en ese lugar. Cuando se pone un punto de ruptura en un cable, la ejecución se detiene
después de que los datos pasan a través de él.
Programación Básica en LabVIEW 10
Centro Regional de Optimización y Desarrollo de Equipo
5. Estructuras CASE y cíclicas.
Las estructuras son representaciones gráficas de los ciclos y las declaraciones CASE de los
lenguajes basados en programación textual. Utilice estructuras en el diagrama de bloques para
repetir bloques de código y ejecutar código condicionalmente o en un orden específico.
Estructura CASE.
Una estructura case tiene dos o más subdiagramas, o casos. Sólo un diagrama es visible a la vez,
y la estructura ejecuta sólo un caso a la vez. La estructura ejecuta un solo subdiagrama
dependiendo del valor de entrada pasado a la estructura.
El identificador de selección de caso en la parte superior de la estructura contiene el identificador
en el centro y botones a los lados. Utilice los botones para navegar a través de los casos
disponibles.
Alambre un valor a la terminal selectora, el cual determinará qué caso ejecutar. Puede alambrar
valores enteros, lógicos, de cadena o enumerados. La terminal está a la izquierda de la estructura.
El caso default se ejecuta cuando no existe identificador correspondiente al valor dado a la terminal
selectora.
Se pueden especificar valores solos, listas o rangos de valor para seleccionar el caso. Para las
listas utilice comas para separar valores. Para especificar rangos utilice dos puntos. Además puede
combinar listas y rangos.
Si cambia el tipo de datos del selector de terminal, la estructura automáticamente cambia los
valores al nuevo tipo de datos cuando es posible.
Puede crear múltiples túneles en una estructura case. Los túneles de entrada están disponibles
para todos los casos. Sin embargo debe definir una salida por cada caso.
Actividades.
Ej07.
Después de realizar un análisis de calidad en un conjunto de piezas terminadas y rotuladas, se
encontró que 1 de cada 7 fallaba y que la falla era periódica. Se enumeraron y se encontró la
relación que las piezas con número de pieza múltiplo de 7 fallaban. Simule un lector de código de
barras mediante un control numérico y si el número de pieza es múltiplo de 7 encienda una alarma.
Además muestre el rótulo “Passed” si no es múltiplo de 7 o “Failure” si lo es.
Ej08.
En la empresa H-OIL se fabrican cuatro tipos de aceite cada uno de los cuales tiene un costo de
fabricación y envasado en dólares: Grado SAE 5W de 3, 10W de 4, 20W de 7 y 30W de 9 por
envases de 5 galones. Si el cliente pide entre 1 – 99 envases de 5 galones, el costo de venta es
del 300% , si solicitan 100-499 el costo es del 250% y si se solicitan más de 500 el costo es del
200%. Simule el pedido de un solo artículo donde el cliente indicará el tipo de aceite y cantidad que
desea adquirir. El software indicará el monto que el cliente deberá pagar.
Cree en el panel frontal un control ENUM con los tipos de aceite y un control numérico entero sin
signo para la cantidad solicitada. Muestre en un indicador numérico el monto que se cobrará al
cliente.
Programación Básica en LabVIEW 11
Centro Regional de Optimización y Desarrollo de Equipo
Ej08b.
Modifique el ejercicio anterior para permitir el pedido de hasta cuatro artículos.
Ej09.
Se desea controlar la temperatura de un dispositivo cuya presión oscila entre los 1000 y 10000
PSI. Cuando la presión esta entre 1000 y 1999 se deberá poner el setpoint del control de
temperatura a 60 ºC; cuando esté entre 2000 y 2999, a 55 º; entre 3000 y 3499 a 58º; entre 3500 y
4999 a 55º; entre 5000-7999, a 58º; entre 8000 y 8999, a 40º; y si rebasa los 8999, a 30º. Si el
medidor de presión tiene una lectura diferente al rango 1000 y 10000 que se active la alarma y
ponga el setpoint del control de temperatura a 25ºC.
Ilustre el ejemplo a través de un control gauge que al indicar la presión se muestre en un
termómetro el setpoint del controlador.
Ciclo FOR.
Ejecuta un subdiagrama un número finito de veces.
El valor en la terminal N muestra cuántas veces se repetirá el subdiagrama. Si alambra un 0 a ésta
no se ejecuta.
La terminal iteradora, i, contiene la cantidad de iteraciones terminadas, la cual siempre empieza en
cero. Durante la primer iteración devuelve un 0.
Agregue shift registers para pasar datos de una iteración a la siguiente.
Actividades.
Ej10
Muestre la sumatoria de los números comprendidos entre 10 y 20, incluyéndolos.
Sum = 10+11+12+13+14+15+16+17+18+19+20 = 165.
Ej11
Muestre la suma de los números impares comprendidos entre 1 y 100.
Sum = 1+3+5+7+9+...+97+99 = 2500.
Ej12
Indique si un número entero positivo provisto en el panel frontal es primo o no. Recuerde que los
números primos sólo son divisibles de forma entera entre ellos mismos y el uno.
Establézcalo como subVI.
Ej13
Muestre la cantidad de números primos existentes entre 1 y 100. Utilice el subVI anterior. (26).
Ej14
Se desea monitorear la temperatura de una caldera. Para conocer obtener una muestra se requiere
promediar las lecturas de 10 sensores en puntos críticos. Se deben monitorear cada 100 ms. El
tiempo de monitoreo total es de 20 segundos. Simule las entradas de los sensores con 10
generadores de números aleatorios. Una vez que tenga las 200 muestras obtenga su temperatura
promedio, la desviación estándar y la cantidad de veces en que estuvieron las muestras entre 0.4 y
0.6.
Ciclo WHILE.
Ejecuta un subdiagrama hasta que la terminal condicional recibe un valor lógico específico. El
comportamiento por omisión es continúa si es verdadero, es decir, se detiene hasta que la
terminal recibe un valor de falso. Se puede cambiar el comportamiento haciendo clic derecho y
Programación Básica en LabVIEW 12
Centro Regional de Optimización y Desarrollo de Equipo
seleccionar Stop if True. Cuando una terminal está en detiene si verdadero, el ciclo se ejecuta
hasta que la terminal condicional recibe un valor verdadero.
Debido a que el VI verifica la condición terminal al final de cada iteración, el ciclo WHILE se ejecuta
al menos una vez.
Puede agregar shift register.
Si coloca la terminal lógica fuera del ciclo WHILE puede causar un ciclo infinito, por lo que es
conveniente que dicha terminal se coloque dentro del ciclo.
Actividades.
Ej15. Despliegue en un Waveform Chart números aleatorios comprendidos entre 0 y 10 cada 100
ms. Detenga el programa con un interruptor. El valor por omisión del interruptor es ON.
Optativo.
Optimice el diagrama de la función EsPrimo (Ej12) para que solamente haga máximo una división
entera con residuo 0 por número a verificar.
Ej16.
Cree un subVI que simule la llegada de una pieza determinada. Entrada: Nada. Salida: 0.- Peón,
1.- Caballo, 2.- Alfil, 3.-Torre. El modelo del fenómeno se puede expresar como: Residuo de
Random*10/4.
Ej17. Se desea cumplir con la siguiente orden:
10 peones, 5 caballos, 3 alfiles, 5 torres. Utilice el VI anterior para simular la llegada de las piezas y
cuando complete la orden detenga el proceso. Habrá excedentes.
Estructura Secuencial.
Una estructura secuencial contiene uno o más subdiagramas, o cuadros, que se ejecutan en orden
secuencial. Una estructura secuencial ejecuta el cuadro 0, luego el 1, después el 2, hasta que el
último cuadro se ejecuta. Esta estructura no termina la ejecución ni regresa ningún dato hasta que
el último cuadro es ejecutado.
Utilice la estructura Secuencial para controlar el orden de ejecución cuando la dependencia natural
de datos no exista. Un nodo que recibe datos de otro depende de otro nodo debido a los datos y
siempre se ejecuta después de que el otro nodo completa la ejecución.
Dentro de cada marco de una estructura secuencial, como en el resto del diagrama de bloques, la
dependencia de datos determina el orden de ejecución de los nodos.
Los túneles de estas estructuras pueden tener sólo una fuente de datos, a diferencia de las
estructuras CASE. La salida puede emitirse de cualquier cuadro, pero el dato llegará hasta cuando
se ejecute el último cuadro. Al igual que las estructuras CASE, los túneles de datos de entrada
están disponibles a todos los cuadros.
Para pasar datos de un cuadro a otro cuadro subsiguiente, utilice una terminal de secuencia local.
Actividades.
Ej18.
En una conferencia, un expositor conoce su tiempo disponible con el color de la luz de un foco.
Cuando esta en sus primeros 30 minutos la luz está en verde, en los siguientes 10 minutos la luz
es amarilla para indicarle que comience a dar conclusiones y termine su presentación. Después de
ese tiempo la luz permanece en rojo en señal que ha excedido su tiempo y que debe terminar la
Programación Básica en LabVIEW 13
Centro Regional de Optimización y Desarrollo de Equipo
exposición. Diseñe un programa que ilustre este comportamiento y cambie la unidad de tiempo por
décimas de segundo.
Optativo.
Ilustre el comportamiento de dos semáforos en un crucero.
Programación Básica en LabVIEW 14
Centro Regional de Optimización y Desarrollo de Equipo
6. Cadenas, Arreglos y Clusters.
Utilice cadenas, arreglos y cluster para agrupar datos. Las cadenas agrupan secuencia de
caracteres ASCII. Los arreglos agrupan elementos del mismo tipo. Clusters agrupan elementos de
tipos mixtos.
Strings.
Una cadena es una secuencia de caracteres ASCII visibles o no visibles.
Algunas de las aplicaciones más comunes son:
•
•
•
•
Crear mensajes simples de texto.
Pasar datos numéricos como caracteres a instrumentos y convertirlos a cadenas de
números.
Almacenar datos numéricos a disco. Para almacenar números en un archivo ASCII, debe
primero convertirlos a cadenas.
Instruir o avisar al usuario con cuadros de diálogo.
Tipos de display.
Tipo
Descripción
Normal
Despliega caracteres imprimibles utilizando
la fuente del control. Caracteres no
imprimibles aparecen como cajas.
‘\’ Códigos.
Despliega códigos con backslash para todos
los caracteres no imprimibles.
Mensaje
There are four display types.
\ is a backslash.
There\sare\sfour\sdisplay\st
ypes.\n\\\sis\sa\sbackslash.
Password
Despliega un asterisco por cada carácter ****************************
*
incluyendo espacios
*****************
Hexadecimal
Despliega el valor de cada carácter en hex 5468 6572 6520 6172 6520 666F
7572 2064 6973 706C 6179 2074
en lugar del carácter por si mismo.
7970 6573 2E0A 5C20 6973 2061
2062 6163 6B73 6C61 7368 2E
Actividades.
Ej19.
Un prototipo con comunicación serial requiere que se le envíe una cadena de comandos, sin
embargo para aceptar cada carácter requiere que se le agregue un asterisco al final de cada uno
de los caracteres, y para terminar el envío del comando mandar un ESC. Simule con una caja de
texto el comando que se desea enviar y en un indicador de cadena exponga lo que el dispositivo
recibiría.
Ej20.
Un dispositivo de mensajes japonés requiere que el mensaje venga escrito de derecha a izquierda.
Simule con una caja de textos el mensaje deseado y en un indicador de cadena el mensaje
invertido. Prepárelo para usarlo como subVI.
Ej21.
Programación Básica en LabVIEW 15
Centro Regional de Optimización y Desarrollo de Equipo
Se cuenta con tres medidores que devuelven la medición en una cadena con cuatro decimales, se
desea analizar los valores y enviar la medición máxima a un control que recibe, a su vez, una
cadena con cuatro decimales.
Arreglos.
Un arreglo consiste de elementos y dimensiones. Los elementos son los datos que forman el
arreglo. La dimensión es la longitud, ancho o profundidad de un arreglo. Un arreglo puede tener
una o más dimensiones y 2’147,483,647 elementos por dimensión, según la capacidad de
memoria.
Puede construir arreglos numéricos, lógicos, de ruta, cadena, formas de onda y clusters. Considere
usar arreglos cuando trabaje con una colección de datos similares y cuando ejecute cálculos
repetitivos. Los arreglos son ideales para almacenar datos que adquiera de formas de onda o datos
generados en ciclos, donde cada iteración produce un elemento de un arreglo.
No puede crear arreglos de arreglos. Sin embargo puede crear un arreglo de clusters donde cada
cluster contiene uno o más arreglos.
Índices.
Para localizar un elemento particular en un arreglo se requiere un índice por dimensión.
Restricciones.
•
•
No puede crear un arreglo de arreglos. Sin embargo, puede usar un arreglo
multidimensional o crear un arreglo de cluster donde cada cluster contiene uno o más
arreglos.
No puede crear un arreglo de Charts ni GRAPH.
Actividades.
Ej22
Llene un arreglo con 10 múltiplos de 5 a partir de 1.
Ej23
Llene un arreglo de 10x10 con las tablas de multiplicar del 1 al 10.
Ej24.
Llene un arreglo con los 15 valores de la siguiente función.
y(n) = 3y(n-1) - 2y(n-2) + 5
y(0) = 1
y(1) = 2
y(2)=3*y1-2*y0+5=3*2-2*1+5= 9
y(3)=3*y2-2*y1+5=3*9-2*2+5= 28
Grafique exponencialmente.
Optativo.
Multi.VI Cree un subVI que tenga de entrada dos matrices y de salida la multiplicación
correspondiente. Devuelva un T o F si fue o no posible, respectivamente.
Programación Básica en LabVIEW 16
Centro Regional de Optimización y Desarrollo de Equipo
Matriz A.
1 0 1
1 2 1
2 3 0
Matriz B.
2 1
2 4
3 3
C= AxB
5 4
9 12
10 14
Ej25.
Construya un waveform mediante un arreglo de 10 elementos aleatorios, un delta t de 1 y un t0=0.
Muestre a través de un indicador.
Observe la fecha de captura.
Ahora modifique la entrada de t0 por la función Time&Dialog>Get Date/Time in Seconds y observe.
Clusters
Los clusters agrupan elementos de diferentes tipos de datos, tal como un conjunto de alambres en
un cable telefónico, donde cada alambre en el cable representa un elemento diferente del cluster.
Agrupar diversos elementos de datos en cluster elimina el excesivo cableado en el diagrama de
bloques.
Aunque el cluster y los elementos del arreglo están ordenado, puede desagrupar todos los
elementos del cluster en una exhibición en lugar de hacerlo elemento por elemento. Al igual que un
arreglo, un cluster puede ser un control o bien un indicador, no puede ser una mezcla de ambos.
Para alambrar cluster, ambos deben tener el mismo número de elementos y los elementos
correspondientes, determinados por el orden del cluster, deben ser tipos de datos compatibles.
Actividades.
Ej26
La información mínima concerniente de alumno para una escuela es la siguiente:
Número de control como I32.
Nombre como Cadena.
Dirección como Cadena.
Teléfono como Cadena.
Inscrito como Lógico.
Agrupe esta información en un cluster de control, captúrela y muéstrela a través de indicadores.
Ej27
Haga el proceso inverso.
Programación Básica en LabVIEW 17
Centro Regional de Optimización y Desarrollo de Equipo
7. Variables Locales y Globales.
En LabVIEW, puede leer datos de o escribir datos al panel frontal utilizando terminales en el
diagrama de bloques. Sin embargo, un objeto en el panel frontal tiene sólo una terminal en el
diagrama de bloques, y su aplicación podría necesitar acceder a los datos de la terminal en más de
una ocasión.
Las variables locales y globales pasan información entre localidades en la aplicación que no se
conectan con un alambre. Utilice variables locales para poder acceder objetos del panel frontal en
más de una posición dentro del mismo VI. Utilice variables globales para acceder y pasar datos
entre diferentes VI.
Variables Locales.
Use variables locales para acceder objetos del panel frontal en más de un lugar en un solo VI y
pase los datos entre las estructuras de bloques donde no puede conectar un cable.
Con una variable local, puede escribir a o leer desde un control o indicador en el panel frontal.
Escribir en una variable local es similar a pasar datos a cualquier otra terminal. Sin embargo, con
una variable local puede escribir a, aún si es un control, o leer de, aún si es indicador. En efecto,
con una variable local, puede acceder a un objeto del panel frontal como entrada y como salida.
Variables Globales.
Utilice variables globales para acceder y pasar datos entre varios VI que se ejecutan
simultáneamente. Las variables globales son objetos construidos en LabVIEW. Cuando crea una
variable global, LabVIEW automáticamente crea un VI global especial, el cual tiene un panel frontal
pero no tiene diagrama de bloques. Agregue controles e indicadores al panel frontal del VI global
para definir sus tipos de datos. Este panel frontal es un contenedor de varios VI que pueden
acceder datos.
En el diagrama de bloques puede distinguir variables locales o globales de lectura de las de
escritura de la misma manera en que distingue los controles de los indicadores. Una variable de
lectura tiene un borde grueso similar al control. Una de escritura tiene un borde delgado similar al
indicador.
Utilización de variables globales y locales.
Las variables locales y globales son conceptos avanzados de LabVIEW. No son parte inherente en
su modelo de ejecución. Los diagramas de bloques pueden llegar a ser difíciles de leer cuando
utiliza variables locales o globales, así que úselas cuidadosamente. El mal uso de variables, en
lugar de conexiones pueden conducir a un comportamiento inesperado en los VI. El sobreuso de
variables locales y globales en lugar de alambrado disminuye el desempeño.
Debido a que los VI siguen una ejecución según el flujo de datos, las variables locales y globales
no tienen el mismo comportamiento que las usadas en lenguajes de programación basadas en
texto. Una condición de “a ver cuál gana” ocurre cuando dos o más piezas de código que se
ejecutan en paralelo cambian el valor del mismo recurso compartido, típicamente una variable local
o global. Ejemplo.
Programación Básica en LabVIEW 18
Centro Regional de Optimización y Desarrollo de Equipo
La salida de este VI depende el orden en que las operaciones se ejecuten. Debido a que no hay
dependencia de datos entre las dos operaciones, no hay manera de determinar cuál corre primero.
Para evitar estas condiciones de “a ver quien gana” no escriba a la misma variable a la que está
leyendo.
Consideraciones de memoria al usar variables locales.
Cuando crea subVI, crea un conector que describe como pasarán los datos al subVI. El conector
no hace copias de búferes de datos al llamar VI.
Las variables locales hacen copias de búferes de datos. Cuando se lee de una variable local, se
crea un nuevo búfer para los datos de su control asociado.
Si utiliza variables locales para transferir grandes cantidades de datos de un lugar del diagrama a
otro, generalmente usará más memoria y, consecuentemente, tendrá una ejecución más lenta que
si lo hiciera a través de un cable.
Consideraciones de memoria al usar variables globales.
Cuando lee una variable global, LabVIEW crea una copia del dato almacenado en la variable
global.
Cuando manipula arreglos grandes y cadenas, el tiempo y la memoria requerida para manipular las
variables globales puede ser considerable. El manipular variables globales es especialmente
ineficiente cuando trata con arreglos, porque si modifica un solo elemento del arreglo, LabVIEW
almacena el arreglo completamente. Si lee una variable global en diversos lugares de la aplicación,
creará diversos búferes de memoria, lo cual es ineficiente y disminuye el desempeño.
Actividades.
Ej28.
Cree un control numérico y una variable local asociada a él. Dentro de un ciclo FOR alambre el
iterador a la variable. Inicialice el valor del control numérico con un valor de 5 y alámbrelo a la N.
Dentro del ciclo agregue un timer a 0.5 segundos. Observe que a pesar de ser control usted puede
modificar su contenido a través de variables locales.
Ej29
Cree dos variables globales, inicialícelas, modifique su valor en un subVI diferente al actual y lea el
valor en el primero. Utilice una secuencia para establecer un orden seguro.
Programación Básica en LabVIEW 19
Centro Regional de Optimización y Desarrollo de Equipo
8. Graphs y Charts.
Utilice graphs y charts para desplegar datos en una forma gráfica.
Los graph y chart difieren en la manera en que muestran y actualizan datos. VI con graphs
usualmente ponen los datos en un arreglo y luego grafican la información. En contraste un chart
agrega nuevos puntos a los que ya están en el diagrama. En un chart, puede ver la lectura actual o
la medición en contexto con los datos adquiridos previamente.
Tipos de graph y chart.
Waveform Chart and Graph
XY Graph
Intensity Chart and Graph
Digital Waveform Graph
3D Graphs
Despliega los datos adquiridos en una tasa
constante.
Despliega los datos adquiridos en una tasa no
constante.
Despliega datos 3D en un graficador 2D
utilizando colores para desplegar valores de
tercera dimensión.
Despliega datos como pulsos o grupos de líneas
digitales.
Despliega datos 3D en un graficador 3D
Opciones.
Aunque los graph y chart grafican los datos de manera diferente, tienen varias opciones comunes
que pueden accederse a través de un menú contextual.
Todas los graph y chart soportan escalas múltiples en x y y. Utilice escalas múltiples en gráficas
que no comparten una escala x o y.
Además puede personalizar la apariencia al mostrar y ocultar opciones.
Plot legend.
Scale Legend.
Graph Palette.
X Scale y Y Scale.
Cursor Legend (solo graph)
Scrollbar (solo chart).
Programación Básica en LabVIEW 20
Centro Regional de Optimización y Desarrollo de Equipo
Waveform
Actividades.
Ej30
Utilice dos waveform graph para desplegar la función seno con diferentes amplitudes (10 y 100).
En un tercer waveform graph grafique ambas señales con Built array y agregue un eje mediante
Duplicate scale. Asocie el Plot con alguna de las escalas en Y, mediante la selección en Y Scale.
En este mismo ejercicio trabaje con la lista de cursores. La lista de cursores es un arreglo, por lo
que debe ser inicializado de manera manual o automática. La manera automática requiere acceder
a la lista de cursores por medio de un nodo de propiedades, y traer el primer elemento del arreglo.
Los elementos del arreglo son clusters, por lo que para modificar uno o más de los componentes
del cluster debe acceder, primeramente al cluster que lo contiene (con Index array) y en segundo
lugar al o los elementos que desea modificar (con Bundle by Name). Para devolver la información
al gráfico se requiere otro nodo de propiedades para vaciarlo.
La lista de cursores es un arreglo especial ya que aún después de cerrar la aplicación el arreglo
permanece inicializado, a diferencia de los arreglos tradicionales, que requieren una inicialización
cada vez que se abre la aplicación.
Muestre, por software, un cursor en la posición 0, 0.5s, con una etiqueta de “Ejercicio 30” , con
color azul, recuerde que el azul en RGB es 0000FF.No olvide modificar el estilo del cursor, manual
o automáticamente, si lo hace por software la sugerencia es usar el 8.
Optativo.
Programación Básica en LabVIEW 21
Centro Regional de Optimización y Desarrollo de Equipo
Sitúe dos cursores. Uno en la parte inferior izquierda correspondiente al 10% mas de los valores
mínimos de la señal y el otro en la parte superior derecha correspondiente al 10% menos del valor
máximo de la señal.
Ej31.
En un ciclo while con retardo de 500 ms por vuelta, genere y despliegue un seno en un chart. El
Delta t en el seno será de 0.1 y la amplitud de 10.
Ej32
En el programa anterior agregue un knob con tres números y adjunte las leyendas:
• Strip
• Scope
• Sweep
Asocie el knob (U8) con un nodo de propiedad y seleccione UpdateMode.
En tiempo de ejecución, observe los modos en que puede ver el Chart.
Agregue también un botón OK etiquetado como “Limpiar”, cuando se presione poner en la historia
un arreglo de DBL vacío.
Ej33.
Genere dos waveform con la herramienta de Waveform Generation Seno con amplitud 1 y 10.
Despliéguelos en un solo Waveform Chart mediante un Build Array y juegue con la opción de
Overlay y Stack Plots.
Ej34.
Utilice funciones matemáticas para generar una onda seno y grafiquela en un Waveform Graph.
Genere una onda coseno y grafique en otro Waveform Graph. ∆t=0.01 Puntos = 1000.
Grafique en otro Waveform Graph las dos gráficas anteriores.
Optativo.
Oscope.
Un osciloscopio digital envía una cadena ilustrada en el subVI Ej37a.
El primer carácter siempre es V. Indica que la información que le sigue son los volts por división.
El segundo carácter puede ser m o un blanco. El blanco significa que está en Volts, la m, que está
en milivolts.
El tercer y cuarto carácter son dos dígitos correspondientes al valor por volts/división en que se
hizo la captura.
El quinto carácter siempre es una T. Indica que la información siguiente es el tiempo por división.
El sexto carácter puede ser m, M o un blanco. El blanco significa que está en segundos, la m que
está en milisegundos y la M que está en microsegundos.
El séptimo y octavo carácter son dos dígitos correspondientes al valor por tiempo/división en que
se hizo la captura.
El noveno carácter siempre es “:” dos puntos. Usado para separar contextos.
A partir del décimo y en conjuntos de 4 se envía la información la cual oscila entre 0 y 1023,
seguidos de una coma. Se envían 1000 conjuntos separados por coma.
Al finalizar hay un punto “.”.
Recuerde que un osciloscopio tiene 8 cuadros de alto por 10 cuadros de largo. Asuma que la
horizontal GND está en el punto medio, 512. De lo anterior se desprende la siguiente ecuación
para determinar los puntos reales.
Valor =
(Entero − 512) × 4 × (Volts / Div )
512
Grafique los valores reales sin importar las divisiones
Programación Básica en LabVIEW 22
Centro Regional de Optimización y Desarrollo de Equipo
dt = (Time / Div ) ÷ 100
XY Graphs.
Ej35
Utilice el ejercicio 34 y en lugar de graficar en un waveform graph utilice un graph XY.
Ejemplo con lecturas.
Abra el archivo Graph.VI y guárdelo como Ej35A. En Ej35A calcule la pendiente de la gráfica para
los valores encontrados en el eje Y entre 2 y 4 toneladas. Grafíquela en (x1,0) y (x2,5), utilice el
nodo fórmula para calcular los puntos.
Digital Graph.
Es utilizado para graficar diagramas de tiempo.
En el arreglo Binary Representations está la representación binaria del arreglo Numbers.
La alineación a la derecha del arreglo Binary Representation facilita la comprensión entre la
relación de la gráfica y los números. Ya que cada columna de este arreglo es una línea dentro del
graph, representada por Bit X.
Son 8 líneas (Bit 0 a Bit 7) debido al tipo de dato con el que se está trabajando es de 8 bits.
Además de que en el diagrama se alambra en ports la cantidad de información que se tomará del
arreglo para graficar, en este caso 1, es decir, se graficarán 8 bits a la vez, debido a que 8x1=8. Si
ports fuera 2 y el número se mantuviera de 8 bits, entonces serían 16 líneas y tomaría dos
elementos de Numbers a la vez.
Programación Básica en LabVIEW 23
Centro Regional de Optimización y Desarrollo de Equipo
Así pues cada línea representa una columna de Binary Representation cuando ports sea 1.
ports entonces especifica la cantidad de elementos a tratar como una unidad entera.
Utilice Dt para ajustar el tiempo entre muestra y muestra dentro del diagrama.
Actividades.
Ej36.
Realice el ejemplo ilustrado.
Intensity Graph.
Son útiles para desplegar datos como superficies, donde el color puede representar altitud,
humedad, temperatura.
Observe el ejemplo Intensity.VI
9. Archivos.
Las operaciones de Escritura y Lectura de archivos pasan dato a y desde archivos. Utilice los VI
localizados en Functions>File I/O para manejar todos los aspectos de archivos, incluyendo:
• Abrir y cerrar archivos de datos.
• Leer y escribir datos a archivos.
• Leer y escribir datos a archivos con formato de hoja de cálculo.
• Mover y renombrar archivos y directorios.
• Cambiar características de archivo.
• Crear, modificar y leer un archivo de configuración.
Principios.
Una operación típica de archivo lleva los siguientes procesos:
1. Crear o abrir un archivo. Indica dónde reside el archivo existente o dónde desea crear el
nuevo archivo al especificar una ruta manualmente o a través de una caja de dialogo.
Después de que el archivo se abre, un número de referencia representa al archivo.
2. Leer o escribir al archivo.
3. Cerrar el archivo.
La mayoría de los VI ejecutan sólo un paso en la operación de I/O.
Formato.
Los VI para las operaciones de archivo dependen del formato de los archivos en cuestión. Puede
leer y escribir en tres formatos: texto, binario y registro de datos. El formato depende de los datos
que se adquieran o crean y las aplicaciones que accederán a los datos.
•
•
Si desea hacer a sus datos disponibles a otras aplicaciones, como Excel, utilice archivos
de texto.
Si desea acceder aleatoriamente al archivo o la velocidad y espacio en disco son cruciales,
utilice archivos binarios.
Programación Básica en LabVIEW 24
Centro Regional de Optimización y Desarrollo de Equipo
•
Si desea manejar registros complejos de datos o diferentes tipos de datos en LabVIEW,
utilice archivos de registro de datos, porque son la mejor manera de almacenar datos si
desea accederlos sólo en LabVIEW.
Una ruta es un tipo de datos de LabVIEW que identifica el lugar de un archivo en disco. La ruta
describe el directorio entre el nivel más alto del sistema y el archivo, y el nombre del archivo.
Actividades.
Ej38.
Cree un VI con un waveform graph, cinco botones y un menú para el tipo de gráfica.
El primer botón será para generar gráfica.
El segundo para guardar.
El tercero para abrir.
El cuarto para limpiar.
El quinto para salir.
Genere varias ondas, guárdelas como Waveform y muéstrelas. Utilice la extensión WVE.
Ej39.
Repita el ejercicio, pero ahora además de guardar el waveform guarde también el estado del botón
que indica el tipo de gráfica. Utilice la extensión CLS.
Ej40.
Repita el ejercicio 38. Pero ahora guarde la onda como SGL en un archivo binario. Utilice la
extensión BIN.
Ej41.
Repita el ejercicio 38, pero ahora que guarde los datos en texto para hoja de datos. Utilice la
extensión TXT. Compare tamaños entre archivos.
Programación Básica en LabVIEW 25
Centro Regional de Optimización y Desarrollo de Equipo
10. Menú.
LabVIEW permite crear menús para cada VI, puede configurar las barras que se mostrarán o se
ocultarán.
Crear Menús.
Puede modificar el menú en tiempo de diseño o ejecución. Para editar el menú manualmente se
hace en Edit>Run-Time Menu. Una vez creado se deberá mantener el archivo VI en la misma ruta
que el archivo Menu (rtm).
Utilice las funciones situadas en Functions>Application Control> Menu para insertar, borrar y
modificar los elementos del menú en tiempo de ejecución.
Además puede agregar elementos y separadores de línea.
Manejo de la selección.
Cuando crea un menú, debe asignar a cada ítem del menú un identificador de cadena llamado tag.
Cuando el usuario selecciona un ítem, la función Get Menú Selection devuelve esa tag. Después
de que se construye el menú, una estructura case en el diagrama de bloques determinará la acción
para cada tag.
Si un proceso es muy largo, bloquee el menú poniendo un valor de False en la función Enable
Menu Tracking para que los usuarios no puedan hacer nada mientras se ejecuta el proceso.
Después de que se efectúa el proceso, alambre un valor de Verdadero a la función Enable Menu
Tracking para habilitar la barra y continuar con la ejecución del programa.
Actividades.
Ej42.
Cree un menú llamado menuppal.rtm con los siguientes datos.
Archivo.
Nuevo
Guardar
Salir
Edición
Copiar
Cortar
Pegar.
Al seleccionar Salir, el programa termina. Al seleccionar cualquier otra opción deberá presentar un
cuadro de diálogo con un mensaje relativo a la acción seleccionada. En el proceso de Guardar
deberá, además, poner un Timer de 10 segundos y tener bloqueado el menú mientras se pasa el
tiempo, después del proceso continúe normalmente.
Programación Básica en LabVIEW 26
Centro Regional de Optimización y Desarrollo de Equipo
11. Puerto Serie.
Panorama General.
El puerto serie es más difícil que la interfaz por el puerto paralelo en el sentido de que en el primero
tiene que serializar la información bit por bit, agregar bit de parada, bit de inicio y bit de paridad,
mientras que en el segundo se envía el byte completo. En la mayoría de los casos, cualquier
dispositivo que conecte por el puerto serie necesitará la transmisión serial convertida a paralelo
para poder ser usada. Esto puede ser hecho usando un UART. Las ventajas de usar el la
transferencia de datos serial en lugar del paralelo son las siguientes:
Los cables seriales pueden ser de mayor longitud que los cables paralelos. El puerto serie
transmite un ‘1’ de – 3 a -25 voltios y un ‘0’ de +3 a +25 voltios mientras que un puerto paralelo
transmite un ‘0’ como 0 voltios y un ‘1’ como +5 voltios. Por consiguiente, el puerto serial puede
tener una oscilación máxima de 50V comparado con el puerto paralelo que tiene una oscilación de
5V. Por consiguiente la pérdida del voltaje debido a la longitud del cable no es tanto problema en
los serie que para los paralelos.
No requiere tantos cables como en la transmisión paralela. Si su dispositivo requiere ser instalado
en distancias grandes de la computadora entonces tres cables es más barato que 19 o 25 cables.
Sin embargo, debe tomar en cuenta el costo de la interfaz de cada terminal.
Aspectos físicos.
Los dispositivos que utilizan cables seriales para sus comunicaciones son divididos en dos
categorías. Éstas son DCE (Data Communications Equipment) y DTE (Data Terminal Equipment).
DCE son dispositivos como un módem y graficador mientras que DTE es una computadora o
terminal.
Las especificaciones eléctricas del puerto serie está contenida en el estándar EIA (Electronics
Industry Association) RS232C. Define muchos parámetros:
•
•
•
•
•
Un espacio “0” estará entre +3 y +25 V.
Una marca “1” estará entre –3 y –25 V.
La región entre +3V y –3V es indefinida.
Un voltaje de circuito abierto no deberá exceder a 25V en referencia a GND.
La corriente de cortocircuito no deberá exceder a 500mA. El manejador deberá ser capaz
de manejar esto sin daños.
Esta no es una lista completa del estándar EIA. La capacitancia de las líneas, el baudaje máximo, y
otros también son incluidos.
Pines.
Los puertos serie vienen en dos “tamaños”. El conector tipo D25 y el tipo D9 que son machos en la
parte trasera de la computadora, así que requerirá un conector hembra en su dispositivo. En la
tabla se muestra la utilización de los pines en cada uno de los conectores.
Programación Básica en LabVIEW 27
Centro Regional de Optimización y Desarrollo de Equipo
Tabla. Propósito de pines en el protocolo RS-232
D25
Pin 2
Pin 3
Pin 4
Pin 5
Pin 6
Pin 7
Pin 8
Pin 20
Pin 22
D9
Pin 3
Pin 2
Pin 7
Pin 8
Pin 6
Pin 5
Pin 1
Pin 4
Pin 9
Abreviación
TD
RD
RTS
CTS
DSR
SG
CD
DTR
RI
Nombre
Transmitir Datos
Recibir Datos
Requisición para enviar
Limpiar para enviar
Dato listo
Señal de GND
Detección de carro
Dato terminal listo
Indicador de timbrado
Módems Nulos.
Un módem nulo es usado para conectar dos DTE esto es comúnmente usado como una forma
barata para establecer una pequeña red o transferir archivos entre computadoras utilizando
protocolos Zmodem y Xmodem.
El siguiente método es de los más comunes. Sólo requiere tres cables.
Figura 2.7 Conexión para módem nulo.
Control de flujo.
Si nuestra velocidad de DTE a DCE es algunas veces más grandes que nuestra velocidad DCE a
DCE la PC puede enviar datos a su módem a 115,200 BPS. Tarde o temprano los datos tendrán
un sobre flujo en el búfer, así que un control de flujo es usado. El control de flujo tiene dos
variedades: hardware y software.
El control de flujo de software algunas veces es expresado como XON/XOFF. XON es
normalmente indicado por el carácter ASCII 17 y el ASCII 19 es usado para XOFF. Este tipo de
control tiene la ventaja de que no requiere ningún alambre más. Sin embargo la comunicación
requiere 10 bits que hace lenta la comunicación.
El control de hardware es también conocido como flujo RTS/CTS. Utiliza dos alambres en el cable
serial en lugar de transmitir caracteres extras en la línea de datos. Este control de flujo no hace
lenta la comunicación. Cuando la computadora desea enviar datos activa la línea RTS y el módem
activa la señal de CTS y así la computadora envía datos.
Programación Básica en LabVIEW 28
Centro Regional de Optimización y Desarrollo de Equipo
Direcciones estándares.
En la computadora personal se establecen direcciones fijas para la comunicación serie. Estas
direcciones se consideran estándares y se utilizan a menudo para la configuración del UART. En la
tabla se muestran dichas direcciones.
Tabla. Direcciones de los diferentes COM
Nombre
COM 1
COM 2
COM 3
COM 4
Dirección
3F8
2F8
3E8
2E8
IRQ
4
3
4
3
Programación Básica en LabVIEW 29
Centro Regional de Optimización y Desarrollo de Equipo
Apéndice A.
Instalación del software.
Instale el software antes de instalar la tarjeta de adquisición de datos. Siempre tenga a la mano las
notas apropiadas para las instrucciones específicas.
Instalación del hardware PCI-6503.
Lo siguiente son instrucciones generales para el dispositivo en específico. Consulte su manual
técnico o de referencia para instrucciones específicas.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Puede instalar su tarjeta en cualquier ranura de expansión PCI a 5V disponible.
Apague y desconecte su computadora.
Quite la tapa.
Quite la cubierta de la ranura de expansión.
Toque la parte metálica dentro de la computadora para descargar cualquier electricidad
estática que puede estar en su ropa o cuerpo.
Inserte la tarjeta en la ranura. Debe ser un ajuste apretado, pero no fuerce el dispositivo.
Atornille la tarjeta al chasis.
Verifique visualmente la instalación.
Ponga la tapa .
Conecte su computadora.
Configuración.
La tarjeta es completamente configurable por software y cumple completamente con la
Especificación de bus local PCI revisión 2.1. Por consiguiente todos los recursos de la tarjeta son
automáticamente configurados por el sistema PCI, incluyendo la dirección base y el nivel de
interrupción. La dirección base de la tarjeta está mapeada en el espacio de memoria PCI. No
necesita ejecutar ningún paso de configuración después de que el sistema se enciende.
Conexiones de señal.
Las conexiones que exceden cualquiera de las tasas máximas de entrada o de salida en la tarjeta
pueden dañar la tarjeta y su computadora.
La PCI-6503 tiene 50 pines.
Niveles digitales lógicos.
Las señales máximas de entrada y salidas asumen una fuente de voltaje de 5.0V, el voltaje
máximo absoluto para cada línea de I/O es de –0.5V a 5.5V con respecto a GND.
Programación Básica en LabVIEW 30
Centro Regional de Optimización y Desarrollo de Equipo
Distribución de los pines para la
tarjeta PCI-6503
Programación Básica en LabVIEW 31
Centro Regional de Optimización y Desarrollo de Equipo
Referencias.
National Instruments LabVIEW User Manual.
National Instruments.
Julio 2000.
Part Number 320999C-01
PCI-DIO-96, PXI-6508 and PCI-6503 User Manual.
National Instruments.
Marzo 1998.
Part Number 320938C-01
LabVIEW for everyone.
Jeffrey Travis.
National Instruments.
Segunda Edición.
ISBN 0-13-065096-X
Programación Básica en LabVIEW 32
Centro Regional de Optimización y Desarrollo de Equipo
Autor.
MC César Ezequiel Varela Moreno.
[email protected]
Maestro en Ciencias en Ingeniería Electrónica.
Egresado del Instituto Tecnológico de Chihuahua.
Ingeniero en Sistemas Computacionales
Egresado de la Universidad Autónoma de Chihuahua.
Experiencia Profesional
Desde el 2002 a la fecha es Jefe de Proyectos en el área de Diseño y Desarrollo
de equipo del Centro Regional de Optimización y Desarrollo de Equipo.
Durante el 2001 fue catedrático en la Facultad de Ingeniería de la Universidad
Autónoma de Chihuahua en la materia de Programación.
Programación Básica en LabVIEW 33
Centro Regional de Optimización y Desarrollo de Equipo
Para información, favor de comunicarse al departamento de:
GESTIÓN TECNOLÓGICA Y VINCULACIÒN
Av. Homero No. 350, Complejo Industrial Chihuahua, C.P. 31109 Chihuahua, Chih., Méx.
Tel. 4810513 y 4812171,
Tel Dirección: 4817858. Fax: 4810641
www.crodechihuahua.edu.mx
Programación Básica en LabVIEW 34
Descargar