SciELO - Scientific Electronic Library Online

 
vol.14 número54Modelo de formación de estudiantes investigadores en el Departamento de Ingeniería Industrial de la Universidad de antioquia Medellin ColombiaUtilización del algoritmo de forraje bacterial para identificar en línea los parámetros de un sistema eléctrico índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados

Revista

Articulo

Indicadores

Links relacionados

Compartir


Universidad, Ciencia y Tecnología

versión impresa ISSN 1316-4821versión On-line ISSN 2542-3401

uct v.14 n.54 Puerto Ordaz mar. 2010

 

SERVIDOR PARA UN SISTEMA DE SUPERVISIÓN Y CONTROL DE PROCESOS INDUSTRIALES BAJO SOFTWARE LIBRE

Sánchez Briceño Gabriel, Custodio Ruiz Ángel, Héctor Zerpa

Centro de Instrumentación y Control, Departamento de Ingeniería Electrónica, UNEXPO, Vicerrectorado Puerto Ordaz, Venezuela. cicunexpo@gmail.com

Resumen:

La Web y el sistema operativo Linux se han convertido en el medio nacional de acceso a un gran número de servicios de información. Unos de los campos de esta demanda se consideran los sistemas de supervisión y control usados en la industria nacional para el control de procesos industriales. Estos sistemas permiten, en cualquier momento, conocer el estado del proceso, con solo contar con un computador y conexión a Internet. Los sistemas actuales son propietarios y de diseño desconocido. Por tanto se plantea el desarrollo de un sistema servidor para un software de supervisión y control de procesos industriales basado en software libre. Este sistema presenta una aplicación SCADA que permite la realización de reportes de las diferentes variables que existen en el proceso, además permite, la configuración de las alarmas de una aplicación, así como, la creación, edición, eliminación de los usuarios de un proceso determinado. Esta aplicación también permite la realización de historiales de los procesos de forma grafica, también realiza las acciones de control de un elemento cualquiera del proceso.

Palabras Clave: Base de datos/ Scada/ Supervisión Web/ Adquisición de datos.

SERVER FOR A SUPERVISORY AND CONTROL SYSTEM OF INDUSTRIAL PROCESS UNDER FREE SOFTWARE

Abstracts:

The Web and the Linux operating system have become the national average for access to a large number of information services. Some of the fields in this lawsuit are considered supervisory and control systems used in domestic industry for the industrial process control. These systems allow, at any time, knowing the state of the process, only to have a computer and Internet connection. Current systems are proprietary and unknown design. Thus arises the development of a software system for server monitoring and control of industrial processes based on free software. This system has a SCADA application that allows the execution of reports of different variables that exist in the process also allows alarm configuration for an application, as well as creating, editing, removing users from a given process. This application also allows the performance record of the processes graphically, also performs the control actions of a component of the process.

Key words: Data Base/ Scada/ Web Supervisory/ Data Acquisition.

I. INTRODUCCIÓN

SCADA viene de las siglas de “Supervisory Control And Data Acquisition”, es decir: adquisición de datos y control de supervisión. Se trata de una aplicación software especialmente diseñada para funcionar sobre computadores en el control de producción, proporcionando comunicación con los dispositivos de campo (controladores autónomos, autómatas programables e instrumentación industrial) y controlando el proceso de forma automática desde la pantalla del computador. Además, provee de toda la información que se genera en el proceso productivo a diversos usuarios, tanto del mismo nivel como de otros supervisores dentro de la empresa. En este tipo de sistemas usualmente existe un computador, que efectúa tareas de supervisión y gestión de alarmas, así como tratamiento de datos y control de procesos [1]. La comunicación se realiza mediante buses especiales o redes de área local (LAN). Todo esto se ejecuta normalmente en tiempo real, y están diseñados para dar al operador de planta la posibilidad de supervisar y controlar dichos procesos de forma remota [2].

Debido a que los SCADA que poseen las empresas estatales son programas con aplicaciones específicas [3-4], existen pocas empresas que se dedican al diseño de este tipo de software. Es decir, los SCADA son diseñados a medida y fabricados por empresas que poseen sus licencias propietarias. Por otro lado existe la necesidad de desarrollar sistemas SCADA basado en software libre como una alternativa de alcanzar la independencia tecnológica en el caso de Venezuela (gaceta oficial Nº 38095, de fecha 28/12/2004, decreto 3390), para lo cual se han realizado aportes significativos [5-7]. Estos aportes han permitido comprender el funcionamiento interno de este tipo de sistemas, y el desarrollo de herramientas básicas de supervisión y control a distancia.

Un sistema SCADA está formado por una serie de aplicaciones que permiten la adquisición, el control y la supervisión de datos de procesos industriales. Con esta información es posible realizar una serie de análisis o estudios con los que se pueden obtener valiosos indicadores que le dan al operador una retroalimentación sobre el funcionamiento del proceso.

En vista de la gran oportunidad que se presenta, la UNEXPO - FUNDIUP, ha decidido el desarrollo de un sistema SCADA basado en las especificaciones de Custodio [8], el cual contará con una base de datos desarrollada por Tellería [9]. Este sistema se basa en el microscada desarrollado por Sánchez [10] en el cual se controlaba de forma remota una planta para el control de fluidos.

A lo largo de los últimos años, los diseñadores de sistemas, se han enfocado en el desarrollo de SCADA Libres, y que corran bajo un sistema operativo GNU. En Venezuela la mayoría de las plantas funcionan de forma manual y/o con sistemas propietario y SCADA propietarios. Según el nivel de conocimiento, la investigación a desarrollar será de tipo proyectiva, porque se intenta proponer una solución a una necesidad nacional formada gracias al decreto presidencial Nº 3.390. La UNEXPO - FUNDIUP, ha decido la realización de este software SCADA para ofrecerlo como una alternativa abierta y de tecnología nacional. Se presenta en primer lugar la descripción de las herramientas utilizadas, definiendo los lineamientos, y posteriormente, los recursos usados. Luego se expone el diagrama de bloques del sistema diseñado. Posteriormente se presentan los resultados, en los cuales, se describen de forma resumida cada uno de estos bloques y las pantallas obtenidas. Finalmente se presentan las conclusiones de esta investigación.

II. DESARROLLO

Una vez estudiado el problema, y verificado los requerimientos del Sistema SCADA presentado por Custodio [8], se prosiguió con la selección de los componentes o herramientas para el desarrollo del SCADA, siguiendo estos lineamientos:

1. Licencia de Código Abierto o GPL: De esta manera se garantiza que el diseño implementado pueda ser utilizado libremente por todos los entes interesados, logrando el desarrollo de conocimiento y tecnología independiente y universal

2. Visualización mediante WEB, esto debido a que las nuevas tendencias de desarrollo de scada se están basando en este aspecto. Por tanto, el sistema podrá utilizarse independientemente del sistema operativo.

3. Alta Disponibilidad.

4. Redundancia o capacidad de sistema alterno de emergencia.

Una vez comparadas diversas herramientas se proponen los siguientes recursos: Como sistema Operativo: Linux. Ya que es licencia GPL

1. Para servidores en sí es recomendable usar Debían. Por su alta estabilidad y seguridad

2. Para estaciones de trabajo es aconsejable Ubuntu, pues es de buenas prestaciones, fácil de instalar y posee una interfaz hombre máquina amigable. En cuanto los lenguajes de programación es aconsejable utilizar:

1. C/C++. Para desarrollo de núcleos críticos. La razón está dada por la rapidez de ejecución que predomina en todos los dominios. Menor complejidad y mayores restricciones de tiempo.

2. PhP 5 /Java, para Aplicaciones Web.

Para el diseño de las páginas Web, se utilizó los estándares W3C CSS y W3C XHTML.

En lo que respecta a la base de datos es conveniente utilizar Mysql 5.0 o superior:

1. Gran velocidad a la hora de realizar sus operaciones.

2. Bajo consumo de recursos.

3. Los Objetos son relacionales

4. Aspecto de Seguridad.

5. Estabilidad.

6. Dominio por un universo de personas mucho mayor que otras herramientas libres.

1. Diagrama en bloque del Proyecto.

Como se observa en la Figura 1 este Sistema Scada está dividido en cuatro partes fundamentales que son:

1. Módulo de comunicaciones. Este módulo será el encargado de la comunicación entre el proceso y el sistema. Para ello se aplicaron una serie de protocolos de comunicación como el TCP/IP, RS485, a través del bus de campo Modbus. Este módulo es fundamental, ya que tiene dos funciones vitales: adquirir los datos del proceso industrial y aplicar las acciones de control tomadas por los controladores. Por tanto es la interfaz básica del sistema. Allí llegan las señales provenientes del proceso, se acondicionan, y se mandan a la base de datos del sistema. Luego, una ves ejecutada la acción de control, la señal viaja de la base de datos a este módulo, el cual la manda al proceso para aplicar la acción solicitada.

2. Módulo de Sistema. Este es el núcleo del SCADA, se encarga de generar un mapa de memoria en donde se refrescarán todas las señales y variables, para que luego, programas mas pequeños y específicos (historiales, clientes, configuraciones, tags, alarmas), puedan recibir esos datos y trabajar independientemente.

3. Servidor Web: En este se presentaron las pantallas modulares para:

a. Interfaz de Usuario.

b. Manejo de alarmas.

c. Gráficos y Tendencias.

d. Datos Históricos, Almacenamiento y Recuperación

1. Base de datos: la cual cuenta con 8 tablas las cuales son: a. Usuarios: recoge a todos los usuarios con sus respectivas políticas de usos. O niveles de acceso. b. Historial: contiene los datos referentes al historial, para su posterior uso ya sea para realizar un reporte o para verificar el historial de algún elemento del sistema. c. Datos: presenta los datos que se obtienen por medio de la adquisición y los datos necesarios para el control. d. Alarma_Conf: contiene la configuración de las alarmas de los diferentes elementos. e. Pantalla: tiene los campos pertinentes a los datos de los objetos que serán colocados en las pantallas. f. Configuración: comprende los valores y configuración de los diferentes elementos que contiene un proceso en específico. g. Administrador: abarca los nombres de los procesos y sus creadores. h. Objetos: posee todos los campos pertinentes a la galería de objetos que posee el editor de pantallas, ella contiene la galería de imágenes relacionada con cada objeto.

III. RESULTADOS

Para el análisis del funcionamiento del módulo, se utilizó un computador con las siguientes características:

Hardware: Procesador Intel Pentium IV 3.0 GHz, Memoria RAM de 512 MB, Disco Duro 80 GB 7200 RPM.

Software: Sistema Operativo Linux Debían, Kernel 2.6.18-4- 686, Servidor WEB Apache 2.2.3, PHP versión 5.2., Librería GD 2.0., SGBD Mysql 5.0.32., GCC versión 4.1.2. Y se realizaron las pruebas respectivas de funcionamiento a cada uno de los módulos.

Módulo de Usuarios. Este módulo fue el encargado de

adición, sustracción o modificación de los diferentes usuarios que manejaran el sistema, adicional a esto también por medio de este Módulo se logro modificar los niveles de ejecución o niveles de usuarios en un rango comprendido entre 1 y 9, siendo 1 el nivel más alto o el usuario que puede entrar a todos los módulos y el nivel 9 el nivel más bajo, que tendrá un nivel restricción absoluta o máxima.

Para el desarrollo de este módulo se utilizo también un sistema de autentificación de usuarios usando PHP y Mysql. En la figura 2 se muestra el esquema que se utilizó para el desarrollo del sistema de autentificación.

a. Agregar Usuario

La opción de agregar usuarios permite administrar los permisos de cada una de las personas que tendrán acceso al SCADA. La prueba realizada a esta componente fue la de agregar un usuario y comprobar su registro (Figura 3).

 

b. Eliminar Usuario

Esta opción consiste en la deshabilitación de aquellos usuarios que pierden los permisos para manejar el SCADA. En este caso se procedió a eliminar un usuario y verificar la operación ejecutada (figura 4).

c. Restricciones

Esta prueba consistió en realizar diversos ataques para ingresar al sistema o violar los permisos aprobados. Para ellos se realizaron diversas acciones para poder ingresar a un Módulo cualquiera si antes estar registrado. Luego se probó el acceso a módulos no permitidos para usuarios que están registrados al sistema con ciertas políticas de acceso.

Módulo de Alarma. En este módulo se configuran las alarmas para las diversas variables o dispositivos (instrumentos) de la planta supervisada. Esta configuración es importante ya que en los procesos industriales siempre existen condiciones de seguridad para evitar funcionamientos

a. Agregar Alarma

Se agregaron, previamente 3 elementos del panel de configuración que forma parte del módulo editor de pantallas. En la Figura 6 se muestra el ingreso de una de las alarmas.

b. Eliminar Alarma

Se ejecuta la eliminación (Figura 7), y se verifica la ejecución.

Módulo Historial

Este módulo desplegó de forma gráfica los eventos ocurridos, y permitió la selección de la fecha y hora en la cual se requiere verificar los datos. Para la realización de este Módulo se utilizo la librería Jpgraph, para el diseño y creación de las graficas. Es módulo permitió la visualización de forma gráfica de tendencias de cualquiera de las variables. En la Figura 8 se muestra el diagrama de flujo de este módulo.

Como se observa en la Figura 8 para generar un historio fue necesario que el usuario indique la fecha y hora en la cual desea que se muestre las tendencias de un elemento en específico, para luego hacer una búsqueda en la base de datos de historial, y generar la gráfica usando la librería Jpgraph. Para la verificación, se generaron datos aleatorios y se contrastaron con la visualización (Figura 9).

 

Módulo Datos.

Este módulo fue el encargado de ejecutar las acciones de control en un proceso o elemento determinado, además, de realizar las operaciones matemáticas básicas, como: Coseno, Seno, Tangente, Raíz cuadrada, Potencia a la 2, Logaritmo base 10, Exponencial y Valor Absoluto. En cuanto a las acciones de control están: Controlador PD, Controlador PI y Controlador PID.

La selección de los varíales se hará de forma manual por parte del programador. En la Figura 10 el diagrama de flujo del funcionamiento de este módulo.

Como se observa en la Figura 10, para el procesamiento de datos, luego de seleccionado el elemento, es necesario seleccionar que tipo de acción se va a realizar, PI, PD y PID o una función matemática. En el caso de ser una acción de control ya sea PI, PD, PID, después de seleccionado es necesario que el operador ingrese los valores respondiente a cada acción por ejemplo, si se selecciona PI, el operador debe colocar la constante proporciona e integral, además, del valor del set point, para luego ser guardado en la base de datos para que Módulo Sistema se encargue de las acciones respectivas. En lugar de ser seleccionada una función matemática, simplemente se toma el valor del elemento y se le aplica la función respectiva. Este módulo se comprobó su funcionamiento enviando una acción de control a un elemento determinado (Figura 11), y la aplicación de alguna función matemática cualquiera (Figura 12).

Módulo Reportes: El módulo consiste es generar informes sobre la evolución de las diversas variables del proceso industrial. Estos reportes deben ser compatibles con los formatos más importantes usados por industria del software como son las herramientas tipo Windows, y las correspondientes tipos Linux. Este Módulo permitió la creación de reportes de los datos y alarmas almacenados en la base de datos. Con este Módulo fue posible realizar reportes diarios, semanales, mensuales y/o anuales, de los datos y alarmas, que se presentan en un proceso en específico, permitiendo el guardado en un archivo de diferentes extensiones, como txt, html, excel y openoffice calc. Como pueden ver todos los formatos son de aplicaciones abiertas. (Figura 13).

Como se observa en la Figura 13, para generar el reporte es necesario ingresar el rango de fecha el cual se desea el reporte, luego se selecciona el elemento al cual se desea generar el reporte, inmediatamente después es posible la selección del formato al cual se desea guardar el reporte. Para su comprobación se generó un reporte de un elemento cualquiera, el cual puede guardarse en diversos formatos: txt, pdf, csv, Openoffice.

Módulo Sistema.

Este módulo fue uno de los más importantes, esto porque permite ejecutar las acciones en tiempo real, este módulo se encargó de ejecutar las siguientes funciones:

• Detección de las alarmas y almacenamiento de las mismas.

Almacenamiento históricos de datos

• Actualización de datos.

En la Figura 14 un diagrama de flujo de este módulo.

Como se observa en la Figura 14, este módulo se encargó de obtener el dato adquirido del elemento, para su posterior análisis, como para determinar si está entre los rangos permitidos, para luego ser almacenado en la base de datos.

Este programa se dejó trabajando por espacio de una semana sin tener ningún contratiempo (Figura 15).

La comunicación entre módulos se efectúa directamente a través de la base de datos. Es decir, la información se almacena constantemente en la base de datos, y luego, cuando se requiere se lee directamente desde allí. El sistema es un prototipo y por tanto aún no se han tocado aspectos relacionados con la fiabilidad, escalabilidad y mantenibilidad.

IV. CONCLUSIONES

Una vez descrito los resultados obtenidos del SCADA bajo software libre diseñado, se puede concluir lo siguiente:

1. Se desarrolló un servidor para un sistema de supervisión y control de procesos industriales. Verificándose el correcto funcionamiento del sistema operando de forma integrada, mediante una prueba operativa durante un tiempo prudencial.

2. Se desarrollaron y verificaron los módulos de usuarios, alarmas, historial, datos, reportes y sistema central del servidor. Mediante la aplicación de operaciones específicas en cada módulo, como agregado y eliminación de usuarios y alarmas, simulación de datos para observar el comportamiento del historial y la generación de reportes.

3. El sistema funciona bajo Linux y utilizando las herramientas comunes de programación y configuración totalmente libres. Lo cual garantiza el manejo libre de esta tecnología.

4. El sistema opera bajo cualquier sistema operativo, debido a su puesta en marcha en un servidor web, también implementado bajo software libre.

V. REFERENCIAS

1. Núñez, A., Zafra, A. (2001). Supervisión, monitorización y control de planta piloto mediante SCADA, XXII Jornadas de Automática, Barcelona, España, pp. 70-76.         [ Links ]

2. Inserny, V., Aboul, A., Cañas, J., Custodio, A. (2008). Diseño de un sistema de supervisión centralizado para las plantas de tratamiento de agua de CVG GOSH. Ciudad Guayana. Universidad Ciencia y Tecnología, Vol.12, Nº.46, p.43-48.         [ Links ]

3. Yépez, F. (2000). Desarrollo de un sistema de instrumentación virtual para pruebas en unidades generadoras utilizando comunicación digital, Tesis de Grado, UNEXPO, Puerto Ordaz.         [ Links ]

4. Suarez, F. (2004). Diseño y simulación de la interconexión de procesos mediante red Ethernet, Tesis de Grado, UNEXPO, Puerto Ordaz.         [ Links ]

5. Plaza, A., Granado, E., Torre, M. (2005). Diseño conceptual de un sistema SCADA basado en software de código abierto, Jornadas de Sistemas de Automatización y Control, Caracas, Venezuela, pp. 100-105.         [ Links ]

6. Alves, A., Normey-Rico1, J., Merino, A., Prada, C.(2003). Un SCADA via OPC aplicado a una planta piloto, 2º Congreso Brasilero de P&D em petróleo & gas, Rio de Janeiro, Brasil, pp. 56-60.         [ Links ]

7. Sánchez, G., Custodio, Á. (2007). Desarrollo de sistema SCADA para el control de caudal basado en LINUX, Universidad Ciencia y Tecnología, Vol.11, Nº.44, p.121- 128.        [ Links ]

8. Custodio, A. (2007). SCADA AGUA V1.0 Especificaciones Básicas, UNEXPO. Puerto Ordaz.         [ Links ]

9. Telleria, G., Custodio, A. (2007). Desarrollo de un módulo de configuración del SCADA Agua, Tesis de Grado, UNEXPO, Puerto Ordaz.         [ Links ]

10. Sánchez, G., Custodio, A. (2007). Desarrollo sistema SCADA para controlar el caudal, adquiriendo los datos por el puerto USB, bajo plataforma Linux, Tesis de Grado, UNEXPO, Puerto Ordaz.        [ Links ]

Creative Commons License Todo el contenido de esta revista, excepto dónde está identificado, está bajo una Licencia Creative Commons