Arquitectura de un Sistema para Telecontrol por Internet para la
Simulacin en Tiempo Real de un Motor de Corriente Continua
J orge Salvador Valdez Martnez, Pedro Guevara Lpez, Gustavo Delgado Reyes Escuela Superior de Ingeniera Mecnica y Elctrica Unidad Culhuacn del Instituto Politcnico Nacional jsvaldezmtz@yahoo.com.mx, pguevara@ipn.mx , dengue_mgs4@hotmail.com
Abstract
This paper presents a Telecontrol System Architecture Internet based for a Real Time Simulation DC electric motor . The data transmition between computers were done using the schema client-server with TCP protocol; in the server computer was implemented in QNX Neutrino, a Hard Real time System which simulated the DC motor; the Simulation results were exported to the client who had WindowsVista MR Operating System with Graphical User Interface (GUI) developed in LabVIEW MR which plotted the data transmited. En este trabajo se describe la arquitectura de un sistema de telecontrol basado en internet para un motor de corriente continua simulado en tiempo real. La transferencia de informacin realizada entre los equipos se rige bajo un esquema cliente-servidor utilizando el protocolo TCP; en la computadora con el servidor se implant en QNX Neutrino el sistema de tiempo real crtico que simula el motor y que exporta los resultados a la computadora con el cliente; el cliente se implant en Windows Vista MR con LabView 2009, ste grafica los datos y sirve como interfaz al usuario.
1. Introduccin
Actualmente en Internet se pueden encontrar diversas aplicaciones y/o aparatos que tienen por objeto presentar u ofrecer la opcin de poder manipular remotamente a un sistema fsico. Las empresas que han trabajado sobre plataformas en telecomunicaciones ven como una opcin viable el explotar los recursos ofrecidos por el Internet, acercando (virtualmente) a un equipo o sistema lejano sin necesidad de desplazarse fsicamente al lugar, solamente usando como interfaz de control un teclado y un monitor. Sin embargo, el telecontrol no es simplemente "mando de un aparato, mquina o sistema, ejercido a distancia [1]". Para que un sistema fsico sea controlado a distancia se deben de tener en consideracin los siguientes factores: Tipo de medio de transmisin de informacin sobre el cual se comunicarn el sistema controlado y el sistema controlador; normas para la manipulacin remota y automatizacin; transductores que permitirn la conversin de la informacin; y por ltimo, retardos en la comunicacin. Aunado a esto, en algunos casos, el sistema a telecontrolar es un sistema en tiempo real, entonces nicamente es posible interactuar en lnea con el sistema debido a que Internet no puede cumplir con caractersticas de tiempo real y para evitar que el sistema en tiempo real quede atado a las restricciones del sistema en lnea, debe implantarse algn tipo de aislamiento, como por ejemplo: sockets o tuberas no bloqueantes, colas de espera, etc.
2. Estado del arte del telecontrol por Internet
Uno de los primeros trabajos donde se estudia a conciencia el modelo cliente servidor como esquema de comunicacin entre computadoras remotas es expresado por J . J in en [2]. En este trabajo se plantean las caractersticas principales con las que debe contar un esquema tpico de comunicacin bajo un esquema cliente-servidor y bajo este contexto se menciona que una computadora servidor es cualquier mquina que posee una copia completa de los datos del sistema, se cita como una de las principales 2
caractersticas de la computadora cliente que es capaz de tener acceso a la informacin residente en el servidor desde cualquier ubicacin posible. En el artculo de Cragg et. al. [3] se menciona que la perdida de datos se puede disminuir considerablemente utilizando un mecanismo de comunicacin que use la pila de protocolos de la familia TCP/IP, pero sin embargo este proceso incrementar los tiempos de retraso, con los cuales es fcil tratar considerando un sistema que utilice un hardware de redundancia o un software redundante adaptivo. El enfoque sugerido por G. Gini en [4] establece que el internet es un medio de comunicacin que cobra auge da a da, lo que lo hace objeto de estudio constante. En esta investigacin se estudia el concepto de la tele programacin aplicada a un brazo robtico de seis grados de libertad para lograr un sistema que permita enviar solo los comandos de ms alto nivel a travs de internet a travs de un esquema cliente-servidor. C. Guerra y J . de Len en [5] indican los pasos y los requerimientos necesarios para la implementacin de una plataforma de tele operacin va internet basada en software costeable y de fcil instalacin, aplicndose el telecontrol en un motor de induccin localizado en el IRCCyN en Nantes, Francia. En este caso, la planta a controlar es monitoreada usando servicios de escritorios remotos. Liviatini et. al. en [6] sugiere el internet para el control de robots inteligentes, adicionalmente se analiza la estacin de tele ciruga robtica desarrollada por the robotics an intelligent machines laboratory of the Univesity of Califonia, Berkly (UCB) y the department of surgery of the University of California San Francisco (UCSF). El acceso a equipo remoto para la experimentacin ya sea en la enseanza o en la investigacin es una idea claramente planteada por C. Guerra y J . Morales en [7]. En este trabajo se propone una arquitectura de distribucin de software llamada Teleoptions que permite unificar las modalidades de telecontrol y tele operacin para experimentacin remota en robtica y que adems se encuentra diseada segn un esquema cliente-servidor.
3. El Modelo del Motor de Corriente Continua
Debido a que el enfoque del presente trabajo est orientado a la simulacin de un motor de corriente continua, es imprescindible utilizar como punto de partida un modelo matemtico adecuado, que adems de interrelacionar todas las variables que intervienen en su dinmica, tambin proporcione una amplia idea de cmo evoluciona su comportamiento en funcin del tiempo. Para el desarrollo del modelo matemtico de un motor se parti de su circuito elctrico y de su circuito mecnico mostrado en la figura 1.
Figura 1 Diagrama mecnico del motor de C.C.
El modelo matemtico de acuerdo a [8] es:
(1)
Con:
Tabla 1 Variables del modelo del motor de corriente continua.
El modelo discreto del motor a travs de diferencias finitas es:
(2) Y 3
(3)
A partir de la programacin de las ecuaciones 2 y 3 se obtuvieron las simulaciones en el sistema operativo de tiempo real QNX Neutrino. Adems, este modelo permitir simular el motor de corriente continua.
4. Arquitectura el Sistema de Telecontrol
Para representar adecuadamente la arquitectura de un sistema es necesario contar con varios diagramas o vistas [9] en donde cada una de estas vistas es una estructura de la arquitectura del sistema, que muestran una parte del sistema como un conjunto de componentes, conectores y restricciones sobre sus tipos y relaciones para complementar la visin integral del sistema [10]. En este sentido, en esta seccin se propone un esquema de telecontrol de tipo Cliente- Servidor (Sistema controlado-Sistema Controlador) sobre la simulacin en tiempo real de un motor de corriente continua. Este modelo de comunicacin permite comunicar al sistema en tiempo real crtico (servidor) con un sistema en lnea (cliente), enviando la informacin en forma de strings entre ambas computadoras y aislando al servidor del cliente utilizando sockets no bloqueantes, permitiendo al usuario la operacin y monitoreo totalmente a distancia. El esquema se puede apreciar en la figura 2.
CLIENTE (CONTROL) SERVIDOR (MODELO FSICO SIMULADO) Sistema operativo Windows Sistema operativo QNX Figura 2 Esquema de comunicacin cliente - servidor.
El sistema de telecontrol est construido sobre un esquema cliente servidor basado en TCP debido a que ste genera un circuito virtual que asegura la llegada de los paquetes de informacin en comparacin con UDP. El servidor est implantado sobre el sistema operativo de tiempo real QNX Neutrino 6.5 [11]; el servidor simula en tiempo real a un sistema fsico, sus algoritmos son el resultado de discretizar por diferencias finitas este modelo. El cliente es el responsable de monitorear y enviar la variable que manipula al sistema controlado; el control se realiza usando una retroalimentacin esttica de salida.
5. Descripcin de la arquitectura del servidor
El servidor fue desarrollado en el sistema operativo de tiempo real QNX Neutrino 6.5 y est formado por 7 mdulos (ver figura 3.) y su descripcin se presenta a continuacin
MDULO DE RECONSTRUCCIN DE TIEMPOS DE EJ ECUCIN MDULO DE SINCRONIZACIN DE PROCESOS MDULO DE SIMULACIN EN TIEMPO REAL DEL SISTEMA MDULO DE GENERACIN DE BASES DE DATOS MDULO DE ADQUISICIN DE DATOS MDULO DE COMUNICACIN POR RED MDULO DE INTERFAZ DE USUARIO SERVIDOR Sistema operativo de tiempo real (QNX) Figura 3 Mdulos del servidor.
Mdulo de comunicacin por red. Este mdulo proporciona las condiciones necesarias para poder iniciar la comunicacin por red y a travs de sockets entre el servidor y el cliente, para lo cual es necesario definir los puertos a utilizar. Mdulo de sincronizacin de procesos. Cuando un dato es enviado de un proceso a otro a travs de un canal de comunicacin llamada tubera es importante establecer una secuencia ordenada para realizar la lectura y escritura de la informacin, de lo contrario los procesos participantes se bloquean de manera inevitable. Es por esa razn que este mdulo es importante para asegurar la escritura y la lectura de la informacin en el momento que se necesite. Mdulo de simulacin en tiempo real del sistema. La simulacin del sistema fsico que se 4
realiza en este mdulo est aplicada en este caso, a la dinmica de un motor elctrico de corriente continua. Mdulo de generacin de bases de datos. Este mdulo se encarga de generar los archivos de tipo texto por cada uno de los procesos concurrentes programados en el sistema operativo de tiempo real. Mdulo de interfaz de usuario. Este mdulo sirve de interfaz grfica al usuario para poder compilar y ejecutar los procesos concurrentes que fueron programados en el sistema operativo de tiempo real, en este sentido este mdulo podra permitir aparte de visualizar los valores de las variables calculadas, ingresar va teclado valores que afecten al comportamiento de la simulacin en el sistema de cmputo. Mdulo de adquisicin de datos. Este mdulo es usado para obtener informacin de sistemas fsicos a travs de puertos de entrada/salida o de tarjetas de adquisicin de datos Mdulo de reconstruccin de tiempos de comunicacin. Es el mdulo encargado de obtener la medicin de los tiempos de ejecucin de los procesos concurrentes.
6. Descripcin de la Arquitectura del Cliente
El cliente fue desarrollado en el sistema operativo Windows Vista MR y est formado por 6 modulos que se representan en la siguiente figura. MDULO DE COMUNICACIN POR RED MDULO DE CONTROL EN LNEA MDULO DE GENERACIN DE BASES DE DATOS MDULO DE INTERFAZ DE USUARIO MDULO DE VISUALIZACIN MDULO DE ADQUISICIN DE DATOS CLIENTE Sistema operativo de tiempo compartido (Windows) Figura 4 Mdulos que integran al cliente de telecontrol. La interfaz grfica de usuario fue creada usando el software de desarrollo industrial LABVIEW 2009 MR debido a que da la facilidad de programacin de un cliente adems de que ofrece la posibilidad de graficar a la informacin que se enva y se puede sacar esta misma informacin, usando tarjetas de adquisicin de datos a dispositivos graficadores tal y como es un osciloscopio. La descripcin de los mdulos que conforman al cliente, se presenta a continuacin: Mdulo de comunicacin por red. Este mdulo de manera similar que su contraparte en el proceso servidor, est a cargo de establecer un circuito virtual para realizar el intercambio de informacin entre la red de computadoras. Para realizar esta accin es necesario que el usuario proporcione la direccin IP del servidor remoto y los puertos a utilizar, la simulacin del motor y el intercambio de informacin entre el proceso servidor y el proceso cliente se realiza a travs de una sola direccin IP, sin embargo es importante mencionar que para la simulacin de ms motores, a cada motor se le asigna un nmero de puerto nico e irrepetible. Mdulo de sincronizacin de control en lnea. Este mdulo permite al usuario ingresar desde el teclado de la mquina en la cual se ha desarrollado la aplicacin en LabView, la ganancia K del esquema de control proporcional Mdulo de generacin de bases de datos. Este mdulo se encarga de generar un archivo que contiene todos los datos enviados a travs del socket por el mdulo servidor, ya que esta informacin en su totalidad ser ocupada por el mdulo de visualizacin y en este sentido es importante asegurar su integridad. Mdulo de interfaz de usuario. Este mdulo funge como interfaz grfica al usuario para poder realizar las siguientes acciones: inicio o paro en la ejecucin de la aplicacin que reside en el mdulo cliente, ingresar la direccin IP del mdulo servidor remoto, ingresar los nmeros de puerto del circuito virtual para la simulacin del motor y monitorear de manera remota el voltaje de armadura v a (t), la velocidad angular r (t), la corriente de armadura i a (t), los tiempos de ejecucin del sistema en tiempo real crtico, los tiempos de ejecucin reconstruidos mediante el modelo ARMA y por ltimo los tiempos de retraso de informacin generados por el enlace de comunicacin. Mdulo de visualizacin. Este mdulo permite al usuario visualizar los datos de simulacin 5
enviados por el mdulo servidor a travs del socket de comunicacin. La principal funcin de este mdulo es recopilar la informacin enviada y presentarla en forma de grfica de dos dimensiones al usuario. Mdulo de adquisicin de datos. Este mdulo permite convertir la informacin leda del socket del formato tipo string a una variable de tipo doble que el programa LabView pueda interpretar correctamente y direccionar la informacin a una tarjeta de adquisicin de datos.
7. Pruebas y Puesta en Marcha
En la figura 5 se presenta la interfaz de usuario del servidor en la que se incluye la simulacin en tiempo real del motor de corriente continua.
Figura 5 Interfaz de usuario del servidor.
En ella se puede observar los valores de la velocidad angular y el voltaje as como el tiempo de ejecucin de estos clculos, la corriente y los tiempos de ejecucin de la simulacin de la corriente y adems se agrega una terminal para insertar perturbaciones En la interfaz que se aprecia en la figura 6, grafica la informacin enviada por internet por el servidor, y as presenta al usuario la dinmica de los estados de los motores de corriente continua simulados en el sistema de tiempo real.
Figura 6 Interfaz grfica desarrollada en LABVIEW (Panel Frontal)
8. Conclusiones
En este trabajo se cre una arquitectura de software de tipo modular de un banco de pruebas que permitir el estudio de las aplicaciones de telecontrol a sistemas fsicos basado en un esquema tipo cliente-servidor multiplataforma, y as pueda el sistema de telecontrol ser implantado bajo diferentes contextos; como en este trabajo que fue ideado para operar bajo un sistema operativo en tiempo real (QNX Neutrino 6.5) y un sistema operativo de tiempo compartido (Windows) utilizando un medio de comunicacin como el Internet. El motivo por el cual se us este esquema, es que en sistemas operativos de tiempo compartido no pueden dar la facilidad que ofrece el sistema operativo en tiempo real, el de uso de libreras que faciliten la obtencin del tiempo de procesamiento de fragmentos de cdigo lo cual es importante para el desarrollo de esta investigacin, porque a partir de la obtencin de los tiempos de procesamiento y de transporte 6
Figura 7 Interfaz grfica desarrollada en LABVIEW sobre un sistema operativo de tiempo compartido para el cliente o sistema controlador (Diagrama de bloques)
involucrados en el proceso de telecontrol. El medio de comunicacin empleado, se utiliz usando el protocolo de comunicacin TCP/IP el cual ofrece una garanta de entrega de la informacin que est presente en el sistema de telecontrol tipo cliente-servidor, aunque debido a su construccin es la que origina los valores de tiempos de transporte (tiempos de retardo) ms altos en comparacin con los tiempos de procesamiento y varan de acuerdo a las aplicaciones de software, intrusiones informticas, virus y sistemas operativos. Como objeto de estudio se present la simulacin de un motor de corriente continua con campo excitado de forma separada controlado mediante la retroalimentacin esttica de salida; a travs de ecuaciones en diferencias se logr definir el diseo de las tareas concurrentes.
9. Referencias
[1] Pgina de la Real Academia de la Lengua Espaola.. http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3 &LEMA=telecontrol Pgina consultada el 14 de J unio del 2012 [2] J . J in. Client-Server Computing in Mobile Environment. ACM Computing Surveys, Vol. 31, No. 2. Italia 1999. Pp. 117 - 157 http://homes.di.unimi.it/~cazzola/didattica/sistemi_distri buiti/jing_et_al.-cs_mobile.pdf Pgina consultada el 14 de J unio del 2012 [3] L. Cragg , P.Tsui and H. Huosheng. Building a fault tolerant architecture for internet robots using mobile agents. Proceedings of the 1st British Workshop on Internet and Online Robots (IORW), University of Reading. Reino Unido 2003. Pp. 1-6. http://cswww.essex.ac.uk/staff/hhu/Papers/IORW- Reading-2003.pdf Pgina consultada el 14 de J unio del 2012 [4] G. Gini. Robotics education, teleprogramming, telecontrol through the internet. Politecnico di Milano, DEI, Milan, Italia 2004. Pp. 1-6 http://home.dei.polimi.it/gini/papers/ISR2004.pdf Pgina consultada el 14 de J unio del 2012 [5] C. Guerra and J . de Len. Plataforma para teleoperacin va Internet. Ingenieras, Vol. IX, No. 33. Mxico 2006. Pp. 60-66 http://www.ingenierias.uanl.mx/33/33_plataforma.pdf Pgina consultada el 14 de J unio del 2012 [6] S. Livatino, G. Muscato, S. Sessa, V Neri. Depth- Enhanced Mobile Robot Teleguide based on Laser Images. School of Engineering and Technology, University of Hertfordshire, Reino Unido ,2008. Pp. 1-29 https://uhra.herts.ac.uk/dspace/bitstream/2299/5444/1/9 03945.pdf Pgina consultada el 14 de J unio del 2012 [7] C. Guerra y J . de Len. Teleoperations: Framework para Experimentacin Remota va Internet con Aplicacin a Telerobtica. Congreso Nacional de Control Automtico A.M.C.A. 2007. Mxico 2007. Pp. 1- 6. http://amca.mx/memorias/amca2007/articulos/amca81. pdf?s_datos_Tema=3 Pgina consultada el 14 de J unio del 2012 [8] P. Guevara, J . J . Medel and G. Delgado., Description of execution time dynamics for a set of concurrent real-time tasks. Revista Facultad de Ingeniera de la Universidad de Antioqua, No. 61, Colombia, 2011. Pp. 131-139, http://jaibana.udea.edu.co/grupos/revista/revistas/nro06 1/Articulo%2012.pdf 7
Pgina consultada el 14 de J unio del 2012 [9] L. Bass, P. Clements and R. Kazma. Software Architecture in Practice. Sei Series In Software Architectures. Addison Websley. Suecia 2002. Pp. 1- 103 http://www.lucas.lth.se/events/2002/Clements020306.P DF Pgina consultada el 14 de J unio del 2012 [10] S. Hurtado. Representacin de la arquitectura de software usando UML. Sistemas y Telemtica No. 1. Colombia 2006 Pp. 63-75 http://www.icesi.edu.co/biblioteca_digital/bitstream/1090 6/384/1/shurtado_repres-uml.pdf Pgina consultada el 14 de J unio del 2012 [11] QNX Real-time Plataform and QNX Neutrino. QNX LTD software, Canada. http://www.qnx.com Pgina consultada el 14 de J unio del 2012