You are on page 1of 8

UTILIZACIÓN DE NAVEGADORES WEB PARA INTERACTUAR CON

PROGRAMAS DESARROLLADOS CON LABVIEW POR MEDIO DE INTERNET

Enrique Ramón Gómez Rosas, Miguel Angel Mendoza García,


Luis Alejandro De la Cruz Velázquez
Instituto de Ingeniería, Universidad Nacional Autónoma de México
Ciudad Universitaria S/N, Colonia Ciudad Universitaria, Coyoacán, Distrito Federal, México.
EGomezR@iingen.unam.mx; MMendozaG@iingen.unam.mx;
LDelaCruzV@iingen.unam.mx

RESUMEN
En el presente trabajo se describen las diferentes formas de realizar una interacción con
programas de LabView de forma remota utilizando las diferentes opciones que proporciona
opciones el mismo lenguaje. El estudio se realizo con el fin de determinar la mejor opción de
desarrollar páginas web que permitirán visualizar información y/o controlar el funcionamiento de
programas desarrollados con LabView.

PALABRAS CLAVE: LabVIEW, paneles remotos, Web Service, URL. Builder, UI, Internet,
móviles.

1 INTRODUCCIÓN
La creciente necesidad del monitoreo remoto debido a que los sistemas de medición y
control se encuentran en ocasiones distancias muy lejanas o simplemente para tener acceso a la
información en cualquier instante, valiéndose de computadoras portátiles o de escritorio, así como
de dispositivos móviles. Ha llevado a la implementación de diversas soluciones enfocadas al uso
de internet como medio de interactuar con los equipos que realizan el control o procesan la
información de los sistemas de medición.
El despliegue de la información puede llevarse a cabo mediante programas que se
comuniquen vía internet con nuestro sistema, el desarrollo del mismo conlleva a que se debe tener
amplio conocimiento del área de las redes de comunicación, así como el conocimiento de un
lenguaje de programación que bastante prolongada y que se deban tener programas que se
encarguen de la comunicación y despliegue de la información.
Debido al auge de internet y al número de creciente de dispositivos inteligentes (teléfonos
celulares, tablets, laptop), se tienen cada vez más opción de tener acceso a la información en
cualquier sitio del planeta donde se pueda establecer una conexión con cable o inalámbrica a
internet. En estas conexiones el programa que común mente se utiliza es un navegador web, el
cual es el programa predilecto para el despliegue de información que se transporta por internet.
Esto ha sido tratado por varios frentes por parte de National Instruments con su plataforma
de programación grafica LabVIEW que es ampliamente usada por ingenieros y científicos gracias a
su facilidad de uso y una amplia gama de herramientas, las cuales permiten desarrollos potentes y
en un tiempo reducido.

National Instruments en su lenguaje de programación LabVIEW cuenta subrutinas para el


manejo de protocolos de comunicación de datos utilizando las conexiones de red (ya sea internet o
redes internas), pero también a introducido en LabVIEW opciones; donde el programador puede
configurar, sin programación por su parte, la utilización de navegadores web para la interacción

1
con los paneles frontales de programas que se estén ejecutando en equipos de control o PC´s que
estén conectados a internet o redes internas. Esto abre la posibilidad de controlar aplicaciones o
simplemente visualizar información para varios usuarios sin que estén en el sitio.
Esta opción tiene ciertas limitantes en cuestión de los equipos desde la cual el usuario
puede tener acceso; ya que se requiere que el equipo pueda ejecutar programas adicionales que
no corren en todos los sistemas operativos disponibles para equipos móviles o navegadores web
que no pueden ejecutar sus complementos.
Para contrarrestar estos inconvenientes National Instruments a desarrollado opciones donde
se pueden desarrollar aplicaciones nativas los sistemas operáticos IOS y Android, pero los cuales
siguen teniendo ciertas limitantes; ya que son programas que se tienen que instalar en los
dispositivos y en algunos casos solamente permiten visualizar información.
Debido a que se requiere desarrollar una forma de visualizar la información y/o controlar
programas realizados con LabVIEW de forma remota desde cualquier dispositivo y que más de un
usuario tenga acceso y control sobre ciertos módulos del programa sin tener que realizar
programas que tengan que instalarse en los dispositivos de los usuarios se realizo la investigación
de todas las opciones con que cuenta LabVIEW para hacer uso de los navegadores web, con o sin
programación de por medio.
A continuación se describen los diferentes métodos que se estudiaron y se muestra un
ejemplo del que se determino puede ser el mejor método para desarrollar interfaces web para la
visualización y control de programas realizados con LabVIEW utilizando navegadores web.

2 DESCRIPCIÓN DE LOS METODOS PARA DESARROLLAR PÁGINAS WEB PARA


INTERACTUAR CON PROGRAMAS REALIZADOS CON LABVIEW
La utilización de navegadores para la visualización de información; requiere que se tengan
programas de pagina web, en los equipos que estén procesando a adquiriendo las señales que se
quieren mostrar. Para ello, además de generar el programa que sirva para la visualización se
requiere instalar un servidor web en el equipo; este es el que hará que se puedan visualizar las
páginas web en el navegador del dispositivo que se esté conectando.
El cómo se realice la pagina web e interactué con el programa desarrollado en LabVIEW en
lo que se discutirá a continuación.

2.1 Panales remotos


Es una de las implementaciones de control remoto básicas en LabVIEW, que consiste
básicamente en hacer accesible vía web un VI (Virtual Instrument, nombre dado a los programas
del lenguaje LabVIEW). Las consideraciones para ocupar esta solución son las siguientes:
 El VI no necesita una programación especial, así que sin modificaciones podemos
publicarlo en la web.
 El acceso al VI se realiza mediante un navegador web compatible.
 El acceso se puede realizar de tres formas:
o Incrustado, donde los clientes pueden ver y controlar el panel.
o Instantánea, muestra una imagen estática en el navegador.
o Monitor, muestra imágenes estáticas que se actualizan en un tiempo
determinado.
 El acceso incrustado es el más utilizado, pero tiene limitaciones, solo puede haber un
usuario controlando el panel a la vez mientras los demás observan y solicitan el control.
Es tarea del administrador el otorgar o no el control a los usuarios.
 Los usuarios pueden parar la ejecución del panel pero no iniciarla, con lo que si un
usuario detiene la ejecución solo el administrador puede iniciarla de nuevo.
 El uso de los paneles remotos se ven limitados pues no están disponibles en todos los
navegadores ya que para el despliegue de los mismos dentro del navegador se vale del

2
uso de plugins que no se encuentran disponibles para todas las plataformas en especial
para las móviles.

Figura 1. Interface de un panel remoto en Internet Explorer 11.

Figura 2. Interface de un panel remoto que no se muestra correctamente en


Internet Explorer en Windows Phone 8.1

2.2 LabVIEW WEB UI Builder


Entorno de desarrollo en línea para crear aplicaciones web ligeras usando programación
gráfica. Es la respuesta de National Instruments a la creciente necesidad de desarrollar programas
de monitoreo remoto, que provee a científicos e ingenieros que no tengan amplios conocimientos
en el desarrollo web la posibilidad de desarrollo sin grandes complicaciones.
Se vale del uso de HTML, JavaScript, Adobe Flash o Microsoft Silverlight, para el despliegue
de la interfaz y la comunicación entre la aplicación y nuestros sistemas se realiza vía peticiones

3
HTTP y la información se transporta mediante archivos XML. Algunas consideraciones para el uso
de esta solución:
 Uso de Adobe Flash o Microsoft Silverlight disponible, no disponible o con poco
rendimiento en la plataforma móvil.
 Los VI desarrollados no pueden tener todas las funciones que los desarrollados en
LabVIEW.
 Está enfocado al monitoreo con lo que implica no cambiar el estado del sistema.
 No hay mecanismos para el manejo de usuarios concurrentes.

Figura 3. Interfaz de desarrollo de LabVIEW UI Builder

Figura 4. Despliegue de interfaz de usuario desarrollada en LabVIEW UI Builder


en el navegador Google Chrome.

2.3 Interfaces web mediante Web Service


Esta solución es la que permite mayor portabilidad multiplataforma ya que no depende de
plugins para el despliegue de la interfaz en la página web, se vale de los recursos como lo son
HTML5, JavaScript y CSS que son estándares en todos los navegadores web actuales.
Para este desarrollo además de un conocimiento básico en LabVIEW se debe tener
conocimientos de programación de páginas web (HTML, JavaScript y CSS), pues dependiendo de
la habilidad del programador la funcionalidad e interfaz podrá ser enriquecida visualmente.

4
Existen dos formas para ocupar el Web Service, el enlace de datos vía URL y el uso de
scripts Embedded Server Pages (ESP) , la última disponible a partir de la versión 2013.

2.3.1 Enlace de datos vía URL


Básicamente tendremos que crear para nuestra interface una página HTML en la cual
mediante métodos GET o POST creemos URLs que el servicio web recibirá y tratara estos valores
internamente para hacer determinadas acciones programadas que son la funcionalidad de nuestro
programa.

Figura 5. URL básica en un Web Service

Existe una complicación, la creación de la asignación y captura de datos para las variables
que posteriormente serán pasadas a la URL. En la figura 5 se muestra una URL básica donde al
servicio llamado “add” el cual realiza una suma, se le pasan los valores numéricos con los que
operara. Al realizar esto el Servicio web responderá con una página con información en XML.
Crear una URL no es una tarea tan sencilla, pues esta se tiene que hacer de manera
dinámica, creando scripts en JavaScript para que interactúen con el programa de LabVIEW.

Figura 6. Diagrama de bloque, panel frontal y panel conector de un Web Service básico.

En la figura 6 se muestra en contenido interno del programa que funciona con la URL de la
figura 5. La información de respuesta debe ser tratada para poder ser interpretada.
2.3.2 Scripts Embedded Server Pages (ESP)
Su función principal es generar contenido dinámico en interfaces HTML, tiene una estructura
y funcionalidad similar a JavaScript. La gran ventaja es que se crean enlaces directos con las
variables en un VI y la página web, logrando una mejor integración y facilita la programación.
El llamado a variables es tan sencillo como anteponer @@ a nuestra variable (@@variable).
La realización de operaciones con estas variables, dentro de ESP ya es como si fuera JavaScript
se utilizan los delimitadores <% y %> para indicar que es código de secuencia de comandos.

5
Figura 7. Ejemplo de respuesta en formato XML

Figura 8. Código de un ESP básico en el cual se recupera del VI una cadena de


texto que posteriormente es mostrada en una página HTML.

En LabVIEW la forma de utilizar estas variables es algo relativamente sencillo se ocupan


básicamente las siguientes librerías:

 Set ESP Variable VI: La cual requiere que se le indiquen los valores “Key” que es el
nombre de la variable y “value” que es el valor asignado a la misma
 Read Service Attribute VI: La cual requiere que se le indique “attribute name” que pasa el
nombre de nuestra variable de la que queremos obtener el valor y regresa “value” que es
el valor de la variable.

6
 Render ESP Template VI: Ejecuta el script ESP con lo cual muestra un página HTML al
usuario.

Estos son los VI básicos para el uso de scripts ESP. La programación dependerá directamente del
enfoque del programa.

Figura 9. Web Service básico que le da funcionalidad al ESP de la figura 8.

El uso de Scripts ESP nos da la posibilidad de usar HTML5 que junto con CSS le puede dar un
estilo visual a nuestras interfaces de usuario muy enriquecidas pidiendo añadir imágenes, audio,
video y animaciones. Estas podrán ser apreciadas en todos los dispositivos que tengan un
navegador web independiente de la plataforma.

Figura 10. Interfas de usuario ocupando ESP en Internet Explorer de Windows Phone 8.1

3. CONCLUSIONES
Estas son las tres herramientas que tiene LabVIEW para la generación de páginas web que
interactúen con los programas de control o adquisición de datos que se desarrollan con este
lenguaje. Unas son más sencillas que otras; pero también cuentan las características y limitantes
en funcionalidad hacen que cada una tenga su aplicación y método de uso. Por ejemplo, el panel
remoto no requiere de programación; pero si de la tarea adicional de que LabVIEW genere el
programa de pagina web para el panel frontal del programa que se quiera trabajar y la
configuración para que al momento de generar la aplicación se generen las interacciones entre la
pagina y el programa.

7
Esta opción es la más sencilla y funcional ya que permite una interacción directa con el
panel frontal de programa. Sin embargo, requiere que en la computadora o dispositivo del que se
vaya a conectar puedan ejecutarse programas adicionales; los cuales no se pueden correr en
todos los equipos disponibles en el mercado o en todos los navegadores. También, solamente
permite que un usuario pueda modificar valores a la vez, aunque varios usuarios se puedan
conectar. Esto limita su uso para ciertas aplicaciones donde se pueda desear que varios usuarios a
la vez proporcionen información o deseen ver información distinta.
El desarrollo con Web UI Builder tiene la ventaja que el usuario desarrolla un programa
adicional que no tiene el control sobre el programa realizado sobre LabVIEW, sino que solamente
tiene acceso a las variables que se declaren para su interacción por medio de la red. Sigue
tendiendo la ventaja que la programación es igual a la de LabVIEW pero solamente con funciones
básicas para el despliegue de información y manipulación de los datos. Sus desventajas son
menos que los paneles remotos; pero requieren de una programación adicional que se hace en el
portal de National Instruments y que por el momento no está totalmente liberado y con limitantes
en lo que se puede realizar por medio del portal.
Estas dos opciones no pueden ejecutarse en sistemas operativos para móviles o tablets; ya
que necesitan de accesorios como el silver light y el LabVIEW Run Time (para el caso de los
paneles remotos) para que se puedan visualizar en el navegador.
El desarrollo de interfaces con el Web Service puede ser un poco laboriosa e implica el
conocimiento de HTML, JavaScript y CSS, que posiblemente un científico o ingeniero que no sea
del área de la Tecnología de la Información no posea, pero sin duda si se quiere que el sistema
cumpla la premisa de que la información debe estar disponible en todo momento y accesible en
todo dispositivo, este es la mejor opción.
El tiempo de desarrollo de un sistema se amplía pues este debe además de realizar sus
acciones propias (monitorear, controlar, etc.) se debe desarrollar como se mostrara la información
al usuario final.
Las páginas desarrolladas con el Web Service al ser accesibles en los navegadores web
(Internet Explorer, Mozilla, Safari, Google Chome, etc.) pueden ser accedidas en cualquier Sistema
operativo (Windows X, Linux y Mac) sin la necesidad de instalar otro programa. En dispositivos
móviles evitan la necesidad de desarrollar aplicaciones determinadas a cada plataforma móvil
(Windows Phone, Android, iOS) ya que igualmente solo con el navegador podemos acceder a la
pagina que se haya programado.

4. AGRADECIMIENTOS
Se agradece al Ing. Valente Vásquez Tamayo por el apoyo prestado para el desarrollo de la
investigación y desarrollo de programas de pruebas.

5. BIBLIOGRAFÍA
1. Fairweather I., Brumfield A., LabVIEW: A developer’s guide to Real World
Integration, primera edición, CRC Press, Estados Unidos, 2012.
2. Park J., Steve M., Practical Data Acquisition for Instrumentation and Control
Systems, primera edición, Newnes, Perth, Inglaterra, 2003.
3. Tutoriales diversos obtenidos en las páginas de National Instruments.

You might also like