Ejemplo de conexión Labview / Arduino

Ejemplo de conexión Labview / Arduino

Introducción

Trataremos de simular una pantalla del “Bilbao Knutsen”, en concreto la pantalla del generador diésel. Para ello, y dado que no disponemos de esquemas de control específicos ni fórmulas asociadas a la pantalla, hemos optado por utilizar sensores baratos y fáciles de integrar en Labview con el fin de simular el comportamiento de el motor y parte de su panel local.

El hardware elegido es Arduino ya que es hardware libre, barato y dispone de toolkit para Labview.

Arduino Mega
Arduino Mega

Integrar Arduino en Labview

Una vez que disponemos de Labview instalado con el módulo de DSC y los drivers Visa, es tan sencillo como seguir los siguientes pasos para instalar el toolkit de Arduino.

  • Instalar JKI VI Package Manager (VIPM).
JKI VI Package Manager (VIPM).
JKI VI Package Manager (VIPM).
  • Desde el VIPM instalaremos la toolkit de Arduino.
Toolkit de Arduino
Toolkit de Arduino
  • Una vez instalado ya disponemos de Arduino en el panel de funciones de Labview.
Panel de funciones
Panel de funciones
  • Instalar el firmware de Labview en Arduino

Por último y para poder conectar sensores y que Labview los reconozca, hay que instalar un firmware a nuestro Arduino que proporciona National Instruments. El firmware se encuentra en: <LabVIEW>\vi.lib\LabVIEW Interface for Arduino\Firmware\LVIFA_Base

Ruta del firmware
Ruta del firmware

Esquema de conexiones

Esquema
Esquema

Situación real de los componentes

Componentes
Componentes

Pantalla principal del generador diesel

HMI
HMI

Estructura del proyecto

El proyecto consta de dos librerías, una de ellas contiene las pantallas de condiciones iniciales, el HMI y el servidor. La otra contiene las variables compartidas.

Proyecto
Proyecto

Condiciones de arranque (Engine_start_conditions.vi)

Con el fin de proceder al arranque del motor, se deben cumplir ciertas condiciones de forma secuencial para que finalmente de permisivo de arranque.

  • Temperatura de cojinetes >= 65ºC.
  • Temperatura de fases >= 40ºC.
  • Potenciómetro situado en >720 RPMs.

Si alguna de estas condiciones no se diera en el panel HMI nos luciría “Start Failure” y en el panel local se encenderá el led “Common alarm”.

Funcionamiento (Engine_HMI.vi)

Desde el HMI pulsaremos el botón de “Start Simulation” y si superamos las condiciones de arranque notaremos que el motor arranca a 720-750 revoluciones, dependiendo de la posición del potenciómetro.

Una vez que el motor haya arrancado, podemos variar las revoluciones mediante el potenciómetro. Según varíen las revoluciones, lo harán también en relación los Kw, V y A.

La temperatura de cojinetes y la temperatura de fases viene dada por sendos sensores de temperatura, los cuales están configurados para mostrar la temperatura ambiente local + 50ºC y + 40ºC respectivamente.

El tanque de emergencia de D.O está configurado manualmente para que arranque la bomba a un 40% de nivel y pare a un 80% de nivel. Si el nivel del tanque es menor de un 15% o mayor de un 85% nos lucirá en el HMI la “Common alarm” y en el panel local lucirá el led respectivo a la “Common alarm”.

Hay configurados dos enclavamientos del motor, por fallo en la batería (battery failure alarm) y por disparo común (common trip alarm). Cualquiera de ellas dispara el motor teniendo que arrancarlo cumpliendo nuevamente las condiciones iniciales de arranque. Con el fin de no saturar al programa con comandos aleatorios, los fallos se invocaran por medio de dos pulsadores según indica el esquema de conexiones. A su vez, cuando se de cualquiera de los fallos, lucirá su propio led de fallo en el panel local.

Todo ello corre sobre un servidor periódico que será el que nos permitirá visualizar las alarmas generadas mediante la simulación.

Alarmas configuradas

Con el fin de darle más realismo a la simulación se han configurado dos alarmas que se mostrarán en un panel de alarmas del DSC añadido al panel HMI.

La primera de las alarmas configuradas es la referente a las revoluciones y tiene configurados los siguientes límites:

Alarmas configuradas en las revoluciones
Alarmas configuradas en las revoluciones

La siguiente alarma configurada es referente a la temperatura de los cojinetes del motor y tiene configurados los siguientes límites:

Alarmas configuradas en la temperatura de cojinetes
Alarmas configuradas en la temperatura de cojinetes

Conclusiones

Este en un pequeño ejemplo de lo que puede dar de si la fusión entre Labview y Arduino, en el que el único límite es vuestra imaginación. Podéis descargar los archivos del proyecto aquí.

Glosario de términos

  • DSCDatalogging and Supervisory Control.
  • HMI: Interfaz de usuario por sus siglas en idioma inglés, (Human Machine Interface) que se usa para referirse a la interacción entre humanos y máquinas; Aplicable a sistemas de Automatización de procesos.
  • Toolkit: Conjunto de herramientas.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

dieciocho − ocho =