Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Libro - Manual de Programación LabVIEW 9.0 - Julián - 2018
Libro - Manual de Programación LabVIEW 9.0 - Julián - 2018
0
(NIVEL BÁSICO)
LANZAMIENTO: 03/10/2011
EDGAR RAFAEL JULIÁN LAIME
ÁNGEL ALMIDÓN ELESCANO
PUBLICACIÓN: 20/10/2018
Perú - 2018
MANUAL DE PROGRAMACIÓN LABVIEW 9.0 AIT PERU
NIVEL BÁSICO - VERSIÓN PROFESIONAL GREEN ENERGY 20/10/2018
NEW
Blank VI: Crea un VI nuevo en blanco
Empty Project: Crea un proyecto en blanco
VI from template: Crea un VI a partir de uno prediseñado con
herramientas Express
OPEN VI: Abre un VI existente en el disco duro
Browse: Ubica un VI en una carpeta del disco duro.
ONLINE SUPPORT
Discussions fórums Foros de discusión en línea y soporte técnico
en línea a partir de la página oficial NI
HELP
Getting Started with LabVIEW
Manual de inicio en LabVIEW
LabVIEW Help
Glosario con ayuda en programación LabVIEW
List of a New Features
Lista de las novedades en LabVIEW 9.0
EXAMPLES
Find Examples
Compendio de ejemplos desarrollados en LabVIEW y clasificados en
categorías, incluyen código del programa.
Ahora podemos seleccionar una Herramienta de este menú al darle click en las
casillas interiores de la ventana, el cursor del Mouse toma una forma distinta
dependiendo de la herramienta que hemos seleccionado. Dentro de las
herramientas que encontramos en esta paleta tenemos las siguientes:
Herramienta de Selección Automática. Se encuentra seleccionada
por defecto, cuando está habilitada actúa como las cuatro principales
herramientas: operación, posicionamiento, etiquetado y cableado,
dependiendo frente a qué objeto se encuentre y cambia
automáticamente.
Herramienta de Operación. Utilice la herramienta de Operación para
manipular los controles e indicadores del panel frontal.
Herramienta de Posicionamiento. Utilice la herramienta de
Posicionamiento para seleccionar, mover ó redimensionar objetos en
el panel frontal y diagrama de bloques.
Las ventanas del panel Frontal y del Diagrama de Bloques contienen una barra de
herramientas con botones de comando e indicadores de estado que se utilizan
para controlar el VI. Dependiendo de si se está trabajando en el panel frontal o en
el diagrama de bloques una de las dos barras de herramientas estará disponible.
instantes paleta flotante (figura b), y para convertirla en una ventana estable le
damos click en la tachuela que está en la esquina superior izquierda de la paleta.
Si desplegamos la entrada MODERN dándole click, visualizamos las categorias
con las cuales podemos iniciar el diseño del panel frontal de nuestra aplicación.
LabVIEW cuenta además con menús desplegables para todos los objetos tanto del
panel frontal como del diagrama de bloques, esta herramienta nos permite acceder
a las opciones de visualización, configuración del modo de operación y
personalización de los todos objetos creados en LabVIEW, esos menuas se
habilitan si hacemos anticlick sobre el objeto en cuestión, aparece las ventanas
siguientes:
en línea picando con el Mouse en la opción Detailed help o Search the LabVIEW
Help del menú Help, luego aparece una ventana que tiene la siguiente apariencia:
Los instrumentos virtuales VI’s tienen tres partes esenciales el Panel Frontal, el
Diagrama de Bloques y el Icono/Conector.
El panel frontal que es la interface al usuario de un programa de LabVIEW, en
donde se especifican las entradas y se despliega las salidas del VI, los controles
especifican entradas y los indicadores representan las salidas.
El diagrama de bloques es el código ejecutable compuesto de nodos, terminales
y cableado que especifica el orden de ejecución (parte lógica).
La paleta de herramientas se utiliza para manipular herramientas de operación,
edición y depuración.
La paleta de Controles se utiliza para poner controles e indicadores en la
ventana del panel frontal.
La paleta de funciones se utiliza para colocar nodos (funciones y sub VIs) en la
ventana del Diagrama de Bloques.
Oprimir el botón derecho del Mouse sobre componentes individuales de un
objeto le permite acceder a los menús DESPLEGABLES del objeto.
Para poder visualizar tanto el panel frontal como el diagrama de bloques al
mismo tiempo en un mosaico vertical presione las teclas: Ctrl. + T.
Para ir del panel frontal al diagrama de bloques y viceversa se pueden usar las
teclas Ctrl. + E.
Para guardas los cambios realizados en un programa o guardarlo por primera
vez en el disco duro podemos usar Ctrl. + S.
Control Digital
Etiquetas
Indicador Digital
Los dos objetos numéricos utilizados con más frecuencia son el control digital y el
indicador Digital. Para dar a cambiar valores a un control digital se puede hacer
click en los botones de incremento con la HERRAMIENTA OPERACIÓN
HABILITADA, u oprimir dos veces el botón izquierdo del mouse en el número
utilizando la HERRAMIENTA OPERACIÓN ó ETIQUETADO para luego digitar el
valor MEDIANTE EL TECLADO.
Control Booleano
Etiquetas
Indicador Booleano
TERMINALES DE
LOS CONTROLES
TERMINALES DE
LOS INDICADORES
CABLES
FUNCIONES
Las Terminales son puertos a trabes de los cuales los datos pasan entre los
nodos del diagrama de bloques. Las terminales son análogas a parámetros y
constantes. Hay dos tipos de terminales: Terminales de controles e indicadores y
terminales de Nodos. Las terminales de controles e indicadores corresponden a
los controles e indicadores del panel frontal. Los valores que se puedan dar a los
controles pasan a los terminales en el diagrama de bloques luego a los terminales
de los indicadores pero previamente ha de pasar por todo el cableado y nodos del
diagrama de bloques. Las terminales de los controles e indicadores son creadas y
borradas automáticamente al crear o borrar un control o indicador en el panel
frontal. El diagrama de bloques del VI anterior muestran las terminales que
corresponden a los 4 Controles e Indicadores del panel frontal, como todos los VIs
las funciones de Add y Substract también tienen nodos terminales que residen en
el icono.
CONTROLES INDICADORES
nodo provee datos a todas sus terminales de salida y los datos pasan
inmediatamente de las terminales de origen a las terminales de destino.
El FLUJO DE DATOS contrasta con el control de FLUJO DE LA
PROGRAMACIÓN CONVENCIONAL, en el que las instrucciones se ejecutan en
la SECUENCIA EN LA QUE SE ESCRIBEN.
Ejemplo 1: Considere el Diagrama de bloques de un VI que multiplica dos
números y después le resta 50 al resultado de la multiplicación. En este caso, el
diagrama de bloques se ejecuta de izquierda a derecha, no porque los objetos
estén colocados en ese orden si no porque:
Una de las entradas de la función Substract (resta) no es válida hasta que la
función Multiply (multiplicación) haya multiplicado los dos números y pasado el
resultado a la función Substract. RECUERDE QUE UN NODO (FUNCIÓN) SOLO
SE EJECUTA CUANDO LOS DATOS ESTÁN DISPONIBLES EN TODAS SUS
TERMINALES DE ENTRADA, Y ENVÍA LOS DATOS A SUS TERMINALES DE
SALIDA CUANDO TERMINA SU EJECUCIÓN.
- Extended (Naranja)
Según el modelo del ordenador que se esté utilizando los números de coma
flotante presentan el siguiente formato:
Macintosh: 96 bits (formato presición extendida MC68881-MC68882)
Windows: 80 bits (formato presición extendida 80287)
Sun: Formato 128 bits
HP-UX: son almacenados como números en coma flotante e doble presición.
- Double (Naranja)
Los números en coma flotante de doble presición cumplen con el formato de
doble presición IEEE de 64 bits. Es el valor por defecto de LabVIEW.
- Single (Naranja)
Los números en coma flotante de presición simple cumplen con el formato de
presición simple IEEE de 32 bits.
2.4.4. Probadores
Los probadores se pueden utilizar para ver los datos mientras fluyen a trabes de un
cable del diagrama de bloques, para poner un probador en un cable elija la
herramienta de prueba de la paleta de herramientas (Probe Data ) ya hacer clic
sobre el cable. Para elegir una opción diferente al probador predeterminado oprima
el botón derecho del mouse sobre le cable y seleccione Custom Probe.
PRIMERO SEGUNDO
El VI repite el código dentro del ciclo WHILE hasta que el valor booleano pasado a
la terminal condicional (una terminal de entrada) sea VERDADERO. El VI revisa la
terminal condicional; por lo tanto el ciclo WHILE siempre se ejecuta una vez. La
terminal de iteración es una terminal numérica de salida que contiene el número
de veces que se ha ejecutado el ciclo, comenzando desde cero. (Esto es, durante
la primera ejecución del ciclo la terminal de iteración contiene el número cero).
En el siguiente ejemplo, el ciclo WHILE se ejecuta mientras el valor de salida del
subVI es menor a 10, cuando este valor es igual o superior a 10 el ciclo termina.
Terminal Contador
Terminal de Iteración
Un ciclo FOR repite una parte de código del diagrama de bloques UN NÚMERO
PREDETERMINADO DE VECES. Para utilizar un ciclo FOR hay que
seleccionarlo de la categoría STRUCTURES de la paleta de FUNCIONES, y
después encerrar el código que se va a repetir dentro de los límites del ciclo FOR
al igual que en el caso del ciclo WHILE, TAMBIÉN ES UNA CAJA
REDIMENSIONABLE.
El ciclo FOR tiene dos terminales: el TERMINAL CONTADOR (un terminal de
entrada) y el TERMINAL DE ITERACIÓN (un terminal de salida), el terminal de
cuenta ESPECIFICA el NUMERO DE VECES QUE HA DE EJECUTARSE EL
CICLO, y el terminal de iteración especifica en NUMERO DE VECES QUE SE HA
EJECUTADO EL CICLO.
La diferencia entre el ciclo FOR y el ciclo WHILE es que el ciclo FOR se ejecuta
un número prederminado de veces, mientras que un ciclo WHILE se ejecuta
mientras la terminal condicional sea FALSA.
El siguiente ejemplo muestra un ciclo FOR que genera 100 números aleatorios y
despliega los puntos en una grafica de onda
- Variables de Secuencia
Las variables se secuencia son variables que pasan datos entre los diferentes
marcos de la estructura de secuencia. Usted puede crear variables de secuencia
en los bordes de un marco. Los datos conectados a una variable de secuencia
estarán disponibles en marcos subsecuentes. Sin embargo dichos datos no están
disponibles en marcos que preceden el marco donde se creó la variable de
secuencia.
Formula
Entradas Numéricas
Salida Numérica
(INPUT’s)
(OUTPOUT)
Función Descripción
abs(x) Devuelve el valor absoluto de x
acos(x) Calcula el coseno inverso de x en radianes
acosh(x) Calcula el coseno hiperbólico inverso en radianes
asin(x) Calcula en seno inverso de x en radianes
asinh(x) Calcula el seno hiperbólico inverso en radianes
atan(x,y) calcula la tangente inversa de y/x en radianes
atanh(x) calcula la tangente hiperbólica inversa en radianes
cos(x) calcula el coseno de x en radianes
cosh(x) calcula el coseno hiperbólica de x en radianes
cot(x) calcula la cotangente de x en radianes
csc(x) calcula la cosecante de x en radianes
exp(x) calcula el valor de e elevado a x
ln(x) calcula el logaritmo natural de x
log(x) calcula el logaritmo en base 10 de x
log2(x) calcula el logaritmo en base 2 de x
max(x,y) compara x con y y devuelve el mayor valor
min(x,y) compara x con y y devuelve el menor valor
mod(x,y) calcula el cociente de x entre y
rand() genera un numero aleatorio entre 0 y 1
sec(x) calcula la secante de x en radianes
sign(x) devuelve el valor de 1 si x es mayor que 0, 0 si x es igual a
cero y -1 si x es menor que cero
sin(x) calcula el seno de x en radianes
sinc(x) calcula el seno e x dividido por en x en radianes
sinh(x) calcula el seno hiperbólico de x en radianes
sqrt(x) calcula la raíz cuadrada de x
tan(x) calcula la tangente de x en radianes
tanh(x) calcula la tangente hiperbólica de x en radianes
x**y calcula el valor de x elevado a y
Iteración 0 Iteración 1
Valor Inicial
Iteración 0
Iteración 1
Iteración 2
Iteración 3
3.8. TEMPORIZADORES
El ciclo WHILE y el ciclo FOR son dos estructuras que pueden ser utilizados
para repetir la ejecución de un subdiagrama (Subprograma).
El ciclo WHILE se ejecuta mientras el valor conectado al TERMINAL
CONDICIONAL sea falso, cuando este valor cambie a verdadero se termina la
ejecución de lazo.
El ciclo FOR se ejecuta el número de veces determinadas por el valor conectado
a la terminal de cuenta (TERMINAL CONTADOR).
Los ciclos son creados al encerrar el subdiagrama dentro de los límites del
recuadro del ciclo, o al seleccionar individualmente los nodos, manteniendo
oprimido el botón del mouse y arrastrándolo hacia dentro del límite del ciclo.
LabVIEW tiene dos estructuras para controlar el flujo de datos: la estructura
CASE y la estructura SECUENCE. LabVIEW despliega ambas estructuras como
un conjunto de cartas; únicamente un caso es visible a la vez.
La estructura CASE se utiliza para seleccionar entre distintos diagramas
dependiendo de la entrada conectada a la terminal de selección. Los
subdiagramas se colocan dentro de la estructura CASE. Los datos de entrada a
la terminal de selección pueden ser booleanos (2 casos), cadena de caracteres o
numéricos (2¨31 casos). LabVIEW determina automáticamente el tipo de la
terminal de selección cuando se conecta un control ya sea de tipo entero,
booleano o de cadena de caracteres.
Si conecta un valor desde la estructura CASE hacia fuera, debe conectar algo a
ese túnel para cada caso de la estructura.
La estructura de SECUENCIA se utiliza para ejecutar el diagrama de bloques en
un orden específico. La porción del diagrama que se coloca dentro del primer
marco se ejecuta primero, el diagrama que se coloca dentro del segundo marco
se ejecutara en segundo lugar y así sucesivamente.
Con el Nodo de Formulas usted puede escribir formulas directamente en el
diagrama de bloques esta opción es extremadamente útil cuando las ecuaciones
tienen cierta complejidad o están compuestas de muchas variables, estas son
sensibles a mayúsculas y minúsculas además cada formula debe de terminar
con un punto y coma (;).
Los TEMPORIZADORES son herramientas que nos permiten controlar el tiempo
de ejecución de un ciclo ó del programa en general según sea configurado.
Los registros de corrimiento se utilizan para transferir valores de una iteración
del ciclo al principio de la siguiente iteración.
Por cada iteración de la que quiera recordar un valor debe de añadir un nuevo
elemento a la terminal izquierda del registro de corrimiento (Shift Register) y
seleccione Add Element.
Índice ó Posición : 0 1 2 3 4 5
Elemento : 0.8 0.6 0.2 0.6 0.9 0.3
CASILLA DE INDICE
ELEMENTOS
Ó POSICIÓN
Paso 1:
Seleccione el ESQUELETO DE ARREGLO de la categoría de Array y Cluster
que se encuentra en la paleta de Controles.
Paso 2:
Para crear un arreglo ARRASTRE EL OBJETO DE DATOS DENTRO DEL
ARREGLO.
Una vez creado el Arreglo de datos de dos dimensiones, podemos desplegar las
otras columnas situándonos con el mouse en el modo Herramienta de Selección
( ) en los límites del objeto Array donde aparecen unos PUNTOS AZULES,
luego haciendo CLICK arrastramos hacia la derecha ó hacia abajo según sea el
caso, como en la figura:
0 1 2 3 4 5
Auto-Indexing Enabled
(Default-For Loops)
ULTIMO VALOR DE LA
ITERACION
# FILAS
#COLUMNAS
ARRAY (5x6)
4.3. POLIMORFISMO
Las funciones aritméticas de LabVIEW, Add, Multiply, Divide, etc..., son
polimórficas esto quiere decir que las entradas a estas funciones pueden ser
diferentes estructuras de datos escalares y/o arreglos. Por ejemplo se puede
sumar un escalar a un arreglo o sumar dos arreglos. El siguiente ejemplo muestra
algunas de las combinaciones de la función Suma (Add).
Los arreglos (Arrays) son colecciones de datos del mismo tipo que pueden ser
numérico, string ó booleano.
Los arreglos de datos numéricos de una dimensión 1D son conocidos como
VECTORES, si son de dos dimensiones 2D se conocen como MATRICES y si
son de mas dimensiones nD ya son llamados TENSORES.
Un arreglo de datos es creado al ingresar en su interior un objeto sea control ó
indicador, si no se ingresa nada el esqueleto solo del array generará un error.
El array tomara el color del objeto que contenga en su interior, si no tiene ningún
objeto tomara el color negro.
Las funciones aritméticas con arreglos de datos en LabVIEW son polimórficas,
esto quiere decir que aceptan diferentes tipos de datos.
Una aplicación practicas de los arreglos de datos son las graficas, ya que se
graficas conjuntos de pares ordenados, un arreglo para X y otro para Y.
Si se quiere sumar dos matrices se puede hacer miembro a miembro (usando la
función aritmética suma Add), ó matricialmente (usando las funciones de la
paleta de funciones: Matematics/Linear Algebra), en cada caso el resultado es
diferente.
5.5. CLUSTERS
Para utilizar gráficas es importante tener entendimiento básico de otra estructura
de LabVIEW; se trata del Cluster. Un cluster es una estructura de datos que
agrupa datos del mismo ó de diferente tipo. Podemos pensar que un
CLUSTER ES COMO UN GRUPO DE ALAMBRES, tal como un cable telefónico.
Cada alambre en el cable representa en un elemento diferente del cluster.
La Gráfica tipo carta es un indicador numérico especial que despliega una o más
gráficas (señales).
Para establecer los atributos, características y las propiedades de una grafica se
debe de hacer ANTICLICK en la grafica e ir a la opción propiedades.
De igual modo se puede personalizar la forma de los trazos (señales) haciendo
ANTICLICK en la casilla de la esquina superior derecha donde se encuentran
los trazos de la gráfica.
La grafica de onda (waveform graph) se usa para graficar un arreglo de datos
para Y, el arreglo de datos para X se genera automáticamente partiendo desde
cero y en intervalos de 1.
También en la grafica de onda se puede personalizar el arreglo de datos para X,
asignándole un X0 y un ∆X, usando la función BUNDLE.
La grafica tipo XY (XY graph) se usa para graficar dos arreglos de datos X y Y,
como pares ordenados, por lo que ambos arreglos de datos deben de tener el
mismo número de datos.
Las herramienta bundle (colector) y Build Array (Costructor de arreglos), son
usados para graficar múltiples señales tanto para graficas tipo carta, tipo onda y
tipo XY.
Se debe de respetar el orden de ingreso de datos XY cuando se usa un colector
tipo bundle para graficas tipo XY graph.
Los subVI’s son VI’s llamado desde VI’s con un nivel mas alto, lo que permite
crear diagramas de bloques modulares.
La modularización a través de subVI’s hace que el diagrama de bloques sea mas
fácil de entender y depurar.
El icono y el conector son los dos componentes que forman un nodo en un
subVI.
Las terminales del conector de un subVI pasan datos del código del subVI y
reciben los resultados del subVI. se define el conector seleccionado, el numero
de terminales que requiere utilizar para el VI y después se puede asignar un
control o indicador en el panel frontal para cada Terminal.
El Editor de Iconos es una herramienta que permite crear iconos para el VI. Para
tener acceso al editor de iconos hacer anti-click en la esquina superior derecha
de la ventana del panel frontal.
En el editor de iconos los atributos del texto pueden ser cambiados al oprimir dos
veces el botón del mouse sobre la herramienta de etiquetado.
La herramienta Show VI info… del menú de Windows permite ver, documentar y
escribir notas pertinentes a la operación del VI.
La ventana de ayuda de un subVI desplegará todos los nombres de los
terminales del subVI y la documentación ingresada en Show VI info… del subVI.
también designará que terminales son requeridos, recomendados u opcionales.
a(1)*xˆ(m-1)+a(2)*xˆ(m-2)+...+(m)%
USAGE:sigma=stdDev(coeff,xData,yD
ata)%coeff=coefficientsofthepolynom
ial.%xData=xcoordinatesofdatapoints
.%yData=ycoordinatesofdatapoints.m
=length(coeff);n=length(xData);>>x=
0:0.2:pi; % Create x-array>>y=sin(x);
%Createyarray>>plot(x,y,’k:o’)%Plot
x-y points with specifiedcolor%ands
16/03/2012
PANEL FRONTAL
DIAGRAMA DE BLOQUES
Ejercicio N° 1
DIAGRAMA DE BLOQUES
PANEL FRONTAL
DIAGRAMA DE BLOQUES
PANEL FRONTAL
EJERCICIOS: GRAFICAS
Ejercicio N° 16: GRAFICA TIPO CARTA DE N SEÑALES