Trabajo LabVIEW

45
INSTITUTO TECNOLÓGICO DE MINATITLÁN LabVIEW PARA SISTEMAS BÁSICOS DE CONTROL AUTOR: RAFAEL GONZÁLEZ RAMÍREZ ASESOR: ANASTACIO WILFRIDO GARCÍA NÚÑEZ 6 DE DICIEMBRE DEL AÑO 2013

Transcript of Trabajo LabVIEW

Page 1: Trabajo LabVIEW

INSTITUTO TECNOLÓGICO DE MINATITLÁN

LabVIEW PARA SISTEMAS BÁSICOS DE CONTROL

AUTOR: RAFAEL GONZÁLEZ RAMÍREZ

ASESOR: ANASTACIO WILFRIDO GARCÍA NÚÑEZ

6 DE DICIEMBRE DEL AÑO 2013

Page 2: Trabajo LabVIEW

2

ÍNDICE

INTRODUCCIÓN 3

MARCO TEÓRICO 4

PLANTEAMIENTO DEL PROBLEMA 9

HIPÓTESIS 10

OBJETIVO 11

JUSTIFICACIÓN 12

ALCANCE 13

IMPACTOS 14

METODOLOGÍA 15

DESARROLLO 16

PANEL FRONTAL 17

DIAGRAMA DE BLOQUES 18

PALETAS 20

PROGRAMACIÓN EN LABVIEW 25

EJECUCIÓN DE UN VI 26

ESTRUCTURAS 28

DAQ 33

APLICACIÓN 38

CRONOGRAMA 42

CONCLUSIÓN 43

RECOMENDACIONES 44

BIBLIOGRAFÍA 45

Page 3: Trabajo LabVIEW

3

INTRODUCCIÓN

LabVIEW (acrónimo de Laboratory Virtual Instrumentation Engineering

Workbench) es una plataforma y entorno de desarrollo para diseñarsistemas, con

un lenguaje de programación visual gráfico. Recomendado para sistemas

hardware y software de pruebas, control y diseño, simulado o real y embebido,

pues acelera la productividad. El lenguaje que usa se llama lenguaje G, donde la

G simboliza que es lenguaje Gráfico.

Este programa fue creado por National Instruments (1976) para funcionar sobre

máquinas MAC, salió al mercado por primera vez en 1986. Ahora está disponible

para las plataformas Windows, UNIX, MAC y GNU/Linux. La última versión es la

2013, con la increíble demostración de poderse usar simultáneamente para el

diseño del firmware de un instrumento RF de última generación, a la programación

de alto nivel del mismo instrumento, todo ello con código abierto.

Los programas desarrollados con LabVIEW se llaman Instrumentos Virtuales, o

VIs, y su origen provenía del control de instrumentos, aunque hoy en día se ha

expandido ampliamente no sólo al control de todo tipo de electrónica

(Instrumentación electrónica) sino también a su programación embebida,

comunicaciones, matemáticas, etc. Un lema tradicional de LabVIEW es: "La

potencia está en el Software", que con la aparición de los sistemas multinúcleo se

ha hecho aún más potente. Entre sus objetivos están el reducir el tiempo de

desarrollo de aplicaciones de todo tipo (no sólo en ámbitos de Pruebas, Control y

Diseño) y el permitir la entrada a la informática a profesionales de cualquier otro

campo. LabVIEW consigue combinarse con todo tipo de software y hardware,

tanto del propio fabricante -tarjetas de adquisición de datos, PAC, Visión,

instrumentos y otroHardware- como de otros fabricantes.

Page 4: Trabajo LabVIEW

4

MARCO TEÓRICO

A través del marco teórico y referencial se expresa el origen del software LabVIEW

y su importancia, algunos conceptos, utilización y características dadas por los

propios fabricantes.

Posteriormente, se presenta una descripción general sobre la finalidad de un

Hardware de Adquisición de Datos (DAQ) con un pequeño diagrama basado en

PC de adquisición de datos. [5]

Luego se realiza una breve reseña sobre la relación que existe entre National

Instruments y la empresa fabricante de la DAQ - elegida por nosotros - ,

Measurement Computing.

Finalmente, se da explica la función de pequeñas utilidades que son necesarias

para nuestro trabajo final

LabVIEW fue creado en 1976 por le empresa National Instruments (NI) con el

propósito de funcionar sobre máquinas Apple Macintosh (MAC). Actualmente está

disponible en los principales sistemas operativos utilizados en el mundo, como es

Windows y Linux, entre otros.[4]

El 16 de abril de 2007, National Instruments anunció la disponibilidad de una

nueva versión de LabVIEW, como es LabVIEW 8.2.1 éste software puede ser

utilizado en la versión más nueva del sistema operativo de Microsoft (Windows

Vista).

“LabVIEW es un revolucionario entorno de desarrollo gráfico con funciones

integradas para realizar adquisición de datos, control de instrumentos, análisis de

medida y presentaciones de datos. LabVIEW le da la flexibilidad de un potente

ambiente de programación, pero mucho más sencillo que los entornos

tradicionales”. [5]

Page 5: Trabajo LabVIEW

5

Esta definición es bastante clara, el software LabVIEW tiene funciones

específicas para acelerar el desarrollo de aplicaciones de medida, control y

automatización, nos proporciona herramientas poderosas para que el usuario

pueda crear aplicaciones sin líneas de código (lenguaje G) y nos permite colocar

objetos ya construidos para lograr crear interfaces de usuario rápidamente.

Después es uno mismo el que específica las funciones del sistema construyendo

diagramas de bloques.

No podemos dejar de mencionar que LabVIEW se puede conectar con todo tipo

de hardware incluyendo instrumentos de escritorio, tarjetas insertables,

controladores de movimiento y controladores lógicos programables (PLCs).

Otra de las razones que explican la importancia y le dan un punto a favor a este

software es que como las necesidades de las aplicaciones van cambiando con el

tiempo, los sistemas definidos y creados por el usuario de LabVIEW tienen la

movilidad y la flexibilidad necesaria para adecuarse sin la necesidad de incorporar

equipos nuevos.

Por lo descrito anteriormente, un sistema basado en LabVIEW, simplifica el

desarrollo de sistemas y tiene la habilidad de reutilizar su código, tiene acceso a

sistemas de instrumentación completos con un coste mucho más bajo que un

único instrumento comercial.

Sus principales usos son en la adquisición y procesamiento de datos,

automatización industrial, control de instrumentos, diseños de control, etc.

Hoy en día, científicos, ingenieros, técnicos y estudiantes utilizan LabVIEW para

desarrollar soluciones que respondan a sus interrogantes más exigentes, es por

ello que damos fe que su principal característica es la facilidad de uso que posee.

También resulta válido para personas con pocos conocimientos en programación,

ya que pueden realizar programas relativamente complejos, imposibles para ellos

Page 6: Trabajo LabVIEW

6

y a veces hasta para uno mismo con los lenguajes tradicionales.

LabVIEW posee facilidad de manejo para las siguientes interfaces de

comunicación:

Puerto serie

Puerto paralelo

GPIB

PXI

USB

VXI

TCP/IP

UDP Datasocket

Irda, bluetooth

OPC

LabVIEW posee la capacidad de interactuar con otros lenguajes

y aplicaciones:

o DLL (librerías de funciones), .NET, ActiveX, MultiSim, Matlab/Simulink,

AutoCAD, SolidWorks, etc.

o Herramientas gráficas y textuales para el procesado digital de señales.

o Visualización y manejo de gráficas con datos dinámicos.

o Adquisición y tratamiento de imágenes.

o Control de movimiento (combinado incluso con todo lo anterior).

o Tiempo Real estrictamente hablando.

Page 7: Trabajo LabVIEW

7

o Programación de FPGA para control o validación.

o Sincronización entre dispositivos.

National Instruments sostiene:

“La adquisición de datos es el proceso de obtener o generar información de

manera automatizada desde recursos de medidas analógicas y digitales como

sensores y dispositivos bajo prueba. Utiliza una combinación de hardware y

software basados en PC para brindar un sistema de medida flexible y definido

por el usuario.” [3]

Es por lo anterior que los dispositivos DAQ son instrumentos, ideales para una

gran variedad de aplicaciones, desde registros de datos simples hasta

sistemas integrados, ya que han sido diseñados con el propósito general de

medir señales de voltaje.

National Instruments en el año 2006 se expandió al adquirir a Measurement

Computing que es una empresa que desarrolla tarjetas de adquisición de datos

de bajo coste para interfaces ISA, PCI y USB para computadoras personales. De

este modo, como NI es una empresa que desarrolla tecnología en

instrumentación virtual, el software NI LabVIEW ya funciona con los productos de

esta compañía con sus respectivos Drivers.[4]

Un dispositivo de este tipo, por ejemplo, el USB 1208FS posee 8 canales de

entrada análoga. Tiene una resolución de 12-BIT, 50 kilo muestras/segundo (tasa

de muestreo), dos salidas de D/A y 16 Digital I/O, en una presentación miniatura

atractiva. Todas las señales son accesibles con tornillos en las terminales

laterales. Conexión por USB.

Page 8: Trabajo LabVIEW

8

Para dar funcionamiento a nuestro trabajo práctico es necesario instalar además

de LabVIEW 8.2 dos utilidades necesarias:

• InstaCal v5.82

• Drivers UL for LabVIEW 7.11a

InstaCal es un pequeño software (15,84 MB) de la empresa Measurement

Computing Corporation (MCC) que maneja completamente el hardware de una

DAQ, ¿qué quiere decir esto? Por ejemplo cuando uno instala un dispositivo

USB, PCI o PCMCIA, InstaCal detecta el hardware y asigna los recursos

automáticamente. También existe la opción de que el usuario pueda ajustar las

características del hardware según sea su necesidad.

ULforLabVIEW711a es un archivo que contiene distintos drivers para la

simulación de algunos dispositivos de adquisición de datos en LabVIEW. La

versión 7.11a indica que podemos instalarlo en LabVIEW 8.0 o superior.

Page 9: Trabajo LabVIEW

9

PLANTEAMIENTO DEL PROBLEMA

El problema a resolver es la falta de información con respecto a este tipo de

herramientas en las carreras de ingeniería, aunque esta herramienta o este tipo de

herramientas se piensan para objetivos o desarrollos un poco más específicos del

alcance de una ingeniería, se hace necesario utilizarlas en las materias de control.

Los estudiantes de ingeniería, desgraciadamente pocas veces egresan con el

conocimiento necesario para diseñar, y explotar todo el perfil de la ingeniería, este

problema se podría solucionar ofreciendo más oportunidades de aprender, y así

obtener una comprensión completa de parte de los alumnos y al mismo tiempo

alentar o promover el interés en las aplicaciones de la materia.

Page 10: Trabajo LabVIEW

10

HIPÓTESIS

Al conocer las herramientas del LabView (que es el labview) necesarias para

realizar programas visuales para aplicaciones en control de procesos generales.

Page 11: Trabajo LabVIEW

11

OBJETIVO GENERAL

Investigar analíticamente, la herramienta de programación LabVIEW con el

propósito de que las futuras generaciones lo utilicen con fines didácticos.

OBJETIVOS ESPECÍFICOS

Dar a conocer la forma de simular procesos básicos de control

Explicar distintas herramientas para el manejo básico del programa LabVIEW.

Explicar un programa, para mayor entendimiento del usuario y utilizar un lenguaje

simple con el mismo objetivo.

Creación de un VI intuitivo y de fácil manejo en LabVIEW para el usuario final,

que sirva para entender el control proporcional puro

Visualizar a medida que van cambiando la señal de control a través de un

indicador.

Crear curiosidad y motivación en los estudiantes de ingeniería con la información

dada, con el propósito de impulsarlos a indagar más sobre el tema.

Proporcionar un conocimiento básico del manejo de LabVIEW.

Page 12: Trabajo LabVIEW

12

JUSTIFICACIÓN

Este proyecto tiene el fin de transformar la manera de pensar de pensar de los

estudiantes de ingeniería electrónica y de sistemas, el problema de desinterés por

parte de éstos es cada día más preocupante, el cual es causado por falta de

motivación o ignorancia de distintos temas base.

Las consecuencias de este problema es un rendimiento bajo de los estudiantes y

el bajo aprovechamiento de las clases.

Este trabajo busca un fácil entendimiento tanto de estudiantes recién ingresados

como los de semestres avanzados para motivarlos a desarrollar programas de

apoyo para los proyectos de la carrera.

Page 13: Trabajo LabVIEW

13

ALCANCE

El alcance de esta investigación llegará a proporcionar un conocimiento básico del

manejo de LabView, sobre las herramientas básicas en la programación de una

aplicación basada en la simulación de un controlador estable.

Se verán las distintas herramientas con las características necesarias para el buen

entendimiento y fácil manejo de dicho programa por parte del lector.

Se darán a conocer distintas paqueterías necesarias para interactuar con variables

reales.

Los cálculos de funciones de transferencia de una planta no aplican en esta

investigación, ni cualquier conocimiento específico acerca de teoría de control,

solo conocimientos básicos (diagrama a bloques de distintos controladores con el

fin de conocerlos para que sea posible seguir un algoritmo para una programación

eficaz).

Los conocimientos básicos de programación quedan fuera de esta investigación

(concepto de algoritmo, concepto y uso de diagramas de flujo, concepto de

palabra reservada). Sin embargo se explicará la función de algunos ciclos con el

fin de que cualquier lector pueda llevar a cabo la aplicación que se explicara

posteriormente.

Se expondrá el DAQ (Data Acquisition) de la marca National Instruments, con el

fín de informar de la existencia de dispositivos para distintos gustos y

comodidades.

Se conocerá la interfaz gráfica de LabView para mayor familiarización.

Page 14: Trabajo LabVIEW

14

IMPACTO ÉTICO, SOCIAL, TECNOLÓGICO, ECONÓMICO Y AMBIENTAL

El impacto ético y social de éste trabajo es sobre todo, que al ser una motivación,

ayudará a la sociedad a obtener mejor calidad de vida a largo plazo, eso trae

consigo mucho más impacto, pues la motivación en sí es el motor de una persona

para salir adelante y ser líderes seguros de lo que quieren y de su meta a lograr.

El impacto tecnológico es importante, ya que gracias a las herramientas

presentadas en éste trabajo, se pueden hacer distintos sistemas, éste trabajo

funciona como guía básica para empezar a desarrollar proyectos propios

importantes.

El impacto económico irá de la mano con todos los anteriores, pues al influir en

los alumnos de ingeniería como motivación para salir adelante, la calidad de vida

a largo plazo de los mismos.

Page 15: Trabajo LabVIEW

15

METODOLOGÍA

La presente investigación es de tipo documental informativa o expositiva por lo

que se expondrá el tema cubriendo los alcances planteados para dar a conocer a

los estudiantes de ingeniería una herramienta para realizar prácticas de control de

procesos, teoría de control y control digital, con el fin de impulsar a los futuros

ingenieros a adentrarse a los temas que los catedráticos tocan en el salón de

clase, se recopilará información de distintas fuentes y se ordenará de forma que

se explique desde lo más básico de la materia hasta lograr hacer una aplicación,

para mayores aclaraciones en la materia, se colocarán imágenes ilustrativas (tanto

propias como de distintas fuentes) con el fin de dar a conocer ejemplos y para

mayor familiarización con el entorno y jerga del programa.

Toda la información de este trabajo es de fuentes confiables, por lo que lo

expuesto en esta investigación documental, será seguramente útil a quien le

interesa aprender un poco de este programa y la forma de programar.

Page 16: Trabajo LabVIEW

16

DESARROLLO

LabVIEW constituye un revolucionario sistema de programación gráfica para

aplicaciones que involucren adquisición, control, análisis y presentación de datos.

Las ventajas que proporciona el empleo de LabVIEW se resumen en las

siguientes:

• Se reduce el tiempo de desarrollo de las aplicaciones al menos de 4 a 10 veces,

ya que es muy intuitivo y fácil de aprender.

• Dota de gran flexibilidad al sistema, permitiendo cambios y actualizaciones tanto

del hardware como del software.

• Da la posibilidad a los usuarios de crear soluciones completas y complejas.

• Con un único sistema de desarrollo se integran las funciones de adquisición,

análisis y presentación de datos.

• El sistema está dotado de un compilador gráfico para lograr la máxima velocidad

de ejecución posible.

• Tiene la posibilidad de incorporar aplicaciones escritas en otros lenguajes.

LabVIEW es un entorno de programación destinado al desarrollo de aplicaciones,

similar a los sistemas de desarrollo comerciales que utilizan el lenguaje C o

BASIC. Sin embargo, LabVIEW se diferencia de dichos programas en un

importante aspecto: los citados lenguajes de programación se basan en líneas de

texto para crear el código fuente del programa, mientras que LabVIEW emplea la

programación gráfica o lenguaje G para crear programas basados en diagramas

de bloques. [1]

Page 17: Trabajo LabVIEW

17

Para el empleo de LabVIEW no se requiere gran experiencia en programación, ya

que se emplean iconos, términos e ideas familiares a científicos e ingenieros, y se

apoya sobre símbolos gráficos en lugar de lenguaje escrito para construir las

aplicaciones. Por ello resulta mucho más intuitivo que el resto de lenguajes de

programación convencionales.

Existen extensas librerías de funciones y subrutinas. Además de las funciones

básicas de todo lenguaje de programación, LabVIEW incluye librerías específicas

para la adquisición de datos, control de instrumentación VXI, GPIB y comunicación

serie, análisis presentación y guardado de datos.

Este programa también proporciona potentes herramientas que facilitan la

depuración de los programas.

Los programas desarrollados mediante LabVIEW se denominan Instrumentos

Virtuales (VIs), porque su apariencia y funcionamiento imitan los de un instrumento

real. Sin embargo son análogos a las funciones creadas con los lenguajes de

programación convencionales. Los VIs tienen una parte interactiva con el usuario y

otra parte de código fuente, y aceptan parámetros procedentes de otros VIs.[2]

Todos los VIs tienen un panel frontal y un diagrama de bloques. Las paletas

contienen las opciones que se emplean para crear y modificar los VIs. A

continuación se procederá a realizar una somera descripción de estos conceptos.

PANEL FRONTAL

Se trata de la interfaz gráfica del VI con el usuario. Esta interfaz recoge las

entradas procedentes del usuario y representa las salidas proporcionadas por el

programa. Un panel frontal está formado por una serie de botones, pulsadores,

potenciómetros, gráficos, etc. (INSTRUMENTS, Fundamentos del Entorno de

LabView, 2013) [1].

Page 18: Trabajo LabVIEW

18

Cada uno de ellos puede estar definido como un control o un indicador. Los

primeros sirven para introducir parámetros al VI, mientras que los indicadores se

emplean para mostrar los resultados producidos, ya sean datos adquiridos o

resultados de alguna operación.

En la Figura 1 se muestran ejemplos de controladores e indicadores.

Controladores Indicador

Figura 1: Panel

Frontal

DIAGRAMA DE BLOQUES

El diagrama de bloques constituye el código fuente del VI. En el diagrama de

bloques es donde se realiza la implementación del programa del VI para controlar

o realizar cualquier procesado de las entradas y salidas que se crearon en el panel

frontal. (INSTRUMENTS, Fundamentos del Entorno de LabView, 2013)

El diagrama de bloques incluye funciones y estructuras integradas en las librerías

que incorpora LabVIEW. En el lenguaje G las funciones y las estructuras son

nodos elementales. Son análogas a los operadores o librerías de funciones de los

lenguajes convencionales.

Page 19: Trabajo LabVIEW

19

Los controles e indicadores que se colocaron previamente en el Panel Frontal, se

materializan en el diagrama de bloques mediante los terminales. Un ejemplo en la

figura 2.

Figura 2: Diagrama de

bloques

Función Terminal Estructura

La imagen anterior es un ejemplo de un programa desarrollado en el lenguaje G

de LabVIEW y sus partes.

El diagrama de bloques se construye conectando los distintos objetos entre sí,

como si de un circuito se tratara. Los cables unen terminales de entrada y salida

con los objetos correspondientes, y por ellos fluyen los datos.

Page 20: Trabajo LabVIEW

20

LabVIEW posee una extensa biblioteca de funciones, entre ellas, aritméticas,

comparaciones, conversiones, funciones de entrada/salida, de análisis, etc.

Las estructuras, similares a las declaraciones causales y a los bucles en lenguajes

convencionales, ejecutan el código que contienen de forma condicional o repetitiva

(bucle for, while, case,...).

Los cables son las trayectorias que siguen los datos desde su origen hasta su

destino, ya sea una función, una estructura, un terminal, etc. Cada cable tiene un

color o un estilo diferente, lo que diferencia unos tipos de datos de otros.

PALETAS

Las paletas de LabVIEW proporcionan las herramientas que se requieren para

crear y modificar tanto el panel frontal como el diagrama de bloques.

(INSTRUMENTS, Fundamentos del Entorno de LabView, 2013)

HERRAMIENTAS (TOOLS PALETTE)

A continuación se presentan los iconos de los botones de la “tools palette” y se

describirán sus funciones.

Operating tool – Cambia el valor de los controles

Positioning tool – Desplaza, cambia de tamaño y selecciona los objetos.

Labeling tool – Edita texto y crea etiquetas.

Wiring tool – Une los objetos en el diagrama de bloques.

Object Pop-up Menu tool – Abre el menú desplegable de un objeto.

Page 21: Trabajo LabVIEW

21

Scroll tool – Desplaza la pantalla sin necesidad de emplear las barras de

Breakpoint tool – Fija puntos de interrupción de la ejecución del programa

en VIs, funciones y estructuras.

Probe tool – Crea puntos de prueba en los cables, en los que se puede

visualizar el valor del dato que fluya por dicho cable en cada instante.

Color Copy tool – Copia el color para después establecerlo mediante la

siguiente herramienta.

Color tool – Establece el color de fondo y el de los objetos.

P A L E T A D E C O N T R O L E S (CONTROLS PALETTE)

Se utiliza únicamente en el panel frontal. Contiene todos los controles e

indicadores que se emplearán para crear la interfaz del VI con el usuario,

nuevamente se presentan los íconos, nombres y funciones de las herramientas:

Numeric – Para la introducción y visualización de cantidades numéricas.

Boolean – Para la entrada y visualización de valores booleanos

String & Table – Para la entrada y visualización de texto.

List & Ring – Para visualizar y/o seleccionar una lista de opciones.

Array & Cluster – Para agrupar elementos.

Page 22: Trabajo LabVIEW

22

Graph – Para representar gráficamente los datos.

Path & RefNum – Para gestión de archivos.

Decorations – Para introducir decoraciones en el panel frontal. No

visualizan datos.

User Controls – Para elegir un control creado por el propio usuario.

ActiveX – Para transferir datos y programas de unas aplicaciones a otras

dentro de Windows.

Select a Control – Para seleccionar cualquier control.

(INSTRUMENTS, Fundamentos del Entorno de LabView, 2013)

Al seleccionar objetos desde el menú Controls estos aparecen sobre el panel

frontal, pueden colocarse donde convenga, y además tienen su propio menú

desplegable que permite la configuración de algunos parámetros específicos de

cada tipo de control.

PALETA DE FUNCIONES (FUNCTIONS PALETTE)

Se emplea en el diseño del diagrama de bloques. La paleta de funciones contiene

todos los objetos que se emplean en la implementación del programa del VI, ya

sean funciones aritméticas, de entrada/salida de señales, entrada/salidad de datos

a fichero, adquisición de señales, temporización de la ejecución del programa.

Para seleccionar una función o estructura concretas, se debe desplegar el menú

Page 23: Trabajo LabVIEW

23

Functions y elegir entre las opciones que aparecen. A continuación se enumeran

todas ellas, junto con una pequeña definición. (INSTRUMENTS, Fundamentos del

Entorno de LabView, 2013)

Structures – Muestra las estructuras de control del programa, junto con las

variables locales y globales.

Numeric – Muestra funciones aritméticas y constantes numéricas.

Boolean – Muestra funciones y constantes lógicas.

String – Muestra funciones para manipular cadenas de caracteres, así como

constantes de caracteres.

Array – Contiene funciones útiles para procesar datos en forma de vectores,

así como constantes de vectores.

Cluster – Contiene funciones útiles para procesar datos procedentes de

gráficas y destinados a ser representados en ellas, así como las correspondientes

constantes.

Comparison – Muestra funciones que sirven para comparar números,

valores booleanos o cadenas de caracteres.

Page 24: Trabajo LabVIEW

24

Time & Dialog – Contiene funciones para trabajar con cuadros de diálogo,

introducir contadores y retardos, etc.

File I/O – Muestra funciones para operar con ficheros.

Communication – Muestra diversas funciones que sirven para comunicar

varios ordenadores entre sí, o para permitir la comunicación entra distintos

programas.

Instrument I/O – Muestra un submenú de VIs, que facilita la comunicación

con instrumentos periféricos que siguen la norma ANSI/IEEE 488.2-1987, y el

control del puerto serie.

Data Acquisition – Contiene a su vez un submenú donde puede elegirse

entre distintas librerías referentes a la adquisición de datos.

Analysis – Contiene un submenú en el que se puede elegir entre una amplia

gama de funciones matemáticas de análisis.

Tutorial – Incluye un menú de VIs que se utilizan en el manual LabVIEW

Tutorial.

Advanced – Contiene diversos submenús que permiten el control de la

ayuda, de los VIs, manipulación de datos, procesado de eventos, control de la

memoria, empleo de programas ejecutables o incluidos en librerías DLL, etc.

Page 25: Trabajo LabVIEW

25

Instrument drivers – En él se muestran los drivers disponibles de distintos

instrumentos.

User Libraries – Muestra as librerías definidas por el usuario. En este caso,

la librería mostrada contiene los drivers de la tarjeta de adquisición de datos de

Advantech.

Aplication control – Contiene varias funciones que regulan el

funcionamiento de la propia aplicación en ejecución.

Select a VI – Permite seleccionar cualquier VI para emplearlo como subVI.

PROGRAMACIÓN EN LABVIEW

Con el entorno gráfico de programación de LabVIEW se comienza a programar a

partir del panel frontal. (ELECTRÓNICA, 2006)

En primer lugar se definirán y seleccionarán de la paleta de controles todos los

controles (entradas que dará el usuario) e indicadores (salidas que presentará en

pantalla el VI) que se emplearán para introducir los datos por parte del usuario y

presentar en pantalla los resultados.

Una vez colocados en la ventana correspondiente al panel frontal todos los objetos

necesarios, debe pasarse a la ventana Diagram (menú Windows > Show

Diagram), que es donde se realiza la programación propiamente dicha (diagrama

de bloques). Al abrir esta ventana, en ella se encuentran los terminales

correspondientes a los objetos situados en el panel frontal, dispuestos

automáticamente por LabVIEW.

Page 26: Trabajo LabVIEW

26

Se deben ir situando las funciones, estructuras, etc. que se requieran para el

desarrollo del programa, las cuales se unen a los terminales mediante cables.

Para facilitar la tarea de conexión de todos los terminales, en el menú “Help”

puede elegirse la opción “Show Help”, con lo que al colocar el cursor del ratón

sobre un elemento aparece una ventana con información relativa a éste

(parámetros de entrada y salida).

Además, si se tiene seleccionado el cursor de cableado, al situar éste sobre un

elemento se muestran los terminales de forma intermitente.

EJECUCIÓN DE UN VI

Una vez se ha concluido la programación del VI se debe proceder a su ejecución.

Para ello la ventana activa debe ser el panel frontal (si se está en la ventana del

diagrama de bloques, se debe seleccionar la opción Show Panel del menú

Window). (INTRANET, 2012)

Una vez situados en el panel frontal, se pulsará el botón de Run, situado en la

barra de herramientas (Figura 3.)

Figura 3. Run

El programa comenzará a ejecutarse. Mientras dura la ejecución del mismo, la

apariencia del botón de Run es la que se muestra a continuación en la figura 4

Page 27: Trabajo LabVIEW

27

Figura 4. Barra de herramientas con Programa en

ejecución.

De este modo el programa se ejecutará una sola vez. Si se desea una ejecución

continua, se pulsará el botón situado a la derecha del de Run (Continuous Run). Si

durante el funcionamiento continuo del programa se vuelve a pulsar el citado

botón, se finalizará la última ejecución del mismo, tras lo cual el programa se

parará. (INSTRUMENTS, Estructuras de ejecución en NI LabView, 2012)

Figura 5. Continuos Run

Para finalizar la ejecución de un programa se puede operar de dos formas. La

primera, y la más aconsejable, es emplear un botón en el panel frontal del VI, cuya

pulsación produzca la interrupción del bucle de ejecución de la aplicación.

Figura 6. Stop

Page 28: Trabajo LabVIEW

28

La segunda forma de detener la ejecución del VI es pulsando el botón de pausa o

el de stop. La diferencia entre ambos es que si se pulsa stop, la ejecución del

programa finaliza inmediatamente, mientras que si se pulsa pausa, se produce

una detención en el funcionamiento del programa, retomándose su ejecución una

vez se vuelve a pulsar el mismo botón.

Figura 7. Stop y Pausa

ESTRUCTURAS

En la paleta de funciones la primera opción es la de las estructuras. Éstas

controlan el flujo del programa, bien sea mediante la secuenciación de acciones,

ejecución de bucles, etc.

Las estructuras se comportan como cualquier otro nodo en el diagrama de

bloques, ejecutando automáticamente lo que está programado en su interior una

vez tiene disponibles los datos de entrada, y una vez ejecutadas 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, y que se especifican a

continuación.

Un subdiagrama es una colección de nodos, cables y terminales situados en el

interior del rectángulo que constituye la estructura. El For Loop y el While Loop

únicamente tienen un subdiagrama. El Case Structure y el Sequence Structure, sin

embargo, pueden tener múltiples subdiagramas, superpuestos como si se tratara

de cartas en una baraja, por lo que en el diagrama de bloques únicamente será

Page 29: Trabajo LabVIEW

29

posible visualizar al tiempo uno de ellos. Los subdiagramas se construyes del

mismo modo que el resto del programa

Las siguientes estructuras se hallan disponibles en el lenguaje G.

ESCTUCTURA CASE

Al igual que otras estructuras posee varios subdiagramas.

En la parte superior del subdiagrama aparece el identificador del que se está

representando en pantalla. A ambos lados de este identificador aparecen unas

flechas que permiten pasar de un subdiagrama a otro.

En este caso el identificador es un valor que selecciona el subdiagrama que se

debe ejecutar en cada momento. (INSTRUMENTS, Estructuras de ejecución en NI

LabView, 2012)

Figura 8. Estructura case

Botones para cambiar de subdiagrama

Selector Nombre de subdiagrama

La estructura Case tiene al menos dos subdiagramas (True y False). Únicamente

se ejecutará el contenido de uno de ellos, dependiendo del valor de lo que se

conecte al selector.

Page 30: Trabajo LabVIEW

30

ESTRUCTURA SEQUENCE

De nuevo, este tipo de estructuras presenta varios subdiagramas, de modo que

únicamente se puede visualizar una en pantalla.

También poseen un identificador del sudiagrama mostrado en su parte superior,

con posibilidad de avanzar o retroceder a otros subdiagramas gracias a las flechas

situadas a ambos lados del mismo. (INSTRUMENTS, Estructuras de ejecución en

NI LabView, 2012)

Figura 9. Opciónes de estructura

Botones para cambiar de subdiagrama

Identificador de subdiagrama

Esta estructura secuencia la ejecución del programa. Primero ejecutará el

subdiagrama de la hoja (frame) nº0, después el de la nº 1, y así sucesivamente.

Para pasar datos de una hoja a otra se pulsará el botón derecho del ratón sobre el

borde de la estructura, seleccionando la opción Add sequence local.

Figura 10. Orden de ejecución Sequence local: paso de un dato de la frame 0 a la

1.

Page 31: Trabajo LabVIEW

31

F O R L O O P

Es el equivalente al bucle for en los lenguajes de programación convencionales.

Ejecuta el código dispuesto en su interior un número determinado de veces.

Figura 11. Loop “FOR”

Número de veces que se ejecuta el bucle

Numero de iteraciones

Para pasar valores de una iteración a otra se emplean los llamador shift registers.

Para crear uno, se pulsará el botón derecho del ratón mientras éste se halla

situado sobre el borde del bucle, seleccionando la opción Add Shift Register. El

shift register consta de dos terminales, situados en los bordes laterales del bloque.

El terminal izquierdo almacena el valor obtenido en la iteración anterior. El terminal

derecho guardará el dato correspondiente a la iteración en ejecución. Dicho dato

aparecerá, por tanto, en el terminal izquierdo durante la iteración posterior.

Funcionamiento de Shift Register: (INSTRUMENTS, Estructuras de ejecución en

NI LabView, 2012)

Figura 12. Funcionamiento de Shift Register

Page 32: Trabajo LabVIEW

32

Se puede configurar un shift register para memorizar valores de varias iteraciones

previas. Para ello, con el ratón situado sobre el terminal izquierdo del shift registe,r

se pulsará el botón derecho, seleccionando a continuación la opción Add Element.

Figura 13. Opciones de memoria de iteraciones con Shift Register

WHILE LOOP

Es el equivalente al bucle while empleado en los lenguajes convencionales de

programación. Su funcionamiento es similar al del bucle for.

Figura 14. Ciclo “While”

Terminal condicional

Numero de iteraciones

El programa comprueba el valor de lo que se halle conectado al terminal

condicional al finalizar el bucle. Por lo tanto, el bucle siempre se ejecuta al menos

una vez.

Page 33: Trabajo LabVIEW

33

Con esta estructura también se pueden emplear los shift registers para tener

disponibles los datos obtenidos en iteraciones anteriores (es decir, para memorizar

valores obtenidos).

Su empleo es análogo al de los bucles for, por lo que omitirá su explicación.

DAQ

La adquisición de datos o adquisición de señales, consiste en la toma de muestras

del mundo real (sistema analógico) para generar datos que puedan ser

manipulados por un ordenador u otras electrónicas (sistema digital). Consiste, en

tomar un conjunto de señales físicas, convertirlas en tensiones eléctricas

y digitalizarlas de manera que se puedan procesar en una computadora. Se

requiere una etapa de acondicionamiento, que adecua la señal a niveles

compatibles con el elemento que hace la transformación a señal digital. El

elemento que hace dicha transformación es el módulo de digitalización o tarjeta de

Adquisición de Datos (DAQ).

National Instruments presenta una variedad de tarjetas adquisidoras de señales

que presentan varios tipos de protocolos de conexión a una computadora, como

son USB, PCI, Ethernet, Wi-Fi, PCI Express, PXI Plataforma, pero como todo, al

ser DAQ’s todas tienen que coincidir en un minimo de dispositivos para funcionar

(Figura 15).

Fig. 15. Constitución de un control por DAQ

Page 34: Trabajo LabVIEW

34

ACONDICIONAMIENTO DE SEÑALES

Las señales de los sensores o del mundo exterior pueden ser ruidosas o

demasiado peligrosas para medirse directamente. El circuito de acondicionamiento

de señales manipula una señal de tal forma que es apropiado para entrada a un

ADC. Este circuito puede incluir amplificación, atenuación, filtrado y aislamiento.

Algunos dispositivos DAQ incluyen acondicionamiento de señales integrado

diseñado para medir tipos específicos de sensores.[4].

CONVERTIDOR ANALÓGICO DIGITAL (ADC)

Las señales analógicas de los sensores deben ser convertidas en digitales antes

de ser manipuladas por el equipo digital como una PC. Un ADC es un chip que

proporciona una representación digital de una señal analógica en un instante de

tiempo. En la práctica, las señales analógicas varían continuamente con el tiempo

y un ADC realiza "muestras" periódicas de la señal a una razón predefinida. Estas

muestras son transferidas a una PC a través de un bus, donde la señal original es

reconstruida desde las muestras en software.

BUS DE LA PC

Los dispositivos DAQ se conectan a una PC a través de una ranura o puerto. El

bus de la PC sirve como la interfaz de comunicación entre el dispositivo DAQ y la

PC para pasar instrucciones y datos medidos. Los dispositivos DAQ se ofrecen en

los buses de PC más comunes, incluyendo USB, PCI, PCI Express y Ethernet.

Recientemente, los dispositivos DAQ han llegado a estar disponibles para 802.11

Wi-Fi para comunicación inalámbrica. Hay varios tipos de buses y cada uno de

ellos ofrece diferentes ventajas para diferentes tipos de aplicaciones.

Page 35: Trabajo LabVIEW

35

¿CUÁL ES LA FUNCIÓN DE LA PC EN UN SISTEMA DAQ?

Una PC con software programable controla la operación del dispositivo DAQ y es

usada para procesar, visualizar y almacenar datos de medida. Diferentes tipos de

PCs son usadas en diferentes tipos de aplicaciones. Una PC de escritorio se

puede utilizar en un laboratorio por su poder de procesamiento, una laptop se

puede utilizar por su portabilidad o una PC industrial se puede utilizar en una

planta de producción por su robustez. (INSTRUMENTS, NATIONAL

INSTRUMENTS)

¿CUÁLES SON LOS DIFERENTES COMPONENTES DE SOFTWARE EN UN

SISTEMA DAQ?

Software Controlador

El software controlador ofrece al software de aplicación la habilidad de interactuar

con un dispositivo DAQ. Simplifica la comunicación con el dispositivo DAQ al

abstraer comandos de hardware de bajo nivel y programación a nivel de registro.

Generalmente, el software controlador DAQ expone una interfaz de programación

de aplicaciones (API) que es usada en un entorno de programación para construir

software de aplicación. (INSTRUMENTS, NATIONAL INSTRUMENTS)

A continuación se presenta la interfaz de un software con el que podemos probar

nuestro DAQ, dado por National Instruments, llamado NI Max (Fig. 16) [4]

Fig. 16 NI Max

Page 36: Trabajo LabVIEW

36

COMPARANDO DAQ´S

CARACTERÍSTICAS

PORTÁTIL

DE ESCRITORIO

NI COMPACT

PLATAFORMA PXI

BUS USB, WI-FI, ETHERNET

PCI, PCI EXPRESS

USB, WI-FI, ETHERNET

PXI, PXI EXPRESS

PORTABILIDAD EXCELENTE BUENO MEJOR BUENO

NUMERO DE I/O 1 A 100 1 A 100 1 A 250 1 A 1000+

RAZÓN DE

MUESTREO

2 MS/S 10 MS/S 1 MS/S 10 MS/S

ACONDICIONAMIENT

O DE SEÑALES

INTEGRADO

DISPONIBLE NO SI DISPONIBLE

SINCRONIZACIÓN/

DISPARO

BUENO MEJOR MEJOR EXCELENTE

LENGUAJE LABVIEW, C, C++, VB .NET, C# .NET

SISTEMAS

OPERATIVOS

WINDOWS,

LINUX, MAC

OSX

WINDOWS,

LINUX, MAC

OSX, REAL TIME

WINDOWS WINDOWS, LINUX,

REAL TIME

SOFTWARE INCLUIDO NI LABVIEW SIGNALEXPRESS LE (WINDOWS ÚNICAMENTE)

Tabla 1. Comparación de DAQ (INSTRUMENTS, NATIONAL INSTRUMENTS)[4]

Fig. 17 DAQ NI PORTÁTIL (WI-FI)

Page 37: Trabajo LabVIEW

37

Fig. 18 DAQ’S NI COMPACT (USB)

Fig. 19 DAQ NI DE ESCRITORIO (PCI)

Fig. 20 DAQ NI PXI (PXI)

Page 38: Trabajo LabVIEW

38

APLICACIÓN

Una vez entendidas las herramientas del programa LabVIEW, procedemos a un

ejercicio básico en el cual simularemos la acción de control de un ciclo de trabajo

de una señal PWM (Pulse Width Modulation), la cual puede ser utilizada

posteriormente para controlar la velocidad de un motor, la posición de un servo

motor, iluminación en LED’s entre otras aplicaciones, el tipo de control utilizado

será de tipo proporcional puro, siendo su ecuación:

( ) ( )

Siendo Y(t) la salida de nuestro controlador, o nuestra acción de control.

En la Fig. 21 se explica gráficamente el PWM

Fig. 21 PWM

En la imagen de arriba se puede observar la variación del ciclo de trabajo de 0 a

100 con un timer de 8 bits de 0 a 255, como se puede observar, la frecuencia y la

amplitud de la señal son constantes, se exigen rigurosamente estos requisitos

para ser una señal PWM.

Page 39: Trabajo LabVIEW

39

La modulación en el ancho de pulso resulta en la variación de energía

suministrada a cualquier dispositivo que tenga como entrada ésta. A mayor ancho

de pulso, mayor energía y viceversa, y precisamente por este fenómeno es que

puede ser utilizado este método para cuestiones de control de intensidad de luz en

cualquier sistema de luminaria y como regulador o controlador de velocidad en un

motor.

A continuación se presenta el panel frontal que necesitaremos en nuestro

programa (Fig. 22)

Los controles numéricos se encuentran en la paleta de controles, en la opción

numeric.

Fig. 22 Panel frontal de aplicación a realizar

Icono de “Numeric”

Se colocarán los controles de manera que se vean como la siguiente imagen:

Page 40: Trabajo LabVIEW

40

Fig. 23. Para modificar etiqueta del control numérico, dar click aquí.

A “numeric” le cambiaremos el nombre a “KP”, a numeric2 le cambiaremos el

nombre a “SET POINT”, y a “numeric3” le pondremos el nombre de “MÓDULO”,

cabe mencionar que el control de “MÓDULO” se coloca por ser una simulación de

una acción de control, y no una acción de control incorporando un DAQ para tomar

muestras de la señal de entrada del sistema.

Una vez teniendo listos los controles, nos regresamos a nuestra paleta de

controles, y tomamos un indicador llamado “METER”, cambiándole la etiqueta de

la misma forma a “DUTY CYCLE”.

A “DUTY CYCLE” le cambiaremos las propiedades, por tanto, hacemos click

derecho en él con la herramienta Positioning tool, y nos posicionamos a la opción

de propiedades donde daremos un click, en seguida nos vamos a ir a la pestaña

“scale”, y procederemos a dar el valor minimo y valor máximo de nuestro ciclo de

trabajo. Como se muestra en la figura 24.

Fig. 24 Cambio de escala

Page 41: Trabajo LabVIEW

41

Le damos esta escala porque el ciclo de trabajo del PWM varía de 0 a 100, una

vez haciendo esto presionamos “OK”.

Haciendo esto, ya tenemos terminado nuestro panel frontal.

Ahora programaremos cada uno de nuestros controles e indicadores (Fig. 25)

Fig. 25 Programación de aplicación.

Estas operaciones están en la paleta de funciones, opción “numeric”.

Analizando la programación, nuestras entradas son los controles que se

incorporaron en el panel frontal, y nuestra salida es nuestro indicador.

KP multiplica a la diferencia del SET POINT con la variable de entrada que en este

caso es “MÓDULO”, el resultado de esta multiplicación será nuestra acción de

control, la cual necesitamos que se presente como un ciclo de trabajo del 1 al 100,

esto es fácil mediante una fórmula que se puede deducir rápidamente tomando en

cuenta que la estructura de nuestro DAQ fuera de 1023 bits.

( )( )

Page 42: Trabajo LabVIEW

42

CRONOGRAMA

AGOSTO SEPTIEMBRE OCTUBRE NOVIEMBRE DICIEMBRE

INTRODUCCIÓN X MARCO TEÓRICO X PLANTEAMIENTO X HIPÓTESIS X OBJETIVOS X X JUSTIFICACIÓN X ALCANCE X X IMPACTOS X METODOLOGÍA X X DESARROLLO X X CONCLUSIÓN X X

Page 43: Trabajo LabVIEW

43

CONCLUSIÓN

El LabView es una herramienta fácil de aprender, por esto, se vuelve interesante

programar en su lenguaje “G” distintos sistemas aplicando distintas funciones

como ciclos, bloques de control y herramientas intuitivas.

Es importante saber elegir la tarjeta de adquisición adecuada para cada una de

nuestras necesidades.

Para programar en LabView no se tiene que saber de otros lenguajes de

programación forzosamente ni tener experiencia programando, porque no tiene

nada que ver con otros lenguajes.

Page 44: Trabajo LabVIEW

44

RECOMENDACIONES PARA LOS LECTORES DEL PROYECTO

Éste trabajo es la introducción a un mundo de conocimiento que tiene que ver con

sistemas de control, procesamiento de imagen, que puede ser aplicable en

proyectos muy ambiciosos.

Se recomienda continuar con el estudio de control aplicando LabVIEW en la

práctica o simulación de sistemas teóricos, esto, es muchas veces el complemento

que hace falta para adquirir conocimiento de calidad, como también para que

nuestra motivación hacia el conocimiento crezca.

Cabe mencionar que las aplicaciones del LabVIEW no solo son en sistemas de

control, cualquier sistema puede ser simulado en este programa utilizando las

herramientas descritas en este trabajo, se recomienda pasar de leer de lo básico a

lo complejo y después de lo leído anteriormente se puede avanzar a un nivel más

alto.

Page 45: Trabajo LabVIEW

45

BIBLIOGRAFÍA

[1]ELECTRÓNICA, P. D. (13 de 04 de 2006). Proyectos de Mecatrónica y Electrónica. Recuperado el

23 de 10 de 2013, de http://disem.webs.com/proyectosconlabview.htm

[2]INSTRUMENTS, N. (14 de 08 de 2012). Estructuras de ejecución en NI LabView. Recuperado el 24

de 10 de 2013, de

http://www.ni.com/gettingstarted/labviewbasics/esa/exestructures.htm

[3]INSTRUMENTS, N. (20 de 09 de 2013). Fundamentos del Entorno de LabView. Recuperado el 23

de 10 de 2013, de http://www.ni.com/gettingstarted/labviewbasics/

[4]INSTRUMENTS, N. (s.f.). NATIONAL INSTRUMENTS. Obtenido de www.ni.com/

[5]INTRANET, F. d. (10 de 08 de 2012). INTRANET. Recuperado el 20 de 10 de 2013, de

http://www3.fi.mdp.edu.ar/electrica/opt_archivos/estructuras.pdf