Consultoria, desarrollo y soporte en software libre

  • Aumentar fuente
  • Fuente predeterminada
  • Disminuir fuente

Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference, value given in /home/proytek2/public_html/lidesoft/libraries/joomla/cache/handler/callback.php on line 99
Inicio Blog Software Libre en Automatización de Procesos Industriales

Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Los_Angeles' for 'PDT/-7.0/DST' instead in /home/proytek2/public_html/lidesoft/libraries/joomla/utilities/date.php on line 56

Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Los_Angeles' for 'PDT/-7.0/DST' instead in /home/proytek2/public_html/lidesoft/libraries/joomla/utilities/date.php on line 198

Software Libre en Automatización de Procesos Industriales

El mundo de la automatización de procesos industriales ha estado tradicionalmente dominado por productos de hardware y software propietarios. Es decir, por tecnologías que son cerradas y por las que hay que pagar costosas licencias de uso. En los últimos años en todo el mundo ha habido una tendencia a revertir esta situación mediante el uso de tecnologías libres. El Software Libre es una de las respuestas a esto.

Si hacemos una revisión exhaustiva del estado del software libre en automatización podemos darnos cuenta que todavía 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. También es posible utilizar productos tipo SCADA basados en software libre que sirven como sistemas SCADA de pequeña escala y como Interfaces Humanas.

Veamos un ejemplo concreto. Supongamos que tenemos un pequeño proceso donde necesitamos un PLC para ejecutar una lógica de control, requerimos una interfaz de operadores sencilla, llevar los datos de ese proceso a un aplicativo administrativo y además tener una visualización web de lo que ocurre en nuestro proceso mediante una conexión 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 utilizaríamos sería 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 versión 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 tendríamos que usar Windows. Si ya tenemos una PC en Windows por allí o si usamos ya la tecnología 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 programación, es totalmente libre, corre en cualquier sistema operativo y además 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 librerías 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 quisiéramos, 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 también puede elaborar gráficos 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 según nuestro gusto.
  4. El software IHM podrá ser Likindoy, Lintouch que recolectan datos mediante Modbus TCP o cualquier software desarrollado por nosotros usando la librería Modbus para Python u OpenOPC si es que existe el servidor OPC.

Pero si decidimos no usar Likindoy o Lintouch ¿cómo desarrollamos nuestra interfaz?

Para esto lo principal es usar Python. Esta plataforma de desarrollo nos permite que tengamos un producto listo en el mínimo tiempo posible. Gracias a la magia de Python y su facilidad de programación. Una posible arquitectura de nuestro programa sería esta:

  • Un software que ejecute la tarea de lectura y escritura de datos mediante la librería Modbus de Pyhton o mediante OpenOPC. Los datos serán escritos o léidos de una localidad común de memoria para máxima 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 presentación 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 práctica y buen manejo de los hilos del programa pues es fácil 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 rápida y a muy bajo costo. Soluciones mucho más flexibles para problemas muy particulares o de alta complejidad.

 

Buscar

Aliados


Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference, value given in /home/proytek2/public_html/lidesoft/libraries/joomla/cache/handler/callback.php on line 99

Entérese


Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Los_Angeles' for 'PDT/-7.0/DST' instead in /home/proytek2/public_html/lidesoft/libraries/joomla/utilities/date.php on line 198

LIDESoft, S.A. acaba de finalizar la versión 5.0 de su software TJI Dosimatic para gestión de unidosis hospitalarias.

Leer más...