Análisis, diseño y programación de un conjunto de componentes ligeros de supervisión para un sistema SCADA multiplataforma con arquitectura CORBA
Abstract
Análisis, diseño y programación de un conjunto de componentes ligeros de
supervisión para un sistema SCADA multiplataforma con arquitectura CORBA es un
título que describe concretamente el objetivo del proyecto.
Toda planta industrial necesita un sistema de control para su correcto
funcionamiento. Los controles han ido evolucionando junto a las plantas, desde
simples mecanismos hasta complejos sistemas de supervisión y adquisición de datos.
La labor del control es sencilla, regular el funcionamiento de la planta según unas
pautas establecidas y la evolución de la planta.
En estos últimos años, el sistema SCADA (Supervisory Control And Data
Adquisition) se ha convertido en el sistema que más se adecua a las necesidades de
control de las plantas. La idea es sencilla, adquirir datos de todos los puntos de la
planta que se necesite, concentrarlos, procesarlos como se desee y si es necesario
enviar órdenes a los actuadores para que operen sobre la planta.
Los sistemas de control de plantas industriales tienen una característica muy
importante que siempre se ha tenido en cuenta: su robustez. Sólo se implantan
sistemas de control con probado correcto funcionamiento y resistentes a fallos. Eso
ha impedido durante estos últimos años que las nuevas tecnologías se apliquen a las
plantas industriales de forma inmediata.
La consecuencia inmediata de esta necesidad de robustez es que los sistemas
de control son muy celosos y cerrados, y con un entorno muy poco amigable para el
hombre. Este es un gran inconveniente, ya que cualquier técnico que deba encargarse
de la supervisión de una planta tiene que estar presente delante del sistema de control
en la planta, y además aprender a manejar un entorno nada intuitivo. Con la incorporación de las nuevas tecnologías y la demostración de que ya
se puede conseguir que funcionen correctamente y a prueba de fallos surge la
resolución a estos problemas de los sistemas de control.
Aquí es donde empieza el ámbito de este proyecto. Gracias a proyectos
anteriores, se tiene un sistema SCADA que se comunica con una base de datos en
tiempo real (OMS: Object Management System) funcionando sobre Windows 2000
(que aún no siendo un sistema operativo orientado al tiempo real, consigue muy buen
rendimiento) y un servidor que permite la conexión de aplicaciones remotas
(OrnsORB). Lo que se ha dearrollado en este proyecto es un componente ligero,
cliente, que gracias a las nuevas tecnologías de la Internet permiten un MMI (ManMachine
Interface) mucho más amigable, con gráficos dinámicos, representaciones
de datos más intuitivas ... Y una movilidad del técnico usuario absoluta. Eso es, el
usuario podrá informarse del estado de la planta y controlarla, ya no sólo desde el
centro de control, sino desde cualquier máquina en cualquier parte del mundo a
través de la Internet. Y no necesariamente desde un equipo pesado. La característica
principal de un componente ligero es precisamente esa, que puede ser ejecutado
desde un cliente ligero, un cliente muy sencillo. Un browser es el cliente ligero por
excelencia y el applet el componente ligero perfecto.
Para conseguir esa portabilidad, se ha elegido el lenguaje de programación
rnultiplatafonna por excelencia en la actualidad, el Java. Y para tener la movilidad
deseada, se pensó en implementar los clientes en applets para que fuesen embebidos
en páginas HTML y así poder ser descargadas del servidor desde cualquier máquina
con conexión a la Internet. Al final se optó por generar una aplicación, debido a
graves problemas de comunicación y seguridad surgidos al utilizar la arquitectura
CORBA.
Una vez elegido el lenguaje de programación debemos detenermos en la
elección de cómo se van a programar los componentes ligeros para que además de la
portabilidad y la interfaz amigable se siga manteniendo la integridad y la robustez del
sistema. La arquitectura que más fiabilidad nos da en este sentido es la arquitectura
CORBA (Common Object Request Broker Architecture). Una arquitectura cliente-servidor
orientada al objeto, que además presenta la ventaja de ser multilenguaje, lo
que permitiría en un futuro integrar nuevas aplicaciones, tanto clientes como en el
servidor, escritas en cualquier lenguaje de programación que soporte CORBA. Este tipo de aplicaciones empiezan a poder verse en la Internet, aunque
parece que por ahora son de una extrema sencillez o funcionan con bastante lentitud,
debido a la gran transacción de datos que se produce. Otra ventaja de la arquitectura
COREA es que la cantidad de datos que viaja por la red se reduce
considerablemente. Además de ello, el cliente desarrollado OmsGUI no tiene que
estar a la espera de cambios en el servidor mediante un polling sino que mediante
callbacks el cliente es refrescado automáticamente por el servidor. El servidor sólo
avisa de los cambios de los datos en los cuales el cliente está interesado, y estos son
los únicos que envia.
Otra característica importante del componente ligero OmsGUI es su
adaptabilidad. El diseño de la interfaz gráfica y su dinamismo se describe en un
archvio SVG - Scalable Vectorial Graphics, un estándar de gráficos vectoriales de
OMG que sigue el estándar XML. En ese archivo se define el gráfico representativo
de la planta, de libre diseño, y de qué forma se quiere que cambie en función de los
valores de los TAGS de la base de datos en tiempo real que controla la planta. Así
cuando cambia alguna característica de la planta, cualquier programador o usuario
que conozca el estándar SVG-XML podrá modificar la interfaz gráfica
convenientemente y sin dificultad.
Gracias a las potentes APIs de Java2D, que se encargan de la renderización a
pantalla, la salida soporta todo el estándar SVG. La vistosidad y lo intuitivio que sea
el uso del cliente de supervisión dependen enteramente de la pericia del diseñador de
la interfaz gráfica.
Por último cabría comentar las perspectivas futuras de este proyecto. La
implementación de SVG y el motor de renderización que se han usado son del
Apache Batik Project. Este proyecto evoluciona constantemente, tanto en cantidad de
objetos SVG implementados como en optimización.
Trabajo Fin de Grado
Análisis, diseño y programación de un conjunto de componentes ligeros de supervisión para un sistema SCADA multiplataforma con arquitectura CORBATitulación / Programa
Ingeniero IndustrialMaterias/ UNESCO
33 Ciencias tecnológicas3304 Tecnología de los ordenadores