En este capítulo y en los sucesivos, se intentarán establecer las bases necesarias para que lectores puedan desarrollar aplicaciones enfocadas al campo de la adquisición de datos, supervisión y control y, más concretamente, para la automatización de sistemas de riego. A continuación, comenzaremos proporcionando una visión general sobre el entorno LabVIEW.
1.2 Programación Gráfica
LabVIEW (Laboratory Virtual Instrument Engineering Workbech) fue creado por la empresa National Instruments (fundada en 1976 en Austin, Texas) para funcionar sobre máquinas MAC, salió al mercado por primera vez en 1986. En la actualidad se encuentra disponible para las plataformas Windows, UNIX, Mac y Linux. La última versión (8.6), liberada en Agosto de 2008, cuenta con soporte para el sistema operativo Windows Vista. En la Tabla 1.1 se puede observar la evolución de este entorno y las principales características aportadas con cada una de las versiones.
La programación G constituye el corazón de LabVIEW, y difiere de otros lenguajes de programación como C ó Basic, en que éstos están basados en texto, mientras que en G se utiliza programación gráfica. Los programas en G, o VIs (acrónimo de Virtual Instrument) constan de una interfaz interactiva de usuario y un diagrama de flujo de datos que hace las funciones de código fuente.
Año | Versión |
1986 | LabVIEW 1.0, primera versión en Mac OS |
1990 | LabVIEW 2.0, máximo aprovechamiento de los resultados |
1992 | LabVIEW 2.5, primera versión en Windows 3.1 y Solaris |
1993 | LabVIEW 3.0 |
1994 | LabVIEW 3.0.1, primera versión en Windows NT |
1994 | LabVIEW 3.1 |
1995 | LabVIEW 3.1.1, integración del Application Builder (creación de archivos ejecutables) |
1996 | LabVIEW 4.0 |
1997 | LabVIEW 4.1 |
1998 | LabVIEW 5.0, multitarea, contenedores ActiveX, asistente para la adquisición de dato (tarjetas de adquisición DAQ) e asistente para el control de instrumentos |
1999 | LabVIEW 5.1, primera versión para Linux, primera versión de LabVIEW RT (Real Time) |
2000 | LabVIEW 6.0, controles gráficos en 3D, referencias de controles |
2001 | LabVIEW 6.1, mejoramiento y correcciones, primera versión en Palm OS |
2003 | LabVIEW 7.0, VI Express, primera versión en Windows Mobile 2003 |
2004 | LabVIEW 7.1, traducción en francés, alemán y japonés |
2005 | LabVIEW 8.0, Project Explorer, XControls, shared variables |
2005 | LabVIEW 8.1, mejoras y correcciones |
2006 | LabVIEW 8.20, Programación orientada a objetos |
2007 | LabVIEW 8.5, primera versión del toolkit FPGA y del toolkit Statechart |
2008 | LabVIEW 8.6, limpieza automática de los diagramas |
Tabla 1.1. Diferentes versiones de LabVIEW aparecidas en el mercado.
De forma más específica, el entorno de programación gráfico LabVIEW se estructura siguiendo la analogía con los instrumentos de laboratorio a los que trataba de emular en sus primeras versiones. Así, un instrumento virtual consta de:
• Panel Frontal. Es la interfaz interactiva de usuario de un VI, debido a que simula el panel de un instrumento físico. El panel frontal puede contener botones, interruptores, pulsadores, gráficas y otros controles e indicadores. Los datos se introducen utilizando el ratón y el teclado, y los resultados se muestran en la pantalla del ordenador.
• Diagrama de Bloques. Se construye en G y constituye el código fuente del programa o VI. Supone una solución gráfica a un determinado problema de programación.
Los VIs son jerárquicos y modulares. Pueden utilizarse como programas de alto nivel o como subprogramas de otros programas o subprogramas. Cuando un VI se usa dentro de otro VI, se denomina subVI. El icono y los conectores de un VI funcionan como una lista de parámetros gráficos de forma que otros VIs puedan pasar datos a un determinado subVI.
1.3 Instrumentos Virtuales
Los programas de LabVIEW se denominan instrumentos virtuales o VI, debido a que su apariencia y operación imita a los instrumentos físicos, tales como osciloscopios y multímetros. LabVIEW contiene un amplio abanico de herramientas para adquisición, análisis, despliegue y almacenamiento de datos, así como herramientas que ayudan a especificar su código de ejecución.
En LabVIEW, se construye una interfaz de usuario, o panel frontal (véase la Figura 1.1), con controles e indicadores. Los controles son texto, botones de acción, interruptores y otros dispositivos de entrada. Los indicadores son gráficos, LED, objetos para mostrar texto o números y otros elementos. Una vez construida la interfaz, el código se agrega en el diagrama de bloques utilizando subVIs y estructuras para controlar los objetos del panel frontal.
Figura 1.1. Panel Frontal.
El diagrama de bloques (véase la Figura 1.2) contiene el código fuente gráfico. Los objetos del panel frontal aparecen como terminales en el diagrama de bloques. Adicionalmente, el diagrama de bloques contiene funciones y estructuras incorporadas en las bibliotecas de LabVIEW. Los cables conectan cada uno de los nodos en el diagrama de bloques, incluyendo controles e indicadores de terminal, funciones y estructuras.
Figura 1.2. Diagrama de bloques.
En este diagrama de bloques se llama al subVI Temp, que implementa una subrutina que obtiene una temperatura desde una tarjeta de adquisición de datos (DAQ). Esta temperatura es representada, junto con el valor medio de la temperatura, en la gráfica de forma de onda