You are on page 1of 2

el mundo de la automatizacin de procesos industriales ha estado tradicionalmente dominado por productos

de hardware y software propietarios. Es decir, por tecnologas que son cerradas y por las que hay que pagar
costosas licencias de uso. En los ltimos aos en todo el mundo ha habido una tendencia a revertir esta
situacin mediante el uso de tecnologas libres. El Software Libre es una de las respuestas a esto.
Si hacemos una revisin exhaustiva del estado del software libre en automatizacin podemos darnos cuenta
que todava hay mucho por hacer. No obstante ya existen controladores de proceso tipo DCS o PLC basados
en software libre que permiten desarrollos utilizando el sistema operativo Linux. Tambin es posible utilizar
productos tipo SCADA basados en software libre que sirven como sistemas SCADA de pequea escala y
como Interfaces Humanas.
Veamos un ejemplo concreto. Supongamos que tenemos un pequeo proceso donde necesitamos un PLC
para ejecutar una lgica de control, requerimos una interfaz de operadores sencilla, llevar los datos de ese
proceso a un aplicativo administrativo y adems tener una visualizacin web de lo que ocurre en nuestro
proceso mediante una conexin Internet.
La arquitectura que nosotros preferimos para esto es la siguiente. Como PLC escogemos alguno de los
fabricados por Sixnet . Este fabricante utiliza procesadores basados en el sistema operativo Linux y aunque
utiliza ISaGRAF que no es software libre contiene todo lo necesario para controlar cualquier proceso industrial
permitiendo desarrollar, si es que hace falta, programas en C en el lado Linux del controlador. El procesador
que utilizaramos sera uno de la serie IPm. Este controlador lo conectamos a una red Ethernet y del otro
extremo usamos un PC con sistema operativo Linux. Puede ser cualquier versin popular, nosotros preferimos
bien sea Debian o Ubuntu.
En la PC en Linux lo primero que debemos hacer es programar una rutina que leer y escribir los datos del
PLC mediante la interfaz ethernet. Ac tenemos dos alternativas. La primera es usar el sevidor OPC que
puede uno adquirir de Sixnet, pero para esto tendramos que usar Windows. Si ya tenemos una PC en
Windows por all o si usamos ya la tecnologa OPC pues no hay problema. Usamos OpenOPC para
Python para programar las lecturas de datos desde nuestra PC en Linux. Python es excelente como
herramienta de programacin, es totalmente libre, corre en cualquier sistema operativo y adems es muy facil
de aprender. Pues entonces programamos una tarea de lectura y escritura de datos usando Python y
OpenOPC. La segunda alternativa es no usar OpenOPC sino Modbus y Python. Hay varias libreras ya
completamente desarrolladas para Modbus y Python pero una que hemos usado con xito es la desarrollada
para el proyecto Lintouch. Este proyecto puede ser usado completamente como interfaz humana si
quisiramos, es software libre as que nada nos impide descargarlo y usarlo. Pero una alternativa interesante
es desarrollar nosotros mismos lo que querramos si la complejidad de lo requerido no es tanta. Otra
alternativa de IHM es usar Likindoy, un bonito software SCADA completamente libre que no solamente puede
mostrarnos los datos de nuestro PLC en pantalla sino que tambin puede elaborar grficos de tendencias.
As que resumiendo tenemos lo siguiente:
1.

Para el PLC usamos el Sixnet IPm el cual est basado en Linux.

2.

Lo conectamos a la PC en sala de control mediante una red Ethernet.

3.

La PC en sala de control que nos servir de IHM tendr Linux Debian o Linux Ubuntu segn nuestro
gusto.

4.

El software IHM podr ser Likindoy, Lintouch que recolectan datos mediante Modbus TCP o cualquier
software desarrollado por nosotros usando la librera Modbus para Python u OpenOPC si es que existe
el servidor OPC.

Pero si decidimos no usar Likindoy o Lintouch cmo desarrollamos nuestra interfaz?


Para esto lo principal es usar Python. Esta plataforma de desarrollo nos permite que tengamos un producto
listo en el mnimo tiempo posible. Gracias a la magia de Python y su facilidad de programacin. Una posible
arquitectura de nuestro programa sera esta:

Un software que ejecute la tarea de lectura y escritura de datos mediante la librera Modbus de Pyhton o
mediante OpenOPC. Los datos sern escritos o lidos de una localidad comn de memoria para mxima
rapidez en el acceso de datos.

La IHM propiamente dicha que mostrar los datos en pantalla. Para esto podemos utilizar PyGTK y Glade.
Hay que trabajar fuerte en la parte de presentacin de datos para que se vean las actualizaciones de los datos
en pantalla de forma suave y sin parpadeos pero en general con algo de prctica y buen manejo de los hilos
del programa pues es fcil desarrollar un buen producto sin muchos problemas.
En LIDESoft tenemos amplia experiencia en este tipo de proyectos. Hemos visto que se pueden hacer cosas
muy interesantes de manera rpida y a muy bajo costo. Soluciones mucho ms flexibles para problemas muy
particulares o de alta complejidad.

You might also like