7(/(&21752/'(81$3/$17$3$67(85,=$'25$9Ë$,175$1(7,17(51(7 José F. Postigo#, Vicente A. Mut#, Luis A. Baigorria P.#, Ricardo Carelli#, Mario R. Modesti+ ,QVWLWXWRGH$XWRPiWLFD,1$878QLYHUVLGDG1DFLRQDOGH6DQ-XDQ $Y/LEHUWDGRU6DQ0DUtQRHVWH-$5/6DQ-XDQ$UJHQWLQD HPDLO^OEDLJRUULDMSRVWLJRYPXW`#LQDXWXQVMHGXDU *UXSRGH,QYHVWLJDFLRQHVHQ,QIRUPiWLFDSDUDOD,QJHQLHUtD 8QLYHUVLGDG7HFQROyJLFD1DFLRQDO5HJLRQDO&yUGRED:ODGLVODR)UtDVVQ&yUGRED HPDLOPPRGHVWL#VFGWIUFXWQHGXDU 5HVXPHQ Ante la necesidad de realizar la gestión de procesos a distancia, se plantea una alternativa de telecontrol por medio de una red existente con estándares comúnmente utilizados en cualquier establecimiento productivo. De esta manera, con la plataforma que existe y asistiéndose con la capacidad de conectividad de Internet se pueda plantear el telecontrol sin incorporar un costo excesivo en la inversión económica del proceso controlado. En este trabajo, se propone el telecontrol de una planta pasteurizadora de laboratorio vía LAN/Internet. Se muestran algunos resultados experimentales obtenidos. 7(/(&21752/2)$3$67(85,=$7,213/$177528*+,175$1(7,17(51(7 $EVWUDFW The remote control of industrial processes, claims for a telecontrol approach by means of the existent nets with common standards widely used at any automated enterprise. Therefore, using an available development platform and applying the Internet´s conectivity capacity, a telecontrol scheme, without incorporating an excessive cost in the economic investment of the controlled process, is proposed in this paper. The developed structure, telecontrols a laboratory pasteurizing plant via LAN/Internet. Some experimental results are shown. Keywords: Telecontrol, LAN, Ethernet, IP, UDP/IP, TCP/IP, Process Control. ,QWURGXFFLyQ El estado del arte en telecontrol de procesos, hace cada vez más necesaria la utilización de redes existentes, en particular, la Internet (Lian, F. et al., 2001; Walsh, G.C. et al., 2001). Por esta razón, los proveedores de aplicaciones SCADA (Supervising Control Data Acquisition) para control y supervisión de procesos, disponen de software a tal efecto (Zhang et al., 2001). Este trabajo pretende hacer un aporte en esta área del control, a los efectos de integrar las herramientas y protocolos disponibles en la plataforma de red existente. Se dispone de una planta piloto de un proceso de pasteurización (Fig. 1) controlada localmente por medio de un computador con una interfase de entrada/salida incorporada. En este trabajo se realiza la gestión de la mencionada planta a distancia utilizando la red existente en el INAUT (Intranet), sin la necesidad de desarrollar un sistema de comunicación de datos dedicado. La plataforma existente consiste de una red LAN (Local Area Network) con standard Ethernet. Se propone interactuar con la aplicación existente en el mando local por medio de un protocolo que permita además el telecontrol a través de Internet, utilizando el servidor del )LJ3ODQWDSDVWHXUL]DGRUDSLORWRXWLOL]DGD )LJ7RSRORJtDGHO6LVWHPD establecimiento, permitiendo de este modo que el proceso pueda superar los límites geográficos del mismo. El mando local es una estación más de la red con un número de IP (Internet Protocol) propio, pero se considera viable por medio del teleprocesamiento, la comunicación de aquellas variables que no comprometan la estabilidad del proceso. Aquellas variables cuya estabilidad es crítica se controlarán por medio del controlador local que dispone la planta. 'HVFULSFLyQGHOSURFHVR La planta utilizada consiste de un proceso de pasteurización a escala, con todos los elementos necesarios para la puesta en funcionamiento de esta importante etapa del tratamiento de productos alimenticios (ARMFIELD, 1997). A continuación, se describirá brevemente el proceso químico que se realiza en dicha planta. La pasteurización es un proceso que emplea temperaturas elevadas para reducir las poblaciones microbianas en la leche y otros productos que son excepcionalmente termosensibles. El tratamiento de pasteurización se completa cuando el producto permanece a una temperatura especificada durante un tiempo mínimo. Este proceso se denomina ³$OWD7HPSHUDWXUD±7LHPSR 5HGXFLGR´ (HTST, por sus siglas en inglés) o ³SDVWHXUL]DFLyQ UiSLGD´ Esto permite obtener resultados satisfactorios y puede llevarse a cabo como un proceso de flujo continuo (ARMFIELD, 1997). 2EMHWLYRGHODDSOLFDFLyQ En este trabajo, se propone el desarrollo de las rutinas de comunicación para el dialogo con la aplicación del mando local, sea desde una estación ubicada en la Intranet del establecimiento, cuanto de una estación exterior que requiera el direccionamiento por medio del servidor correspondiente de la aplicación. 7RSRORJtDGHOVLVWHPDWHOHLQIRUPiWLFR Como se mencionara precedentemente, se dispone de una estructura de red LAN, existente con capacidad de comunicación a Internet. En la fig. 2 se detallan los elementos involucrados en el telecontrol con las direcciones correspondientes para cada una de las unidades que componen la plataforma experimental para la comunicación. Se considerarán todas las estaciones con IP públicos, de manera de poder acceder directamente a la Internet, no existiendo ningún tipo de fire-wall (barrera de protección) entre ellas. El sistema de telecontrol propuesto está conformado por una estructura FOLHQWH ± VHUYLGRU (Comer, Stevens, 1994; Castro et al., 2000) En esta estructura el FOLHQWH implementa el control de la planta, y el VHUYLGRU instalado en la PC conectada a la planta, se encarga de enviar y recibir los datos solicitados por el FOLHQWH. En la fig. 2 se muestra un esquema del mismo (Castro et al., 2000). El VLWLRUHPRWRestá conformado por la planta de pasteurización conectada a una PC con el sistema operativo Windows 95. La aplicación en esta PC ejecuta el VHUYLGRU del sistema y también se ocupa de la tarjeta de adquisición de datos Capa (nombres OSI) TELNE TCP Protocolo DNS SMTP FTP Transporte UDP Red IP Redes ARPANET )LJ$UTXLWHFWXUD SATNET Aplicación Packet LAN Física + enlace de datos )LJ$UTXLWHFWXUD7&3,3 Protocolos y redes en el modelo TCP/IP inicial. conectada a la planta para la entrada/salida de datos. El VLWLRORFDO está conformado por una PC con una aplicación que se encarga del FOLHQWH del esquema de comunicación y el cálculo de los algoritmos de control. Esta aplicación se ejecuta en una PC portátil con el sistema operativo Windows 98. $UTXLWHFWXUDGHFRPXQLFDFLRQHV El protocolo TCP/IP (Transmission Control Protocol/Internet Protocol) es ampliamente soportado como protocolo de comunicación. Por este motivo, TCP/IP es ideal para unificar diferente hardware y software, incluso si la comunicación no se establece en el ámbito de Internet. La independencia de hardware específico de red le permite a TCP/IP integrar muchos tipos de red. Además, TCP/IP puede ejecutarse sobre Ethernet, y virtualmente sobre cualquier medio físico de transmisión. Un esquema de direccionamiento unificado les permite a los dispositivos TCP/IP identificarse en forma unívoca sobre los demás dispositivos de la red, incluso si la red es tan grande como la Internet. Dado que no hay un acuerdo generalizado sobre cómo describir un modelo de capas para TCP/IP, a este se lo ve, generalmente, como compuesto por menos capas que las siete del modelo OSI (Open System Interconnection). La mayoría de las descripciones de TCP/IP definen de tres a cinco niveles en la arquitectura del protocolo. Conceptualmente, a una capa no le interesa que estructuras utilice el resto. En la fig. 3 se expone la terminología de TCP/IP para las estructuras de datos, en lo que se refiere a plataforma de hardware y protocolos (Comer, 1994; Comer, 1995). 3URWRFRORVGHFRPXQLFDFLyQ &DSDGHDFFHVRDODUHG La capa de acceso de red es la más inferior en la jerarquía. Los protocolos en esta capa proveen los medios para que el sistema pueda distribuir los datos a los demás dispositivos conectados directamente a la red. Esta capa define cómo utilizar la red para transmitir los IP GDWDJUDPV (paquetes básicos de información utilizados en una red para transmitir datos). A diferencia de los protocolos de más alto nivel, los protocolos de esta capa deben conocer los detalles de la red física subyacente (su estructura de paquete, esquema de direccionamiento, etc.) para dar el formato correcto a los datos que se transmitirán sobre ella. Con frecuencia, los usuarios ignoran la existencia de esta capa. Por lo tanto, habrá tantos protocolos de acceso como estándares de redes físicas haya. En el caso particular de esta aplicación, el estándar es Ethernet. Entre las funciones realizadas en este nivel se incluyen el encapsulamiento de los datagramas de IP en los paquetes transmitidos por la red, como también el control de la correspondencia entre las direcciones IP y las direcciones físicas utilizados por la red. &DSDGHUHG,3,QWHUQHW3URWRFRO El protocolo que utiliza Internet para la comunicación de datos es el IP, que es parte integral del TCP/IP. Las tareas principales del IP son el direccionamiento de los GDWDJUDPDV de información y la administración del proceso de fragmentación de dichos GDWDJUDPDV. El GDWDJUDPD es la unidad de transferencia que el IP utiliza. Las características de este protocolo son: · No orientado a la conexión. · Transmisión en unidades denominadas GDWDJUDPDV. · No poseen corrección de errores, ni control de congestión. · No garantiza la entrega en secuencia. La entrega del GDWDJUDPD en IP no está garantizada debido a que se puede retrasar, perder, duplicar y re-ensamblar el mensaje en orden incorrecto, sin que el protocolo lo detecte. Por otra parte, el IP no contiene control de errores para el contenido de datos del GDWDJUDPD, solamente lo tiene para la información del encabezado. Las direcciones IP se pueden utilizar para referirse a redes así como a anfitriones individuales. El TCP HV FRQ FRQH[LyQ, porque establece una conexión lógica entre los extremos. La información de control, llamada KDQGVKDNH se intercambia entre los extremos para establecer un diálogo antes que los datos se transmitan. Por lo tanto, TCP deberá mantener la secuencia en la PC – Windows 95 Aplicación Telecontrol.exe Red LAN Winsock DLL Thread del socket servidor Thread de adquisición de datos placa DT2811 Planta Pasteurizadora Placa AD DT2811 )LJ$SOLFDFLyQUHPRWD &DSDGHWUDQVSRUWH7&37UDQVPLVVLRQ &RQWURO3URWRFRO Las aplicaciones que requieren que el protocolo de transporte provea un servicio confiable utilizan TCP porque verifica que los datos se transporten sin errores y en la secuencia correcta. El TCP es confiable, siendo también orientado a la conexión y orientado a los flujos (streams) de bytes. El protocolo TCP HV FRQILDEOH, porque utiliza un mecanismo llamado “confirmación positiva con retransmisión“ (3RVLWLYH $FN QRZOHGJPHQW ZLWK 5HWUDQVPLVVLRQ, PAR). En este caso, el emisor que usa PAR envía los datos nuevamente, a menos que reciba un OK del destino. La unidad de datos transferida entre módulos TCP cooperantes se llama VHJPHQWR. Cada segmento contiene una suma de comprobación que se utiliza para verificar si los datos recibidos son correctos. En ese caso, el receptor enviará al emisor una confirmación positiva. En caso contrario, el receptor lo descarta. Después de un tiempo de espera (time out) apropiado, el emisor retransmite el segmento. cual se envían información. y/o reciben los bytes de $SOLFDFLyQGHVRIWZDUH La aplicación ejecuta, dependiendo la configuración que se emplee, hasta 4 threads (hilos) de programa simultáneamente, como se observa en las figuras 4 y 5 para el sitio remoto y local respectivamente (Castro et al., 2000; Microsoft, 1998). Las funciones principales de estos hilos son: 7KUHDG SULQFLSDO Este hilo inicia y ejecuta algunas tareas: · Administración de los mensajes de la ventana principal de la aplicación y notificación de los controles. · Creación de los otros hilos de la aplicación, que son el hilo de manejo de la tarjeta de adquisición de datos. · · Creación del hilo que actúa como VHUYLGRU para aceptar la conexión con el FOLHQWH. Creación del hilo que se conecta como FOLHQWH en la aplicación. PC – Windows 98 Red LAN Aplicación Telecontrol.exe Thread del socket cliente WM_TIMER Cálculo de lazos de control en los periodos de muestreo. )LJ$SOLFDFLyQ/RFDO Winsock DLL Calculo de acciones de control y aplicación de las mismas. · Almacenamiento de variables sensadas en archivo. 7KUHDG DGTXLVLFLyQ GDWRV Esta tarea sólo es ejecutada en el VHUYLGRU · Este thread se encarga de realizar la adquisición de datos desde la tarjeta de I/O DT2811 y de la aplicación de la acción de control a la planta. Estos datos son colocados en PHPRULD FRPSDUWLGD para ser accedidos por los restantes WKUHDGV. · Transmite los datos sensados al FOLHQWH a través de TCP/IP. 7KUHDG 6HUYLGRU Este hilo sólo se ejecuta en el VLWLR UHPRWR o VHUYLGRU del esquema planteado (Microsoft, 1999), cumpliendo la siguiente tarea: · Se encarga de recibir y clasificar los GDWDJUDPDV que recibe desde el FOLHQWH para aplicarlos donde corresponda en la aplicación. 7KUHDG&OLHQWH Este hilo puede correr en ambos sitios (local y remoto) para permitir distintas pruebas (Microsoft, 1999). Además, este hilo: · Se encarga de recibir los GDWDJUDPDV enviados por el VHUYLGRU, los clasifica y distribuye en la aplicación donde corresponda. El software desarrollado comprende la visualización de un mímico del proceso e incluye algoritmos de control PID, con la posibilidad que el usuario modifique los parámetros y referencias del proceso. Implementa alarmas y diferentes lazos de control. Se incluye un registro de los datos y de un display gráfico. La aplicación incluye una serie de pantallas de presentación para configurar los parámetros de comunicación, los parámetros de los controladores, los tipos de controladores utilizados y la definición de los lazos de control. Permite además configurarse como FOLHQWH o VHUYLGRU. La función de VHUYLGRUsólo se permite para cuando la aplicación se ejecuta en la PC conectada a la planta. Se desarrollaron distintas bibliotecas “.DLL” (Dynamic Link Libraries) para la ejecución de distintas tareas, las que brevemente se tratan a continuación (Microsoft, 1998). $GTXLVLFLyQGH'DWRV Se desarrolló una biblioteca “.DLL” para el manejo de la tarjeta de adquisición de datos DT2811, que consta de 8 canales de conversión A/D, 2 canales de conversión D/A, 8 canales de entradas digitales y 8 canales de salidas digitales. 0yGXORGHFRPXQLFDFLyQ El modelo utilizado en la comunicación a través de la red es el modelo FOLHQWH VHUYLGRU. En este modelo la comunicación realiza conexiones formando pares de solicitud – respuesta, siempre iniciadas por el cliente y nunca por el servidor. Para la gestión de la red se utilizan los VRFNHWV (conectores), que definen un punto final bidireccional para la comunicación entre dos procesos. Estos sockets poseen tres componentes básicos: el protocolo, el host (anfitrión) y el puerto. Los sockets de Windows proporcionan una abstracción del software de gestión de redes (TCP/IP) que encasilla los niveles superiores. El módulo de comunicación se desarrolló en una biblioteca “.DLL”, basada en la construcción de una clase denominada ³&WHOHFRQWURO6RFNHW´ de la que se derivarán los objetos destinados a la conexión (Castro et al., 2000). A la aplicación es suficiente suministrarle la dirección de IP del servidor para que el cliente realice la conexión al servidor a través de la red Ethernet. 0yGXORGHFRQWURO El módulo de control se desarrolló en una biblioteca “.DLL” que incluye las clases base de las que se derivan los objetos “controladores” de distinto tipo, como por ejemplo: controladores PIDs, PIDs modificados, controladores On/Off, etc. ([SHULHQFLDVUHDOL]DGDV Se presentan algunos resultados experimentales, consistentes en controlar la planta de pasteurización descripta, utilizando controladores locales y controladores remotos conectados en red dentro de la Intranet. Los primeros resultados permitieron obtener conclusiones acerca del efecto del retardo en la comunicación en el lazo de control, y asimismo, poder ensayar la aplicación para realizar futuras experiencias de telecontrol. Experimento con Controlador Local 300 250 caudal (ml/min) · Set Point 200 Caudal 150 Parametros PID Kp = 5 Ki = 0.5 Kd = 0.05 100 50 60 80 100 120 140 Número de muestras (To = 0.5 seg) 160 180 )LJ&RQWUROGHOFDXGDOGH SDVWHXUL]DFLyQXWLOL]DQGRXQFRQWURODGRUORFDO En la fig. 6 se observan las respuestas al escalón del lazo de control de caudal de la planta, controlado de manera local Experimento con Controlador Remoto y Telecontrol Técnicas (CONICET) y por la Agencia Nacional de Promoción Científica y Tecnológica (ANPCyT). 5HIHUHQFLDV 300 250 Set Point Caudal 200 Parámteros PID Kp = 5 Ki = 0.5 Kd = 0.05 150 100 50 50 60 70 80 90 100 110 120 Número de muestras (To = 0.5 seg) 130 140 150 )LJ&RQWUROGHOFDXGDOGH SDVWHXUL]DFLyQXWLOL]DQGRXQFRQWURODGRU UHPRWR\ODHVWUXFWXUDGHWHOHFRQWURO SURSXHVWD En la fig. 7 se observa la respuesta del sistema de pasteurización, el cual es controlado de manera remota. Comparando ambas respuestas, se puede concluir que ambos controladores se desempeñan de forma aceptable, debido a que el retardo en la transmisión de los datos es pequeño comparado con el período de muestreo del lazo de control. En experiencias futuras se utilizará Internet para llevar a cabo el telecontrol de la planta de pasteurización. &RQFOXVLRQHV En este trabajo se presenta el desarrollo de un sistema de telecontrol que utiliza como canal de comunicación una red de área local (LAN) y se demuestra la factibilidad de utilizar el protocolo TCP/IP para el telecontrol. Se trabajó también en la optimización de las opciones que permite el protocolo TCP/IP para minimizar retardos producidos. Debido a que se utilizó un proceso real y no un proceso simulado en una PC, se demostró que el PRGHORFOLHQWH±VHUYLGRUes muy apropiado para el telecontrol de procesos. Los resultados experimentales fueron aceptables y las respuestas de los FOLHQWHV y VHUYLGRUHV utilizados fueron buenas para el tipo de control implantado. $JUDGHFLPLHQWRV Este trabajo fue parcialmente financiado por el Consejo Nacional de Investigaciones Científicas y Alfredo C. Castro, José F. Postigo, J. Manzano, B. Kuchen (2000). “Sistema de Teleoperación de Robots con realimentación de fuerzas basado en redes TCP/IP”. XVII Congreso Argentino de Control Automático, pp 201-206. Alfredo C. Castro, Eduardo M. Zavalla, Marcelo L. Martín (2000). “Modelo Cliente-Servidor para la administración visual en edificios”. XVI Congreso Argentino de Control Automático, pp 543-548. ARMFIELD, (1997). ³(QJLQHHULQJ 7HDFKLQJ DQG 5HVHDUFK (TXLSPHQW ,QVWUXFWLRQ 0DQXDOV 3&7´ Armfield Ltd., Hampshire, England. Comer, Douglas E., (1995). ,QWHUQHWZRUNLQJ :LWK 7&3,39RO,3ULQFLSOHVDQG$UFKLWHFWXUH. Third Edition. Department of Computer Sciences Purdue University. Prentice Hall International Inc. Comer, Douglas E., (1994). ,QWHUQHWZRUNLQJ :LWK 7&3,3'HVLJQ,PSOHPHQWDWLRQ DQG ,QWHUQDOV. Second Edition. Department of Computer Sciences Purdue University. Prentice Hall International Inc. Comer, Douglas E.; Stevens L. David, (1994). ,QWHUQHWZRUNLQJ :LWK 7&3,3 &OLHQW6HUYHU 3URJUDPPLQJ $QG $SSOLFDWLRQV. AT&T, TLI Version. Dept. of Computer Sciences Purdue University. Prentice Hall International Inc. Imer, O.Ç., Basar, T. (2001). Control of Congestion in High-Speed Networks. Semiplenary Lecture in the ECC ´2001. Seminario de Vilar, Porto, Portugal. Sept. 4-7, 2001. Lian, Feng-Li, Moyne, James, R., Tilbury, Dawn M., (2001). 3HUIRUPDQFH (YDOXDWLRQ RI &RQWURO 1HWZRUNV(WKHUQHW&RQWURO1HWDQG'HYLFH1HW IEEE Control Systems Magazine. Vol. 21, Nº 1, pp. 66-83. Microsoft Corporation, (1998). 9LVXDO & 3URJUDPPHUV*XLGH Microsoft Corporation. Microsoft Corporation, (1999). 1HWZRUN 3URJUDPPLQJIRU0LFURVRIW:LQGRZV Mircosoft Corporation. Walsh, G.C. and Hong Ye, (2001). 6FKHGXOLQJ RI 1HWZRUNHG &RQWURO 6\VWHPV IEEE Control Systems Magazine. Vol. 21, Nº 1, pp. 57-65. Zhang, W. Branicky, M. S., Phillips, S. M., (2001). 6WDELOLW\ RI 1HWZRUNHG &RQWURO 6\VWHPV IEEE Control Systems Magazine. Vol. 21, Nº 1, pp. 84-99.