Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI

Sistema de Adquisición de Datos (SAD) de propósito general.

  Print

Sinóptico utilizado en la monitorización de unas instalación que utiliza energía solar térmica y una unidad ROTARTICA para la producción de aire acondicionado, sin torre de refrigeración

Author(s):
Vicente Alonso - IKERLAN

Industry:
Life Science

Products:
LabWindows/CVI

The Challenge:
Aprender LabWindows/CVI como herramienta de programación para el Área de Energía de Ikerlan, y, de paso, disponer de un Sistema de Adquisición de Datos (en lo sucesivo SAD) de propósito general, conocido, flexible y con presentación de sinópticos a medida de cada aplicación.

The Solution:
La programación se ha realizado con LabWindows/CVI, versión 5.5, y, posteriormente, se ha actualizado a la versión 7.1. En cuanto al hardware, se han empleado, dependiendo de la aplicación, tarjetas PCI analógico-digitales de National Instrument, módulos Field Point e incluso instrumentos de laboratorio, utilizando el correspondiente driver para CVI o LabView.

"La utilización de hardware y/o drivers de National Instrumet ha permitido una fácil integración, sin que haya aparecido ningún tipo de problemas. Ha sido una garantía de integración y posibilidad de mantenimiento futuro"

El Área de Energía de Ikerlan lleva desarrollando y trabajando con SAD más de 20 años. Se trata de SAD de cadencia lenta (del orden de 1 Hz y varias decenas de canales), desarrollados inicialmente con programas multitarea (reparto de la CPU del ordenador a los diferentes subprogramas en los que se descomponía la aplicación a realizar) bajo entorno DOS.

Hace años, el Área de Energía, apostó por utilizar el entorno de programación LabWindows/CVI. Con la llegada de la versión 5.5, cuya principal novedad para esta aplicación consistía en la posibilidad de realizar el SAD en multitarea (Multi-threading), se probaron por separado todas las prestaciones que ofrecía esta nueva versión de CVI y que podrían ser de utilidad para realizar un SAD (siguiendo los ejemplos que vienen con el CVI).

Tras este paso inicial, se “juntaron” todas las partes, dando lugar a un SAD, similar al que ya se disponía anteriormente, pero bajo el entorno Windows.

Desarrollo (Aplicación):

Además de las funciones de monitorización propias de un SAD, determinadas aplicaciones han sido dotadas de actuaciones sobre salidas y/o equipos.

La elección de LabWindows/CVI ha permitido hacer uso, en esta aplicación, de las siguientes herramientas:

- Programación multitarea (multihilo, multithread en inglés) con prioridades. Como tarea prioritaria se asigna la toma de datos, dedicándose el tiempo restante de CPU a la visualización.

- Utilización de colas (Task Safe Queue) para el paso de datos entre “tareas”.

- DataSocket (comunicación TCP-IP) para compartir datos, bien con ordenadores de la propia red local, bien con ordenadores externos a través de Internet. Además, el uso de DataSocket ha permitido el intercambio de datos con aplicaciones (comunicación con instrumentos) realizadas con LabView.

- Uso de sinópticos para hacer la aplicación mucho más atractiva.

- Empleo de CallBacks, tanto síncronas como asíncronas.

- Uso de tablas para la presentación de datos. En versiones anteriores de CVI, cuando no existían las tablas, en una aplicación con muchas entradas, salidas, etc. podían llegar a existir cientos de controles; éstos se podían ordenar en la edición mediante los “tab order” o leyendo el fichero.h a unos arrays. La introducción de las tablas supuso una gran simplificación en el código.

 

- Siguiendo los ejemplos de N.I., el uso de ActiveX para enviar correos electrónicos mediante el Outlook a otros PC o a teléfonos móviles, de manera periódica o cuando sucede algún evento en especial.

- Empleo de gráficas (StripChart y Graph), con sus cursores, zoom, detalles numéricos...

- Uso y desarrollo de Instrument Drivers.

- Manejo de líneas serie, drivers y DLLs para comunicación con otros equipos.

La función principal del SAD es la lectura, almacenamiento y publicación de datos. La realización de informes se llevará a cabo mediante el uso de hojas de cálculo como Excel, o cualquier otro paquete informático, para lo que existe otro programa que permite convertir los datos adquiridos a formato ASCII, ordenado por columnas.

 

El SAD permite realizar las siguientes tareas:

-       Lectura y presentación de entradas/salidas, de las siguientes formas:

-Mediante tablas (valores numéricos)

-Presentación de valores sobre un sinóptico

-Mediante gráficas instantáneas

-       Almacenamiento de datos. Asimismo, permitirá que durante la adquisición se puedan graficar datos ya almacenados en disco. Los datos que hay que almacenar a cada intervalo de almacenamiento y para cada canal, son:

- Valor medio

- Valor máximo

- Valor mínimo

Monitorización remota, desde cualquier ordenador de la subred de la empresa (o desde el exterior mediante el uso de una dir. IP externa)

La definición de la monitorización (intervalos, canales, etc.) se realiza a partir de un fichero de definición escrito mediante cualquier editor de texto. Por ejemplo, se puede definir como intervalo de lectura 1 segundo y como intervalo de almacenamiento 10 minutos; según este ejemplo, tras 600 lecturas realizadas, se graba un solo registro, conteniendo el valor medio, máximo y mínimo de estas 600 lecturas (es un ejemplo de intervalo típico usado en estaciones meteorológicas).

Como ejemplos, este SAD se ha utilizado en: como estación meteorológica, SAD de una instalación piloto de aire acondicionado mediante el uso de colectores solares y una máquina Rotartica (por ciclo de absorción y sin torre de refrigeración), monitorización en laboratorio de máquinas Rotartica, ensayo (salidas de control + monitorización) de curva V-I para pilas de combustible, control y adquisición para reformador + pila combustible + inversor, seguimiento de instalaciones fotovoltaicas, etc

 

Resumen:

En el mercado existen muchos y muy buenos SAD. Además, el desarrollo de un SAD propio ha supuesto un gran esfuerzo inicial frente a otros sistemas comerciales ya disponibles, pero que ya se ha amortizado por la reutilización que continuamente se está haciendo en todos los proyectos relacionados con la adquisición de datos.

LabWindows/CVI es un entorno de desarrollo muy grato para realizar interfaces con el usuario y para la presentación de gráficas, que junto con la gran cantidad de librerías disponibles hace que no se requiera ningún otro entorno de programación.

 

Author Information:
For more information on this Case Study, contact:
Vicente Alonso
IKERLAN

Browse All Case Studies »

  Print