Trabajo LabVIEW

INSTITUTO TECNOLÓGICO DE MINATITLÁN LabVIEW PARA SISTEMAS BÁSICOS DE CONTROL AUTOR: RAFAEL GONZÁLEZ RAMÍREZ ASESOR: A

Views 132 Downloads 2 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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

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

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.

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]

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

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.

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 laterales. Conexión por USB.

tornillos en las terminales

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.

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.

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.

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.

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.

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.

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.

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.

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]

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

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.

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.

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.

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.

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ú

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.

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.

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.

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

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

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á

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.

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.

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

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.

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

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.

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

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/

BUENO

MEJOR

MEJOR

EXCELENTE

DISPARO LENGUAJE SISTEMAS OPERATIVOS SOFTWARE INCLUIDO

LABVIEW, C, C++, VB .NET, C# .NET WINDOWS, LINUX, MAC OSX

WINDOWS, LINUX, MAC OSX, REAL TIME

WINDOWS

WINDOWS, LINUX, REAL TIME

NI LABVIEW SIGNALEXPRESS LE (WINDOWS ÚNICAMENTE)

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

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

37

Fig. 18 DAQ’S NI COMPACT (USB)

Fig. 19 DAQ NI DE ESCRITORIO (PCI)

Fig. 20 DAQ NI PXI (PXI)

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.

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:

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

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

)(

)

42

CRONOGRAMA

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

AGOSTO SEPTIEMBRE OCTUBRE NOVIEMBRE DICIEMBRE X X X X X X X X X X X X X X X X

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.

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.

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