• No se han encontrado resultados

MANUAL DE PROGRAMACION LabVIEW 9.0 (NIVEL BÁSICO)

N/A
N/A
Protected

Academic year: 2022

Share "MANUAL DE PROGRAMACION LabVIEW 9.0 (NIVEL BÁSICO)"

Copied!
79
0
0

Texto completo

(1)

MANUAL DE PROGRAMACION LabVIEW 9.0 (NIVEL BÁSICO)

SOFTWARE PARA SIMULACIÓN, INSTRUMENTACIÓN Y CONTROL DE PROCESOS INDUSTRIALES

LANZAMIENTO: 03/10/2011 EDGAR RAFAEL JULIÁN LAIME ÁNGEL ALMIDÓN ELESCANO PUBLICACIÓN: 20/10/2018

Perú - 2018

(2)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página iii

LabVIEW 9.0 SOFTWARE PARA SIMULACIÓN,

INSTRUMENTACIÓN Y CONTROL DE PROCESOS INDUSTRIALES (NIVEL BÁSICO)

INDICE TEMÁTICO

1. CAPITULO I: EL ENTORNO LabVIEW

1.1. LabVIEW VERSION 9.0 ... 1

1.2. INSTRUMENTO VIRTUAL (VI) ... 2

1.3. EL ENTORNO LabVIEW 9.0 ... 2

1.4. VENTANA DEL PANEL FRONTAL ... 4

1.4.1. Paleta de Herramientas ... 5

1.4.2. Barra de Herramientas del Panel frontal ... 6

1.4.3. Paleta de controles ... 7

1.5. VENTANA DIAGRAMA DE BLOQUES ... 10

1.5.1. Barra de Herramientas del Diagrama de Bloques ... 10

1.5.2. Paleta de Funciones ... 11

1.6. MENÚS DESPLEGABLES ... 14

1.7. OPCIONES DE AYUDA EN LABVIEW ... 15

1.7.1. Context Help (Ventana de Ayuda) ... 15

1.7.2. LabVIEW help ... 15

1.7.3. Buscar Ejemplos (Find Examples) ... 16

Resumen, Sugerencias y Teclas de Acceso Directo ... 17

2. CAPITULO II: PROGRAMACIÓN DE UN VI EN LabVIEW 2.1. CREACIÓN DE UN VI ... 18

2.1.1. Creación del Panel Frontal ... 18

Controles e Indicadores Numéricos ... 18

Controles e Indicadores Booleanos ... 18

2.1.2. Desarrollo del Diagrama de Bloques ... 19

2.1.3. Programando el Flujo de Datos ... 20

2.2. TIPOS DE DATOS EN LabVIEW ... 22

2.2.1. Booleano ... 22

2.2.2. Numérico ... 22

2.2.3. String ... 23

2.2.4. Path ... 23

2.2.5. Cluster ... 23

2.2.6. Array ... 24

2.3. TÉCNICAS DE EDICIÓN... 24

2.3.1. Cómo crear Objetos ... 24

2.3.2. Cómo Seleccionar Objetos ... 24

2.3.3. Cómo Mover Objetos ... 24

2.3.4. Cómo Borra Objetos ... 25

2.3.5. Undo/Redo (Deshacer/Rehacer) ... 25

2.3.6. Duplicando objetos ... 25

2.3.7. Asignar nombre a objetos ... 25

2.3.8. Seleccionando y Borrando Cables ... 25

2.3.9. Cableado Incorrecto ... 26

2.3.10. Copiando Objetos entre VIs ó desde otras Aplicaciones ... 26

2.3.11. Utilizando Color ... 26

2.4. TÉCNICAS DE DEPURACIÓN ... 27

(3)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página iv

2.4.1. Búsqueda de Errores ... 27

2.4.2. Animación de la Ejecución... 27

2.4.3. Ejecución de un VI Paso a Paso ... 27

2.4.4. Probadores ... 27

2.4.5. Puntos de Ruptura ... 27

Resumen, Sugerencias y Teclas de Acceso Directo ... 28

3. CAPITULO III: CICLOS Y ESTRUCTURAS EN LabVIEW 3.1. CICLOS Y ESTRUCTURAS ... 29

3.2. CICLO WHILE ... 29

3.3. CICLO FOR ... 31

3.4. ESTRUCTURA CASE ... 31

3.5. ESTRUCTURA SEQUENCE ... 33

3.6. El NODO de FORMULAS ... 33

3.7. REGISTROS DE CORRIMIENTO ... 35

3.8. TEMPORIZADORES ... 36

Resumen, Sugerencias y Teclas de Acceso Directo ... 37

4. CAPITULO IV: ARREGLOS DE DATOS EN LabVIEW 4.1. ARREGLOS ... 38

4.1.1. Creación de Arreglos de Indicadores y Controles ... 38

4.1.2. Arreglos de Dos Dimensiones ... 39

4.1.3. Creación de Arreglos Utilizando Ciclos ... 40

4.1.4. Creación de Arreglos de dos dimensiones Utilizando ciclos ... 41

4.2. FUNCIONES DE ARREGLOS ... 41

4.2.1. Array Size ... 42

4.2.2. Array Max and Min ... 42

4.2.3. Index Array ... 42

4.2.4. Initialize Array ... 43

4.2.5. Build Array ... 43

4.2.6. Array Subset ... 43

4.3. POLIMORFISMO ... 44

Resumen, Sugerencias y Teclas de Acceso Directo ... 44

5. CAPITULO V: GRÁFICAS EN LabVIEW 5.1. GRÁFICA TIPO CARTA (WAVEFORM CHART) ... 45

5.1.1. Gráfica tipo carta de Una sola señal ... 46

5.1.2. Gráfica de tipo carta de Múltiples Señales ... 47

5.2. GRÁFICA DE ONDA (WAVEFORM GRAPH) ... 47

5.3. GRÁFICA XY (XY GRAPH) DE UN JUEGO DE PARES ORDENADOS ... 48

5.4. GRÁFICA XY (XY GRAPH) DE MÚLTIPLES JUEGOS DE PARES ORDENADOS ... 49

5.5. CLÚSTERS ... 49

5.5.1. La función Bundle (Colector) ... 50

5.5.2. La función Unbundle (Decolector) ... 50

5.5.3. Uso de la herramienta colector (Bundle) y el Constructor (Build Array) ... 51

Resumen, Sugerencias y Teclas de Acceso Directo ... 52

(4)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página v 6. CAPITULO VI: CREACIÓN Y UTILIZACIÓN DE SUBVI’S

6.1. CREACIÓN DE SubVI’s ... 53

6.1.1. Edición del Icono ... 55

6.1.2. Creación de conectores ... 55

6.1.3. Selección de patrones de los terminales ... 56

6.1.4. Asignación de terminales a Controles e Indicadores ... 56

6.2. UTILIZACIÓN DE UN VI COMO UN SUBVI ... 57

6.2.1. Abriendo, Operando y Modificando SubVI’s ... 58

6.2.2. Conversión de una Selección a un SubVI ... 58

Resumen, Sugerencias y Teclas de Acceso Directo ... 59

EDGAR JULIÁN / ÁNGEL ALMIDÓN

©TODOS LOS DERECHOS RESERVADOS Depósito Legal N° 2012-05845 ISBN N° 978-612-00-0870-6 AIT-GREEN ENERGY

OCTUBRE DE 2018 REVISIÓN 0.5

(5)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 1 de 59

1. CAPITULO I: EL ENTORNO LabVIEW

1.1. LabVIEW VERSION 9.0

LabVIEW versión 9.0 es un lenguaje de programación cuyo entorno de desarrollo es gráfico, flexible y modular en su totalidad, diferente a la programación mediante comandos tipo texto, sistemas empleados en los lenguajes de programación de alto nivel tradicionales como Assembler, Pascal. Basic, Etc…

Hasta la década de 1980 la tarea de creación de un programa ó software de aplicación se llevaba a cado con paquetes software basados en código texto, estos paquetes software fueron evolucionando y en la actualidad ofrecen una serie de facilidades en el desarrollo de la interfaz de usuario como las funciones de alto nivel y la incorporación de elementos gráficos, que simplifican la tarea de programación y de elaboración de la Interfaz Hombre Maquina (HMI) o panel frontal de la aplicación como es el caso se Visual Basic, sin embargo el cuerpo del programa (PROGRAMACIÓN LÓGICA), seguía basado en comandos tipo texto, lo que suponía mucho tiempo invertido en detalles de programación que nada tiene que ver con la finalidad de creación de una herramienta software. Con la llegada del software de programación gráfica LabVIEW de National Instruments, Visual Designer de Burr Brown o VEE de Agilent Technology, el proceso de creación de un VI se ha simplificado tanto que el tiempo utilizado para el desarrollo de aplicaciones software se ha minimizado al máximo y aun más con la llegada de la tecnología Express con la que cuenta LabVIEW a partir de la versión 7.0 en el año 2005.

Figura 1: EVOLUCIÓN DE LA PROGRAMACIÓN

1.2. Instrumento Virtual (VI)

Un instrumento virtual ó Virtual Instrument (VI), es un modulo software que simula el panel frontal de un instrumento real de medición de variables físicas y apoyándose en elementos hardware accesibles por el ordenador (tarjetas de

(6)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 2 de 59 adquisición de datos, instrumentos accesibles vía USB, GPIB, RS-232, RS-485, etc.) realiza una serie de medidas como si se tratase de un instrumento real.

Es así que cuando se ejecuta un programa que funciona como instrumento virtual o VI (Virtual Instrument), el usuario ve en la pantalla de su ordenador un panel cuya función es idéntica a la de un instrumento físico, facilitando la visualización y el control del aparato. A partir de los datos reflejados en el panel frontal el VI debe de actuar recogiendo o generando señales como lo haría su homologo físico.

Los programas de Labview son llamados Instrumentos Virtuales (VIS). Los VIS tienen tres partes principales: el Panel Frontal donde se encuentra la parte externa ó interfaz hombre maquina (HMI) del programa, el Diagrama de Bloques donde está la parte lógica o código fuente del programa y el Icono/Conector que es como la huella digital que identifica al programa.

(INSTRUMENTO REAL) (INSTRUMENTO VIRTUAL) Figura 2: PRINCIPIO DE UN VI

1.3. El Entorno LabVIEW versión 9.0

LabVIEW consiste en el archivo ejecutable labview.exe y varios asociados, la siguiente ventana de inicio aparece al buscar en el menú Inicio/Programas/National Instruments/LabVIEW 2009/LabVIEW:

Esta ventana ofrece varias opciones donde tenemos opciones desde creación de programas en blanco hasta una amplia galería de ejemplos desarrollados, destacan:

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.

(7)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 3 de 59 LATEST FROM NI.COM

News: Nos conecta con las novedades publicadas en la página oficial de National Instruments

Techical Contents Información Técnica de productos NI

Examples Ejemplos desarrollados y publicados en la pagina NI

Training Resources Recursos de entrenamiento LabVIEW

Figura 3: VENTANA DE INICIO DE LABVIEW VERSIÓN 9.0

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.

(8)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 4 de 59 1.4. VENTANA DEL PANEL FRONTAL (FRONT PANEL)

Al abrir un VI en blanco se crean automáticamente dos ventanas una de ellas se conoce como el panel frontal del VI en donde como ya se menciono vamos a crear la interfaz que entrara en contacto con el usuario final de la aplicación software, esta es una de las ventanas que se utilizan en LabVIEW para construir el VI. La otra ventana se conoce como Diagrama de Bloques en donde se ha de programar la parte lógica ó código del VI.

Figura 4: VENTANAS DEL PANEL FRONTAL Y DIAGRAMA DE BLOQUES DE UN VI EN BLANCO

El panel Frontal y el diagrama de bloques están constituidos por una colección de objetos gráficos que son los elementos programables de LabVIEW. El panel frontal contiene varios tipos de controles e indicadores que facilitan la visualización de resultados y el reconocimiento rápido de los componentes del VI, pueden usarse una serie de herramientas prediseñadas así como también usted mismo puede diseñar sus propios indicadores dentro de algunas opciones un poco más avanzadas de acuerdo a la naturaleza de aplicación del instrumento virtual, una aplicación puede ser el diseño alarmas con leds animados con diseño grafico en 2D y 3D desde programas como Corel Draw, AutoCad, Autodesk 3D MAX, etc, a los cuales además se les puede adicionar archivos de audio con el objeto de hacer mas interactiva la aplicación. La siguiente ilustración muestra un panel frontal y su diagrama de bloques asociado:

(9)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 5 de 59 (PANEL FRONTAL) (DIAGRAMA DE BLOQUES)

Figura 5: PARTES DE UN VI

1.4.1. Paleta de Herramientas (TOOLS PALETTE)

Esta es la paleta más importante a la hora de programar y SIEMPRE DEBE DE ESTAR VISIBLE, cuando esta activa se encuentra visible tanto en el panel frontal como en el diagrama de bloques, en esta paleta podemos encontrar herramientas para crear, modificar y depurar VI’s, si la paleta de herramientas no está visible nos vamos al MENU de la parte superior y en VIEW seleccionamos la opción TOOLS PALETTE, con esto se habilita la ventana que se muestra en la siguiente figura:

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.

(10)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 6 de 59 Herramienta de Etiquetado. Utilice la herramienta de Etiquetado para editar todo lo relacionado con texto en los objetos tanto del panel frontal como del diagrama de bloques.

Herramienta de Cableado. Utilice la herramienta Cableado para cablear objetos en el diagrama de bloques. Ponga la herramienta de cableado sobre un cable para desplegar el tipo de datos del cable en la ventana de ayuda.

Herramienta de Pop-Up. Utilice esta herramienta para tener acceso al menú pop-up de un objeto al oprimir el botón izquierdo del Mouse.

Herramienta de Deslizamiento. Utilice esta herramienta para deslizarse a trabes de la ventana sin utilizar las barras de desplazamiento.

Herramienta de Puntos de Detención. Utilice esta herramienta para poner puntos de ruptura en VIS funciones y estructuras.

Herramienta de Pruebas. Utilice esta herramienta para poner probadores en cables del diagrama de bloques

Herramienta de Copiado de Color. Utilice la herramienta de copiado de color para copiar colores e insertarlos con la herramienta de color.

Herramienta de Color. Utilice la herramienta de Color para colorear un objeto. Esta herramienta también despliega el color del fondo y del primer plano del objeto.

1.4.2. Barra de Herramientas del Panel Frontal

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.

El botón de Ejecución sirve para correr el programa una sola vez.

El botón de Ejecución continua sirve para ejecutar el programa continuamente.

El botón de Abortar la Ejecución aparece mientras el VI se esta ejecutando oprima este botón para salir del VI inmediatamente

El botón de Pausa/Continuar. Este botón hace una pausa en la ejecución del VI. Para continuar desde el modo de pausa oprima el botón otra vez y el VI continuará la ejecución.

El Anillo de Fuentes. Este anillo permite seleccionar opciones de fuente, tamaño, color, estilo etc, para configurar el texto seleccionado con la herramienta Etiquetado

(11)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 7 de 59 El Anillo de Alineación. Use esta herramienta de posición para seleccionar las opciones de alineación incluyendo vertical, horizontal, centrada, etc. Para dos o más objetos

El Anillo de Distribución. Use esta herramienta distribución para seleccionar opciones de distribución incluyendo espacios, compresión etc. Para dos o más objetos

El Anillo de Ordenamiento. Use esta herramienta para jerarquizar el orden de empalmamiento cuando dos o mas objetos se encuentran uno tras del otro.

El Anillo de Dimensionamiento. Use esta herramienta para dimensionar objetos del panel Frontal.

1.4.3. La Paleta de Controles (CONTROLS PALETTE)

(a) VENTANA (b) FLOTANTE (c) COMPRIMIDA Figura 6: FORMAS VISIBLES DE LA PALETA DE CONTROLES

La paleta de Controles esta visible solo en el panel frontal, y consiste en iconos de alto nivel que representan las subcategorias, dando acceso a un gran rango de objetos que están disponibles para crear un VI. Usted puede acceder a las subcategorias al darle click sobre el icono. Si no se encuentra visible nos vamos al MENÚ, de la parte superior, luego en VIEW activamos CONTROLS PALETTE (FIGURA a), la otra forma es darle anticlick en un área libre del panel frontal, claro que en esta segunda forma la paleta de controles estará activa solo por unos

(12)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 8 de 59 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.

NUMERIC (Numérico). Contiene controles e indicadores de datos tipo numéricos, objetos con los cuales podemos ingresar datos numéricos así como visualizar resultados también tipo numéricos.

BOOLEAN (Booleano). Contiene controles e indicadores de datos tipo booleanos

STRING (Cadenas de Caracteres). Contiene controles e indicadores de datos tipo cadena de caracteres (texto) y herramientas tipo path (rutas de archivos en el disco duro).

(a) NUMERIC (b) BOOLEAN (c) STRING & PATH Figura 7: CATEGORIAS DE LA ENTRADA MODERN

ARRAY, CLUSTER & MATRIX (Arreglos y Agrupamiento).

Contiene herramientas que agrupan distintos tipos de datos, para generar arreglos, matrices y clústers.

LIST, TABLE & TREE (Listas, Tablas Y Árbol). Contiene controles e indicadores tipo listas, tablas y arboles en formato tipo texto.

GRAPH (Gráficas). Contiene indicadores tipo gráfico para graficar señales y conjuntos de datos (Arrays).

(13)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 9 de 59

(a) ARRAY, MATRIX

& CLUSTER (b) LIST, TABLE (c) GRAPH Figura 8: CATEGORIAS DE LA ENTRADA MODERN

RING & ENUM (Anillo y enumerador). Contiene controles e indicadores tipo anillo (menú desplegable), y enumerador, los cuales se usan para seleccionar casos.

CONTAINERS (Contenedores). Contiene herramientas tipo contenedores y tableros que administran varios objetos análogamente a las páginas de un libro.

I/O (Entradas/Salidas). Contiene controles e indicadores para asociar entradas ó salidas mediante instrumentos de adquisición, envío de señales reales tipo DAQ, VISA, RIO, etc.

(a) RING & ENUM (b) CONTAINERS (c) I/O Figura 9: CATEGORIAS DE LA ENTRADA MODERN

DECORATIONS (DECORACIONES). Contiene una galería de objetos gráficos para decorar el panel frontal, estos objetos no tienen un terminal correspondiente en el diagrama de bloques, por lo que no tiene incidencia en el tema de programación.

(14)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 10 de 59 Figura 10: CATEGORIA DECORACIONES DE LA ENTRADA

MODERN

1.5. VENTANA DEL DIAGRAMA DE BLOQUES (BLOCK DIAGRAM)

La ventana del Diagrama de Bloques del VI es aquella en donde se guarda la ESTRUCTURA ó EL CÓDIGO DEL PROGRAMA, es muy frecuente que esta ventana no pueda ser visualizada por el usuario final si el programador así lo dispone, LabVIEW utiliza recursos de seguridad que protegen el código del programa con un Passwoord o simplemente se remueve esta ventana, dentro del diagrama de bloques se encuentran LOS TERMINALES correspondientes a los objetos creados en el panel frontal, por lo que si se elimina un componente en una de las ventanas del Front Panel ó del Block Diagram automáticamente se elimina también su representativo en la otra ventana.

1.5.1. Barra de Herramientas del Diagrama de Bloques

La barra de herramientas del diagrama de bloques contiene los mismos botones que la barra de herramientas del panel frontal, adicionalmente a esto tiene cuatro herramientas útiles para depuración de errores.

El botón de animación de la ejecución. Presione este botón para habilitar la animación de la ejecución.

Modo animado, cuando la animación en la ejecución esta habilitada esta acción permite ver el flujo de los datos a través del diagrama de bloques El botón de Pasar Sobre. Oprima este botón para habilitar el modo paso a paso este modo permite para en cada uno de los nodos del VI.

El botón de Entrar A. Oprima este botón para entrar a un ciclo, SubVI, etc. Al entrar en el nodo usted esta listo para hacer ejecución paso a paso dentro del nodo.

El botón de Salir De. Oprima este botón para salir de un ciclo, SubVI, etc. Al salir de un nodo usted completa la ejecución paso a paso de este nodo y va hacia el siguiente nodo.

(15)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 11 de 59 1.5.2. Paleta de Funciones (FUNCTION PALETTE)

Los diagramas de bloques se construyen utilizando la paleta de funciones, cada opción en la paleta despliega una subcategoría con los iconos de alto nivel. Si la paleta de funciones no está visible se puede visualizar seleccionando del MENÚ la opción de VIEW y seleccionando FUNCTION PALETTE. La paleta de funciones también se puede accesar al dar anticlick sobre un área libre del Diagrama de Bloques. Para convertir la paleta flotante de funciones del modo anterior en una ventana estable, le damos click la tachuela ubicada en la esquina superior izquierda de la paleta.

(a) VENTANA (b) FLOTANTE (c) COMPRIMIDA Figura 11: FORMAS VISIBLES DE LA PALETA DE FUNCIONES

Al desplegar la entrada PROGRAMING (Programación) podemos visualizar las principales CATEGORIAS con las cuales podemos iniciar rápidamente la programación lógica de nuestra aplicación, Estas subcategorias son:

Numeric (Numérico). Contiene funciones elementales aritméticas, constantes numéricas, números complejos, y todo lo relacionado a tratamiento numérico de datos.

Boolean (Booleano). Contiene funciones que operan con datos booleanos, constantes y lógica booleana, también herramientas para convertir a formato numérico.

String (Cadena de Caracteres). Contiene funciones para manipular y operar texto como cadena de caracteres, también herramientas para convertir texto a otros formatos como numérico ó path.

(16)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 12 de 59 (a) NUMERIC (b) BOOLEAN (c) STRING Figura 12: CATEGORIAS DE LA ENTRADA PROGRAMMING

Structures (Estructuras). Contiene todos los ciclos y estructuras que se usan en programación tales como los ciclos for, while, case, etc. Asi como también nodos de formulas y mathscript.

Array (Arreglos). Contiene funciones para procesar arreglos de datos y matrices.

Comparison (Comparación). Contiene funciones de comparación de números, booleanos, cadenas de caracteres y todo tipo de datos.

(a) STRUCTURES (b) ARRAY (c) COMPARISON Figura 13: CATEGORIAS DE LA ENTRADA PROGRAMMING

(17)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 13 de 59 Cluster & Variant (Agrupamiento y Varianza). Contiene funciones para agrupar y desagrupar datos,

Timing (Temporizado). Contiene herramientas de control del tiempo como los temporizadores, tiempo del sistema y fecha del sistema.

File I/O (Manejo de Archivos). Contiene herramientas para gestionar y guardar datos en archivos y bases de datos de todo tipo.

Graphics & Sound (Gráficos y Sonidos). Contiene funciones para el manejo de sonidos, imaganens 2D, 3D, gráficos polares y otros.

Dialog & User Interface (Dialogo e Interface de Usuario). Contiene herramientas para el manejo de ventanas y cuadros de diálogo, manejo de ventanas de errores.

Waveform (Formas de Onda). Contiene funciones para el manejo de datos del tipo onda, datos digitales y analógicos.

Aplication Control (Control de Aplicaciones). Contiene herramientas de control que permiten ejecutar funciones de VI Server, imprimir programáticamente cambiar los menús de LabVIEW, mostrar las ventanas de ayuda y terminar o salir de LabVIEW.

Report Generation (Generación de Reportes). Contiene herramientas para generar reportes tipo impreso, tipo archivo, Excel, Word, html y otros.

Synchronization (Sincronización). Contiene funciones para sincronizar lazos dentro del VI.

Dentro de las ENTRADAS DESPLEGABLES encontramos una clasificación por grupos de herramientas y VIS para poder facilitar la programación en un nivel más profundo:

Entrada Measurement I/O (Medida In/Out) Contiene Funciones para manejar dispositivos de adquisición y envío de datos.

Entrada Instrument I/O (Instrumentos In/Out). Contiene Funciones para administrar dispositivos o instrumentos conectados por cualquiera de los protocolos (GPIB, Serial, NI, VISA, etc).

(18)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 14 de 59 Entrada Vision and Motion (Movimiento y Visión). Contiene Funciones básicas para el manejo de las interfases IMAQ y MOTION de National Instruments.

Entrada Matematics (Matematicas)

Contiene Funciones matemáticas trigonométricas, logarítmicas, estadísticas, algebra lineal, calculo, formulas etc.

Entrada Signal Procesing (Procesamiento de Señal). Contiene Funciones para tratamiento de señales como filtrado, análisis espectral, ajuste de curvas, etc…

Entrada Data Comunication (Comunicación de datos). Contiene VIS para implementar comunicación TCP, DDE, Serial, OLE.

Entrada Conectivity (Conectividad).

Contiene VIS para implementar conectividad vía puerto paralelo, control de dispositivos de ingreso.

Entrada Express (Expreso).

Contiene VIS y herramientas del tipo Express que facilitan la programación de l aplicación.

Entrada Select a VI (Seleccionar VI).

Importa VI’s creados y guardados en el disco duro para ingresarlos dentro de una aplicación de mayor nivel como un SUBVI (SUBPROGRAMA), lo que se conoce como PROGRAMACIÓN MODULAR.

1.6. MENÚS DESPLEGABLES

La barra de Menú que se encuentra en la parte superior de la pantalla de LabVIEW contiene varios menús Pull-Down (Desplegables), los cuales contienen opciones comunes para la mayoría de las aplicaciones tales como ABRIR, GUARDAR GRABAR, COPIAR Y PEGAR, Y mucho otros, así como también opciones particulares de personalización de la aplicación en LabVIEW.

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:

(19)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 15 de 59 Figura 14: VENTANAS DESPLEGABLES DE OBJETOS EN EL PANEL

FRONTAL Y EL DIAGRAMA DE BLOQUES

1.7. OPCIONES DE AYUDA

LabVIEW presenta varias opciones de ayuda para a la hora de programar. Las opciones usadas con más frecuencia en LabVIEW son el SHOW CONTEXT HELP (mostrar la ventana de ayuda), SEARCH THE LabVIEW HELP (Buscar ayuda en LabVIEW) y el FIND EXAMPLES (buscar ejemplos), los cuales los encontramos en la OPCION HELP del MENÚ.

1.7.1. SHOW CONTEXT HELP (mostrar la ventana de ayuda)

Para desplegar la ventana de ayuda seleccione Show Context Help (Mostrar Ayuda) del menú Help. Al colocar una de las herramientas de la paleta de herramientas sobre los objetos del diagrama y del panel frontal, la ventan de ayuda muestra el icono de los Sub VIS, funciones, constantes, controles e indicadores, y opciones de la caja de dialogo con los cables de cada Terminal. En la ventana todas las terminales son mostradas así como el tipo de dato según el color del cableado y el papel que desempeña dentro de la estructura del VI, también nos puede llevar hacia la opción LabVIEW HELP al hacer clic en Detailed Help.

Figura 15: VENTANA DEL CONTEXT HELP

1.7.2. SEARCH THE LabVIEW HELP (Buscar ayuda en LabVIEW)

Esta opción es una ayuda en Línea contiene una descripción de tallada de la mayoría de los objetos del diagrama de bloques. Se puede tener acceso a la ayuda

(20)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 16 de 59 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:

Figura 16: VENTANA LabVIEW HELP

1.7.3. FIND EXAMPLES (Buscar ejemplos)

Esta opción se accede igualmente desde el MENU y seleccionando FIND EXAMPLES, nos envía hacia la ventana NI EXAMPLE FINDER que es una aplicación de LabVIEW que administra los ejemplos ó programas desarrollados con código abierto y que nos sirven precisamente para analizarlos y aprender de ellos, estos ejemplos están clasificados por categorías, además cuenta con herramientas de búsquedas por el nombre asociado.

Figura 17: VENTANA DEL NI EXAMPLE FINDER

(21)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 17 de 59 RESUMEN, SUGERENCIAS Y TECLAS DE ACCESO DIRECTO

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.

(22)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 18 de 59

2. CAPITULO II: PROGRAMACIÓN DE UN VI EN LabVIEW

2.1. CREACIÓN DE UN VI

Los VI’s tienen 3 partes principales como ya se había visto: el panel frontal, el diagrama de bloques, y el Icono/Conector.

2.1.1. Creación del Panel Frontal

El panel frontal de un VI se construye con una combinación de controles e indicadores. Los controles son el medio por donde ingresan valores ó datos al VI.

Los indicadores despliegan los resultados ó datos generados por el VI. Se pueden añadir varios tipos de controles e indicadores en el panel frontal desde las diferentes CATEGORIAS de la Paleta de Controles

IMPORTANTE: El método recomendado para poner objetos en las ventanas de panel frontal y/o diagrama de bloques es dar ANTICLICK en un área libre de la ventana así puede tener acceso a la paleta de controles o de funciones de una manera más rápida.

- Controles e Indicadores Numéricos

Etiquetas

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.

- Controles e Indicadores Booleanos

Etiquetas

Los controles e indicadores se utilizan para dar y desplegar valores booleanos (Verdadero-Falso). Los objetos booleanos simulan interruptores, botones y leds.

Los objetos booleanos más comunes son el switch horizontal y el LED redondo.

IMPORTANTE: Se puede cambiar un objeto que inicialmente es CONTROL a un INDICADOR y viceversa, simplemente al hacer anticlick en el objeto y seleccionar CHANGE TO CONTROL ó CHANGE TO INDICATOR:

Control Digital

Indicador Digital

Control Booleano

Indicador Booleano

(23)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 19 de 59 (a) CONTROL A INDICADOR (b) INDICADO A CONTROL

Figura 18: MÉTODO CORRECTO PARA CAMBIAR UN OBJETO AL MODO CONTROL ó INDICADOR

2.1.2. Desarrollo del Diagrama de Bloques

Para desarrollar el diagrama de bloques del VI necesitamos utilizar nuestra LÓGICA DE PROGRAMACIÓN, y el conocimiento del manejo de herramientas lo cual se describe a continuación.

El diagrama de bloques está compuesto por terminales, funciones y cables, los terminales se crean automáticamente para cada objeto creado en el panel frontal, - TERMINALES: Son iconos en el diagrama de bloques que se crean

automáticamente para cada objeto existente del Panel Frontal y por medio de ellos podemos leer la DATA (Información numérica, booleana, cadena de caracteres, etc…) que tiene el objeto si es del tipo CONTROL, también por medio de los terminales podemos enviar la DATA al objeto si es del tipo INDICADOR.

- FUNCIONES: Las funciones también son iconos en el diagrama de bloques y realizan operaciones desde operaciones elementales (Suma, resta, producto, etc…), operaciones de comparación (mayor que, menor que, etc…), hasta operaciones de alto nivel (lectura y escritura de base de datos, enviar archivos por internet, comunicarse con dispositivos sensores, actuadores, etc…)

En los lenguajes de programación tradicionales basados en texto son conocidos como NODOS los cuales son estatutos ó subrutinas las cuales realizan operaciones.

En LabVIEW existen cuatro tipos de Funciones:

1. Funciones Elementales, operaciones aritméticas, de comparación, de conversión de formato y operaciones sencillas.

2. Estructuras, son los ciclos y estructuras lógicas usadas en programación, tales como ciclos While y For que controlan el flujo del programa

(24)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 20 de 59 3. Nodos de Interface de Código (Code Interfase Nodes-CINs), nos permiten

enviar y recibir la DATA con archivos, programas y hardware conectado a la PC.

4. Funciones de SubVI, son programas que fueron diseñados previamente y son llamados desde el diagrama de otro VI para realizar operaciones, cálculos y comunicación.

Todos estas funciones las encontramos clasificadas en CATEGORÍAS, de la PALETA DE FUNCIONES, y además de ellos nosotros podemos desarrollar nuestras propias funciones, esto se detalla en el CAPITULO VI.

La figura muestra un VI con terminales de entrada(controles) y salida(indicadores), además de las funciones suma y resta:

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.

2.1.3. Programando el Flujo de Datos

La ejecución de un programa de LabVIEW es gobernado por el principio de FLUJO DE DATOS. Un nodo se ejecuta únicamente cuando los datos están disponibles en todas sus terminales de entrada; cuando termina su ejecución, el

TERMINALES DE LOS INDICADORES

CABLES TERMINALES DE

LOS CONTROLES

CONTROLES INDICADORES

FUNCIONES

(25)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 21 de 59 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.

Ejemplo 2: ¿QUÉ SEGMENTO DE CÓDIGO SE EJECUTARA PRIMERO, LA MULTIPLICACIÓN O LA DIVISIÓN? No podemos saber porque las entradas en ambas áreas están disponibles al mismo tiempo. Las entradas de las funciones de número aleatorio, de suma, de multiplicación y de división son independientes una de otras por lo que se ejecutan simultáneamente. En una situación en la que no hay dependencia entre funciones y se desea ejecutar un segmento de código antes que otro es necesario ejecutar una estructura de Secuencia (Secuence Structure) para forzar el orden de ejecución.

(26)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 22 de 59 2.2. TIPOS DE DATOS EN LabVIEW

LabVIEW ofrece una gran variedad de tipos de datos con los que se pueden trabaja respondiendo a las necesidades reales que se puedan presentar, uno de los aspectos mas significativos de LabVIEW es la diferencia que efectúa en el diagrama de bloques entre los diferentes tipos de controles o indicadores, basada en que cada uno de ellos tiene un color diferente de este modo nos será mas fácil identificar si estamos trabajando con el tipo de datos adecuado. Se distinguen los siguientes tipos, los cuales pueden funcionar tanto como controles como indicadores.

2.2.1. Booleano (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 se pone a 1, entonces el valor el control o indicador es true (verdadero); por el contrario si este bit 15 vale 0, el valor de la variable booleana será false (falso).

2.2.2. Numérico (Naranja, Azul) Hay de diferentes tipos:

- 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.

- Quad Integer (Azul)

Los números enteros largos tienen con un formato de 64 bits, con o sin signo.

- Long Integer (Azul)

Los números enteros largos tienen un formato de 32 bits, con o sin signo.

- Word Integer (Azul)

Estos números tienen un formato de 16 bits, con o sin signo.

(27)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 23 de 59 - Byte Integer (Azul)

Tienen un formato de 8 bits con o sin signo.

- Unsigned Long (Azul) Entero largo sin signo.

- Unsigned Word (Azul) Palabra sin signo.

- Unsigned Byte (Azul) Byte largo sin signo.

- Complex Extended (Naranja)

Numero complejo con presición extendida.

- Complex Double (Naranja)

Numero complejo con presición doble.

- Complex Single (Naranja)

Numero complejo con presición simple.

2.2.3. String (Rosa)

Corresponden a una cadena de caracteres letras o números (bytes) leidos en formato de texto, LabVIEW almacena los strings como si fueran un array unidimensional de bytes enteros (caracteres de 8 bits).

2.2.4. Path (Verde Oscuro)

Mediante este tipo de datos podemos guardar reportes o archivos creados desde LabVIEW, así como también llamarlos para que la información contenida en el archivo pueda utilizarse nuevamente por cualquier VI cuando se requiera. Cada componente del Path es una cadena Pascal (P-string) en la cual el primer byte es la longitud de la P-string (sin incluir el byte de longitud).

2.2.5. Cluster (Marrón ó Rosa)

El cluster almacena diferentes tipos de datos que pueden ser booleanos, string, path (color rosa), numéricos (color marrón) o una combinación de datos (color marrón).

(28)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 24 de 59 2.2.6. Arrays (Depende del tipo de datos que contenga)

Array con datos Numericos:

Array con datos Booleanos:

Array con datos tipo String:

Array con datos tipo Path:

2.3. TÉCNICAS DE EDICIÓN

Para todas las operaciones siguientes utilizamos de la paleta de herramientas (TOOLS PALETTE) sólo la herramienta SELECCIÓN:

2.3.1. Cómo crear Objetos

Los objetos del panel frontal también se pueden crear desde el diagrama de bloques. Usted puede utilizar los nodos de LabVIEW para crear controles indicadores y constantes al oprimir el botón derecho del mouse sobre el nodo y seleccionar la opción deseada, en el panel frontal basta con arrastrar el objeto deseado desde la paleta de controles hacia el lugar en donde queremos crear el objeto.

2.3.2. Como seleccionar Objetos

La herramienta de posicionamiento selecciona objetos en las ventanas de panel frontal y del diagrama de bloques. Para seleccionar un objeto oprima el botón izquierdo del mouse mientras la herramienta de posicionamiento se encuentra sobre el objeto. Cuando el objeto esta seleccionado, aparecerá un marco punteado con movimiento al rededor de este. Para seleccionar más de un objeto mantenga seleccionado la tecla <Shift> y oprima el botón izquierdo del mouse sobre cada objeto que quiera seleccionar.

También se pueden seleccionar múltiples objetos al oprimir el botón izquierdo del mouse sobre un área libre y arrastrar el mouse hasta que todos los objetos se encuentren dentro del rectángulo de selección el cual aparece al arrastrar el mouse.

2.3.3. Cómo mover Objetos

Los objetos se pueden mover al oprimir el botón izquierdo del mouse sobre ellos con la herramienta de posicionamiento y arrastrarlos hacia la posición deseada.

Los objetos seleccionados también se pueden mover utilizando las teclas direccionales. Es posible restringir la dirección horizontal o vertical del objeto seleccionado al mantener presionada la tecla <Shift> al mover el objeto. La dirección en la que movámosle objeto inicialmente decidirá si el objeto esta limitado a desplazamiento horizontal o vertical.

(29)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 25 de 59 2.3.4. Cómo Borrar Objetos

Para borrar un objeto basta con seleccionarlo y presionar <Delete> ó elegir Clear del Menú Edit.

2.3.5. Undo/Redo (Deshacer/Rehacer)

Si usted comete un error al tratar de editar un VI en LabVIEW puede deshacer ó Rehacer los cambios al seleccionar las opciones Undo o Redo del menú Edit. El número predeterminado de acciones que se pueden deshacer o rehacer son 8, para cambiar este valor utilice la opción Preferentes >> Block Diagram >>

Maximium Undo Steps per VI que se encuentra en el menú Edit.

2.3.6. Duplicando Objetos (Clonación)

La mayoría de los objetos de LabVIEW se pueden duplicar. Para duplicar un objeto mantenga presionada la tecla <Ctrl> mientras oprime el botón izquierdo del mouse (CLICK), y arrastre la selección que va ser duplicada. Después de arrastrar la selección a su nueva posición y soltar el botón del mouse una copia del icono aparece en la nueva aparece en la nueva localidad y el icono original permanece en la localidad anterior. Este proceso se conoce como clonación.

También se pueden duplicar objetos las opciones de Copy (Copiar) y Paste (Pegar) del menú Edit, aunque esta forma no siempre resulta bien para algunos objetos por lo que se RECOMIENDA el método de clonación.

2.3.7. Asignar Nombres a los Objetos (Etiquetado/Label)

Para editar una etiqueta (Asignarle un nombre al objeto), elija la herramienta de etiquetado de la paleta de herramientas y después haga CLICK sobre la etiqueta del objeto y finalmente digite el texto en el recuadro.

Al crear objeto control, indicador ó cualquier objeto en el panel frontal, aparece una etiqueta por defecto en la parte superior, por lo que es necesario editarla para poder identificarla convenientemente tanto en el panel frontal como en el diagrama de bloques.

Para crear una etiqueta en un objeto que no tiene etiqueta ó tiene etiqueta por defecto, haga ANTICLICK sobre el objeto y seleccione la opción Label (Mostrar Etiqueta) de la opción Visible Items y escriba texto en el recuadro.

2.3.8. Seleccionar y Borrar Cables

El segmento de un cable (wire segment) es un pedazo de cable en posición horizontal o vertical. El punto en donde tres o cuatro segmentos se unen se llama juntura (juncture). La rama (branch) de un cable contiene todos los segmentos que van d una juntura hacia otra, desde una terminal a la siguiente juntura o de una terminal hacia otra si es que no existen junturas a la mitad. Es posible seleccionar un SEGMENTO del cable al hacer CLICK sobre él con la herramienta de SELECCIÓN. Al hacer doble CLICK selecciona una RAMA y al hacer triple CLICK, selecciona el CABLE COMPLETO.

(30)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 26 de 59

.

2.3.9. Cableado Incorrecto

Un cable representado mediante LÍNEAS DISCONTINUAS denota una CONEXIÓN INVÁLIDA ó un MAL CABLEADO. Dichas conexiones pueden ser causadas al conectar dos terminales de origen juntas, ó conectar un terminal de origen con un terminal de destino cuando el tipo de datos no es el mismo (por ejm al conectar un terminal numérico con uno booleano). Usted puede eliminar un cable malo al hacer CLICK y presionar la tecla <delete>. Al escoger Remove Broken Wires (Ctrl+B) del menú de Edit, se eliminaran todos los cables incorrectos del diagrama de bloques.

2.3.10. Copiar Objetos entre VIs ó desde otras Aplicaciones

Para copiar y pegar objetos desde un VI hacia otro puede utilizar los comandos de Copy, Cut y Paste del menú Edit. Utilizando los mismos comandos también se pueden copiar, pegar dibujos ó textos desde otras aplicaciones y pegarlas en LabVIEW. Si tiene dos VIs abiertos, se pueden copiar objetos entre VIs al arrastrar y soltar objetos entre los VIs.

2.3.11. Utilizando Color

Se puede seleccionar el color (sombras en gris en los monitores monocromáticos) de la mayoría de los objetos en LabVIEW. Para COLOREAR UN OBJETO, con la HERRAMIENTA COLOR SELECIONADA, hacemos ANTICLICK sobre el objeto que se quiere colorear y Luego se elije un color de selección que aparece. Si usted elije la caja con la T en ella, LabVIEW hace el objeto transparente. Con la opción T (transparente) también puede esconder la caja que esta alrededor de las etiquetas.

1 CLICK 2 CLICKS 3 CLICKS

Selecciona un segmento

Selecciona una rama

Selecciona un cable entero

Mala conexión Buena conexión

(31)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 27 de 59 2.4. TÉCNICAS DE DEPURACIÓN

2.4.1. Búsqueda de Errores

Cuando un VI no es ejecutable UNA FLECHA ROTA aparece SOBRE EL BOTÓN DE EJECUCIÓN en la paleta del panel del VI. Para ver una lista de los errores oprima el botón izquierdo del mouse sobre la flecha de ejecución rota. Oprima el botón izquierdo del mouse sobre uno de los errores listados y después oprima el botón izquierdo del mouse sobre Find para resaltar el objeto o la terminal que reporto el error.

2.4.2. Animación de la Ejecución

Usted puede animar la ejecución del diagrama de bloques al hacer CLICK sobre el botón de ANIMACIÓN DE LA EJECUCIÓN.

El símbolo cambia como se muestra a la izquierda de la figura. Usualmente la animación de la ejecución se utiliza junto con el modo de ejecución paso a paso para observar el flujo de los datos paso a paso en el diagrama de bloques.

2.4.3. Ejecución de un VI Paso a Paso

Para propósitos de depuración es posible que usted requiera ejecutar el diagrama de bloques nodo por nodo; esto se conoce como ejecución paso a paso, oprima el botón de entrar A, esta acción hace que el nodo parpadee para indicar que esta listo para ser ejecutado.

Una vez que el nodo este parpadeando hacemos clic sobre el botón de Pasar Sobre ó el botón Entrar A para ejecutar el VI y pasar al siguiente nodo. Si el nodo es una estructura o un VI se puede seleccionar el botón de Pasar Sobre para ejecutar el nodo en lugar de recorrerlo paso a paso.

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.

2.4.5. Puntos de Ruptura

Usted puede poner puntos de ruptura (breakpoints) en ciertos lugares de un VI (por ejemplo subVI’s, nodos o cables) para ver los datos utilizando un probador o para ejecutar el VI paso a paso. Para poder poner o quitar un punto de ruptura utilice la herramienta de los puntos de ruptura (set/clear Breakpoints) y hacer clic en el elemento en donde quiere colocar o quitar.

(32)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 28 de 59 RESUMEN, SUGERENCIAS Y TECLAS DE ACCESO DIRECTO

En LabVIEW los tipos de datos se diferencian por el color de sus terminales en el diagrama de bloques, y los principales son: NUMÉRICO(naranja, azul), BOOLEANO(verde), STRING(rosado).

Para ubicar el terminal que le corresponde a cada objeto del panel frontal, hay que hacer Doble CLICK sobre el objeto del panel frontal y automáticamente nos llevara a su terminal correspondiente en el diagrama de bloques.

Para CONVERTIR un objeto tipo control a indicador ó viceversa, hacemos ANTICLICK SOBRE EL OBJETO y seleccionamos la opción CHANGE TO CONTROL ó CHANGE TO INDICATOR según sea el caso, esto se puede hacer tanto desde el panel frontal como desde el diagrama de bloques.

Se recomienda a la hora de programar en LabVIEW el FLUJO DE DATOS de IZQUIERDA A DERECHA, manteniendo un orden y las ETIQUETAS de los objetos bien definidas para poder identificar a dicho objeto en todo momento.

Para poder editar los objetos en el panel frontal y del diagrama de bloques mayormente hacemos uso de la herramienta Selección

En el PANEL FRONTAL para cambiar de la herramienta SELECCIÓN a la herramienta OPERACIÓN de una manera rápida usamos la tecla BARRA ESPACIADORA.

En el DIAGRAMA DE BLOQUES para cambiar de la herramienta SELECCIÓN a la herramienta CABLEADO de una manera rápida usamos la tecla BARRA ESPACIADORA.

Si queremos depurar los cables incorrectos en el diagrama de bloques, pulsamos las teclas CTRL + B

Si queremos hallar un error en la programación ejecutamos el VI con el botón EJECUCIÓN y luego cuando aparezca la VENTANA DE ERRORES hacemos CLICK en el botón SHOW ERROR, esta operación se debe hacer para cada error.

(33)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 29 de 59

3. CAPITULO III: CICLOS Y ESTRUCTURAS EN LabVIEW

3.1. CICLOS Y ESTRUCTURAS

A la hora de programar, muchas veces es necesario ejecutar un mismo conjunto de sentencias un número determinado de veces, o que estas se repitan mientras se cumplan ciertas condiciones. También puede ocurrir que queramos ejecutar una u otra sentencia dependiendo de las condiciones fijadas o simplemente forzar que unas se ejecuten siempre antes que otras.

Para ello LabVIEW dispone de 4 estructuras fácilmente diferenciables por su apariencia y disponibles en STRUCTURES de la categoría PROGRAMING de la PALETA DE FUNCIONES en la ventana del diagrama de bloques.

Las estructuras se comportan como cualquier otra función en el diagrama de bloques, EJECUTANDO AUTOMÁTICAMENTE LO QUE ESTÁ PROGRAMADO EN SU INTERIOR, una vez que están disponibles todos los datos de entrada y una vez ejecutada las instrucciones requeridas suministran los correspondientes valores a los cables unidos a sus salidas. Sin embargo cada estructura ejecuta su SUBDIAGRAMA de acuerdo con las reglas específicas que rigen su comportamiento, un Subdiagrama es una colección de nodos, cables y terminales situados en el interior de un rectángulo que constituye la estructura.

3.2. CICLO WHILE

Un ciclo WHILE repite el código que se encuentra en el interior del rectángulo múltiples veces INDEFINIDAMENTE HASTA DARLE LA ORDEN. Para poner un ciclo WHILE en el diagrama de bloques es necesario seleccionarlo de la categoría STRUCTURES de la paleta de FUNCTIONS.

Después se hace CLICK SIN SOLTAR y luego se ARRASTRA al área de selección ALREDEDOR DEL CÓDIGO QUE QUIERE REPETIR. Al soltar el botón del mouse, los límites del ciclo WHILE encerraran el código que ha seleccionado como se muestra en la figura.

El ciclo WHILE es una CAJA REDIMENSIONABLE usted puede añadir elementos del diagrama de bloques a su ciclo WHILE, al arrastrarlos con el mouse y soltarlos dentro de los límites del área definida por dicho ciclo.

Terminal Condicional Terminal de Iteración

(34)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 30 de 59

PRIMERO SEGUNDO

(a) PRIMER PASO (b) SEGUNDO PASO Figura 19: MÉTODO PARA CREAR UN CICLO WHILE

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.

Figura 20: EJM DE CICLO WHILE

(35)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 31 de 59 3.3. CICLO FOR

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

Figura 21: EJM DE CICLO FOR

3.4. ESTRUCTURA CASE

Para colocara una estructura Case en la ventana del diagrama de bloques, selecciónela de categoría STRUCTURES de la paleta de FUNCTONESS. Puede encerrar EL CÓDIGO con la estructura case o arrastrar EL CÓDIGO hacia el interior de esta.

Terminal Contador

Terminal de Iteración

(36)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 32 de 59 La estructura CASE es análogo a las instrucciones CASE ó IF…THEN…ELSE…en lenguajes de programación convencionales basados en texto. La estructura CASE se interpreta como una baraja de cartas en donde únicamente se puede ver una carta a la vez. Cada carta o caso contiene un subdiagrama. Solamente se puede ejecutar un solo caso a la vez y su ejecución depende del valor conectado a la terminal de selección. La terminal de selección puede ser numérica o booleana. Si el tipo de dato es booleano la estructura se basa en un caso verdadero y un caso falso. Si el tipo de dato es numérico la estructura puede tener hasta 231 CASOS.

En la figura anterior se muestra una estructura Case Booleana.

Usted debe de definir el TÚNEL DE SALIDA para cada caso y al MOMENTO DE CREAR UN TÚNEL DE SALIDA EN ALGÚN CASO APARECERÁN TÚNELES ADICIONALES EN LA MISMA POSICIÓN EN TODOS LOS CASOS RESTANTES. Los túneles que no están conectados aparecerán en forma de un CUADRO BLANCO. ASEGÚRESE DE CONECTAR EL TÚNEL DE SALIDA PARA CADA CASO SIN CONECTAR (hacer click sobre cada caso para ver el túnel. También puede conectar una constante o un control a los casos que no estén conectados (HACER ANTICLICK EN EL CUADRO EN BLANCO Y SELECCIONAR CREATE CONTROL ó CREATE CONSTANT).

Si se enlaza un valor que no es del mismo tipo que el objeto que conectado a la terminal de selección, el valor será desplegado en rojo y el VI no podrá ejecutarse. Otro dato importante es que dado al posible error de redondeo que puede ocurrir en la aritmética de números de punto flotante, conectar números de punto flotante a las terminales de selección de la estructura de case no es una solución recomendable.

Al revisar las opciones del menú que aparecen al hacer ANTICLICK SOBRE LE BORDE DE LA ESTRUCTURA. Usted puede AÑADIR, DUPLICAR Ó QUITAR CASOS. También puede modificar el orden de los casos u ordenarlos. La opción Make This the Default Case del menú desplegable especifica que caso va a ejecutar si el valor de selección no está listado en la estructura case. El primer caso en la estructura tendrá la palabra Default en el valor de selección es necesario especificar un valor de Default para la estructura case si esta no contiene todos los valores posibles para la terminal de selección (casos numéricos y cadena de caracteres).

(37)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 33 de 59 3.5. ESTRUCTURA SEQUENCE

Flat Sequence Stacked Sequence

Para colocar una ESTRUCTURA DE SECUENCIA en el diagrama de bloques selecciónela de la categoría Structures, de la paleta de Funciones. Usted puede ya sea encerrar código con la estructura de secuencia ó arrastrar código hacia el interior de la misma.

La estructura de secuencia puede interpretarse como un ROLLO DE PELÍCULA en donde se ejecutan los diagramas en una secuencia establecida. En lenguajes de programación convencionales basados en texto las instrucciones se ejecutan en el orden en el que aparecen. En programación basada en flujo de datos, un nodo se ejecuta cuando todos los datos están disponibles en sus entradas, pero en ocasiones es necesario ejecutar algún nodo antes que otro. La estructura de secuencia es el mecanismo que permite a LabVIEW controlar el orden en el que se ejecutan los códigos.

El diagrama que va a ser ejecutado primero se coloca dentro del marco 0 (0..x), el segundo diagrama que va a ser ejecutado se coloca dentro del marco 1 (1..x), y así sucesivamente. El símbolo (0..x) representa el rango de marcos existentes en la estructura de secuencia. Al igual que la estructura case solamente un marco es visible a la vez.

- 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.

3.6. ESTRUCTURA NODO DE FÓRMULAS

Para colocar un Nodo de Formulas en la ventana del diagrama de bloques selecciónenla de la categoría de Structures de la paleta de Funciones. Usted puede escribir ecuaciones dentro el nodo de formulas utilizando la herramienta de etiquetado (texto).

(38)

EDGAR JULIÁN / ÁNGEL ALMIDÓN Página 34 de 59 El nodo de formulas también es una CAJA REDIMENSIONABLE que se utiliza para escribir ecuaciones algebraicas 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. Por ejemplo considere la ecuación y=(x1+x2+x3)/3; si usted implementa esta ecuación utilizando funciones aritméticas convencionales de LabVIEW el diagrama de bloques correspondiente será como se muestra en la figura siguiente:

Con el Nodo de Formulas USTED PUEDE ESCRIBIR UNA FORMULA ó MUCHAS FORMULAS COMPLICADAS, en lugar de crear extensos diagramas de bloques. Usted puede crear las terminales de entrada y salida del nodo de fórmulas haciendo ANTICLICK en el borde del nodo y seleccionando ADD INPUT PARA LAS ENTRADAS ó ADD OUTPUT PARA LAS SALIDAS. La formula ó formulas deben ser escritas dentro de la caja. CADA ECUACIÓN DEBE DE TERMINAR CON UN PUNTO Y COMA (;).

No hay límite para un número de variables ó de formulas y nunca podrá haber dos entradas o dos salidas con el mismo nombre, aunque una salida podrá tener el mismo nombre que una entrada. Todas las variables de salida deberán estar asignadas a una formula al menos una vez.

Se debe de tener cuidado con las MAYÚSCULAS Y MINÚSCULAS ya que utilizando ésta herramienta SE DIFERENCIAN las variables también de ese modo, si creamos dos variables una: x, y otra: X, estaríamos hablando de dos variables distintas, por lo que se debe de tener CUIDADO.

Entradas Numéricas

(INPUT’s) Salida Numérica

(OUTPOUT) Formula

Referencias

Documento similar