Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Comunicacion TCP Ip Micros
Comunicacion TCP Ip Micros
Resumen La necesidad por parte de la industria de monitorizar las variables determinantes de su proceso productivo, en lugares alejados de sus centros de control, realza la importancia de sistemas de monitorizaci n que dispongan de elementos para realizar la comunicao ci n de los datos. Esta se puede realizar aprovechando soluciones hardware externas, o lo que conlleva un coste mayor, o bien se puede adoptar la soluci n de integrar los o dispositivos para realizarla, reduciendo de esta manera tanto el coste como el espacio necesario para su uso. En este trabajo se propone una soluci n de este ultimo tipo, o basada en una arquitectura tipo microcontrolador, e incorporando un sistema de comunicaciones v lido tanto para transmisi n sobre un enlace de radio como sobre Ethernet. a o Para ello se ha desarrollado una pila TCP/IP simplicada sobre una arquitectura de 8 bits.
Indice general
1. Introducci n o 2. Descripci n de la Arquitectura o 2.1. RTUs de comunicaci n va trunking . . . . . . . . . . . . . . . . o 2.2. RTUs de comunicaci n por red Ethernet . . . . . . . . . . . . . . o 2.3. Microcontrolador . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1. Microcontrolador en RTUs de tipo trunking (PIC16F876) . 2.3.2. Microcontrolador en RTUs de tipo Ethernet (PIC16F877) . . . . . . . . . . . 2 4 5 5 6 6 7 8 8 10 13 13 15 16 18 18 19 21 22 23 24 25 26 26 27 27 28 31
3. Descripci n de la aplicaci n particular o o 3.1. Memoria de almacenamiento de datos . . . . . . . . . . . . . . . . . 3.1.1. Estructura interna de la memoria de almacenamiento de datos 4. Canales de Comunicaci n o 4.1. Trunking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1. Sistema MPT 1327 . . . . . . . . . . . . . . . . . . . . . . . 4.2. Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. Protocolo de Comunicaciones 5.1. Protocolo TCP/IP . . . . . . . . . . . . . 5.1.1. Simplicaciones Protocolo IP . . 5.1.2. Simplicaciones Protocolo TCP . 5.2. Esquemas de comunicaciones tipo . . . . 5.2.1. Comunicaciones de datos . . . . . 5.2.2. Comunicaciones de alarmas . . . 5.2.3. Comunicaciones de conguraci n o 6. Estructura de los paquetes 6.1. Mensajes de datos . . . . . . 6.2. Mensajes de alarma . . . . . 6.3. Mensaje de sincronizaci n . o 6.4. Mensajes de Parametrizaci n o 7. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Captulo 1
Introducci n o
Las aplicaciones industriales que requieren el envo de informaci n del estado de o cualquier fase de su proceso productivo hacia las instalaciones de control requieren la aplicaci n de m todos de telemedida ables y economicamente viables. o e Las empresas el ctricas no son una excepci n a esta regla. Las peculiaridades de e o este negocio hacen que las diversas fases de la cadena productiva est n alejadas mucho e entre si y del centro de control. En particular, el proceso de distribuci n de la energa o el ctrica, conlleva la necesidad de la medida de diferentes par metros que muestren el e a estado de funcionamiento de la red. Actualmente se encuentran monitorizadas diversas variables en la red de alta y media tensi n, no existiendo ning n m todo continuo de o u e medida en la red de baja. Tradicionalmente, el m todo de medida empleado para la e carga de los transformadores situados entre la media y la baja tensi n ( 20KV /380V o ), vena siendo la comprobaci n de la corriente que circulaba por cada fase del trans o formador en una fecha en la que se cree que el consumo es el mayor de todo el a o, n normalmente la noche de nochebuena. Este m todo tiene diversos inconvenientes, entre e los que cabe destacar: Proceso de medida manual. Proceso de medida discontinuo El m todo descrito ha acarreado diversos problemas a la compa a el ctrica, ene n e tre los que se incluyen varios accidentes que supusieron la destrucci n del Centro de o Transformaci n (C.T.) y el asumir fuertes indemnizaciones a los afectados por el accio dente. Con el objetivo de subsanar esta laguna en el proceso de monitorizaci n se procede o a desarrollar un sistema que cumpla las siguientes especicaciones: Medida de par metros el ctricos relativos al estado del C.T. a e Gesti n de diversas alarmas que se puedan dar en el C.T. o Envo de la informaci n almacenada al centro de control, utilizando para ello o diversos canales de comunicaci n disponibles por la compa a. o n Coste mnimo posible debido a lo numeroso de los centros en los que se ten ga que implementar esta tecnologa ( unos 1500 centros en el area central de Asturias ). 2
La soluci n propuesta se basa en una arquitectura tipo microcontrolador a la cual llegan o las diversas se ales del sistema y el cual es capaz de enviar la informaci n al centro de n o control. Los canales de comunicaci n sobre los que se debe implementar la transmisi n de o o datos son muy diferentes entre si, y el sistema debe de ser capaz de utilizar los dos con los mnimos cambios posibles en su dise o. Los medios utilizados son la comunicaci n n o a trav s de la red de radio de la compa a y la utilizaci n de la red de cable disponible e n o para su transmisi n a trav s de Internet. o e
Captulo 2
Descripci n de la Arquitectura o
El equipo remoto est compuesto de dos chips fundamentales: el microcontrolador, a que es el componente maestro de la placa electr nica donde se ejecuta el programa que o se encarga de registrar las corrientes de carga e inspeccionar el estado de las lneas de alarma; y la memoria EEPROM en la cual se almacenan los datos de corrientes en las fases recogidos por el microcontrolador. Adem s, el equipo remoto dispone de diversa circuitera electr nica que ser difea o a rente dependiendo del tipo de comunicaci n que se vaya a utilizar: trunking ( enlace o radio ) o Ethernet.
Figura 2.1: Esquema general del prototipo dise ado n La Unidad Remota ( RTU ) dispone, entre otros elementos, de diversas bornas para las entradas digitales (entradas de las se ales de alarma 2.2(b)), bornas para las n entradas anal gicas (entradas de las corrientes de fase a medir 2.2(a)), conector puerto o serie para la trasmisi n de los datos va trunking o conector RJ45 para la transmisi n o o Ethernet (dependiendo del tipo de comunicaci n), entrada de alimentaci n del equipo o o y batera de refuerzo. La diferencia entre ambas versiones de RTUs est en la etapa de interface con el a medio por el cual se produce la transmisi n de los datos. A grandes rasgos, el equipo o remoto de comunicaci n va trunking dispone de un conector DB9 para puerto serie, o mientras que la RTU de comunicaci n con la red Ethernet dispone del correspondiente o conector RJ45. Asmismo, el microcontrolador utilizado en cada una de estas versiones es distinto, as como el n mero de bornas anal gicas y digitales en cada equipo. u o 4
2.1.
El microcontrolador que tienen incorporado es un PIC16F876 de Microchip, el cual dispone de un conector puerto serie para la transmisi n y recepci n de los datos (con o o toda la circuitera necesaria para realizar la etapa de adaptaci n de niveles requerida o por la norma RS-232 de transmisi n por el puerto serie, incluyendo un MAX238CNG o del fabricante Maxim que realiza esta adaptaci n). o El n mero de entradas anal gicas disponibles es de 4 (para las corrientes por las u o fases R, S, T y N), mientras que tendr n 5 entradas digitales para cablear los sensores a de alarma, de las cuales, en principio, s lo se utilizar n 4. o a Las primeras versiones de los equipos remotos disponan de una entrada de alimen taci n de 220 Vac. Posteriores implementaciones de estas RTUs eliminan esta ultima y o la sustituyen por una entrada de alimentaci n de 12 Vcc. o
2.2.
En este caso, el microcontrolador utilizado es un PIC16F877 de Microchip, con las mismas prestaciones que el utilizado para la versi n trunking, pero con mayor capacio dad de conexi n de perif ricos, por su mayor n mero de pines. La etapa de interconeo e u xi n de estas RTUs con la red Ethernet se compone de un chip Crystal CS8900A de o la compa a Cirrus, que realiza las funciones de interface Ethernet entre el microconn trolador y la red externa, junto con la adaptaci n de niveles para la conexi n mediante o o conector RJ45 al exterior (realizada por medio de un transformador aislador). El funcionamiento del controlador CS8900A y su interacci n con el mircrocontrolador es, o descrito de forma breve, el siguiente: 5
Cuando el controlador Ethernet CS8900A reciba una trama de la red, calcular su a CRC, y si este es v lido, desencapsular el contenido de la trama, ltrando la cabecea a ra Ethernet, e indicando al microcontrolador por medio de una lnea de interrupci n o que se ha recibido un paquete. De este modo, el microcontrolador podr leer de la a memoria del controlador el paquete ya desencapsulado y operar con el. A la inversa, cuando el microcontrolador quiera enviar un paquete a trav s de la red Ethernet, lo e escribir en el buffer del controlador y le dar una orden de envo, con lo que este ultia a mo lo encapsular en tramas Ethernet y se encargar de enviarlo de modo transparente a a al microcontrolador. La adaptaci n hacia el exterior del controlador se compone de un o transformador aislador 10BASET conexionado al conector RJ45 de interface con la red Ethernet. El n mero de entradas disponibles en las versiones Ethernet es 8 (se podran cablear u dos transformadores al mismo equipo remoto), mientras que incorporan 6 entradas digitales. La alimentaci n de estos equipos se realizar siempre a 12 Vcc. o a
2.3.
Microcontrolador
El microcontrolador es el circuito electr nico m s importante de la RTU. Se eno a carga de ejecutar el programa que gestiona la recogida de las muestras de corrientes y la detecci n de alarmas urgentes. Todos los perif ricos conectados a el se comportan o e como esclavos, siendo el microcontrolador quien gobierna todas las acciones, se ales n y/o eventos que se pudieran producir en el equipo remoto en su instalaci n denitiva o en campo. Dependiendo del tipo de RTU considerada (trunking o Ethernet), el microcontrolador incorporado a ella es distinto, b sicamente en cuanto al n mero de pines totales a u que presenta. De este modo, el microcontrolador usado en las RTUs trunking es un PIC16F876 de la compa a Microchip, mientras que en las RTUs Ethernet se utiliza un n PIC16F877 del mismo fabricante. La elecci n de estos microcontroladores para su integraci n en las RTUs se ha o o basado en su f cil programaci n y bajo coste, que los hacen ideales para implementar a o todo tipo de trabajos en aplicaciones industriales.
3 puertos de entrada/salida de prop sito general. o 3 temporizadores. 2 puertos serie. Conversor anal gico/digital de 10 bits con capacidad para 5 entradas anal gicas. o o Se distribuye en diversos encapsulados de 28 pines.
Captulo 3
3.1.
Las muestras recogidas de las corrientes de fase han de ser almacenadas para que posteriormente puedan volcarse al puesto de control, desde el que se tratar n convea nientemente (almacenamiento en una base de datos) de tal modo que queden registrados los consumos que se producen en los transformadores de los CTs de media/baja tensi n. Dichas muestras de corrientes recogidas por la RTU han de guardarse permao nentemente hasta que se reciba la petici n de volcado. Por este motivo, se almacenar n o a en una memoria EEPROM. La memoria utilizada en el equipo remoto para depositar los datos de corrientes muestreados por el microcontrolador ser el chip 24LC64 de Microchip, cuya capacia dad es de 8 Kbytes. Se trata de una memoria EEPROM de comunicaci n por bus serie o 8
Figura 3.1: Armario de control y sensores instalados. I2C de bajo coste y peque o tama o que se conecta directamente al microcontrolador n n a trav s de dos pines y se comportar como un esclavo para este. El chip utilizado es el e a mismo en ambas versiones de RTUs (trunking o Ethernet). La comunicaci n que se establece entre esta memoria y el microcontrolador se o hace a trav s del protocolo de comunicaciones I2C. La va de interconexi n entre los e o dos equipos es un bus serie I2C que, b sicamente, consta de dos hilos, uno para la se al a n de reloj y el otro para la transmisi n/recepci n serie de los datos. o o En esta memoria se almacenan dos tipos de datos: se guardar n las muestras de a corrientes de fase recogidas durante una semana (5376 bytes) as como la estructura completa de los paquetes que ser n transaccionados durante una comunicaci n entre el a o equipo remoto y el puesto de control. En esta memoria EEPROM, el microcontrolador ir construyendo las tramas y paquetes TCP/IP que ser n enviados al PC de control a a cuando este solicite el envo de los datos requeridos, o cuando se produzca una alarma que por iniciativa propia la RTU habr de comunicar. a El n mero de paquetes o tramas a guardar en esta memoria ser el siguiente: u a 21 paquetes de datos de 296 bytes cada uno, conteniendo las muestras de corrien9
tes de fase recogidas durante una semana. 1 paquete extra o auxiliar de datos (296 bytes), para enviar cualquier otro tipo de informaci n que no sean datos de corrientes o c digos de alarmas generadas. o o 1 paquete de alarmas (44 bytes), conteniendo el c digo de la alarma generada. o 1 paquete de sincronismo (44 bytes), paquete especial para el inicio de una comunicaci n. o 1 paquete de ags (40 bytes), para enviar como paquete de reconocimiento o de nal de una comunicaci n. o Ha de tenerse en cuenta que como la capacidad de la memoria es limitada, se recoger n cclicamente datos de corrientes correspondientes a una semana (5376 bytes), a tras la cual, se almacenar n los nuevos datos sobrescribiendo los antiguos desde el a principio, siendo responsabilidad del usuario del programa que se ejecuta en el PC de control (E.R.A.C.C.), as como de la programaci n de las tareas autom ticas de des o a carga a realizar por dicho programa, el solicitar una nueva petici n de volcado de datos o antes de transcurrida una semana a partir de la ultima petici n que se realiz , con el n o o de no perder datos para el registro que ya hayan sido sobrescritos por el microcontrolador en la memoria EEPROM del equipo remoto.
10
Tabla 3.1: Direcciones de los paquetes PAQUETE Direcci n de comienzo Direcci n de nal o o o Paquete n 1 de datos 0000h 0127h Paquete no 2 de datos 0128h 024F h Paquete no 3 de datos 0250h 0377h Paquete no 4 de datos 0378h 049F h Paquete no 5 de datos 04A0h 05C7h Paquete no 6 de datos 05C8h 06EF h Paquete no 7 de datos 06F 0h 0817h Paquete no 8 de datos 0818h 093F h Paquete no 9 de datos 0940h 0A67h Paquete no 10 de datos 0A68hS 0B8F h Paquete no 11 de datos 0B90h 0CB7h Paquete no 12 de datos 0CB8h 0DDF h Paquete no 13 de datos 0DE0h 0F 07h Paquete no 14 de datos 0F 08h 102F h Paquete no 15 de datos 1030h 1157h Paquete no 16 de datos 1158h 127F h Paquete no 17 de datos 1280h 13A7h Paquete no 18 de datos 13A8h 14CF h Paquete no 19 de datos 14D0h 15F 7h Paquete no 20 de datos 15F 8h 171F h Paquete no 21 de datos 1720h 1847h Paquete extra (auxiliar de datos) 1848h 196F h Paquete de alarmas 1970h 199Bh Paquete de sincronismo 199Ch 19C7h Paquete de ags 19C8h 19EF h de igual n mero de paquetes. Los restantes se distribuyen a continuaci n de aquellos. u o Las cabeceras de todos los paquetes ser n escritas en la memoria por el programa que a se ejecuta en el microcontrolador en la inicializaci n de este. o Los distintos bytes correspondientes a cada paquete se repartir n como siguen: a Todos los paquetes de datos y el paquete auxiliar de datos: 296 bytes, de los cuales 40 son de cabecera TCP/IP y 256 de datos. Paquete de alarmas: 44 bytes (40 de cabecera y 4 para datos). Paquete de sincronismo: 44 bytes (los 44 corresponder n a la a cabecera TCP/IP, ser n los 40 usuales m s 4 bytes de opciones). Paquete de ags: 40 a a bytes, todos ellos de cabecera. En resumen, y sobre un total de 8 Kb (8192 bytes) de capacidad de la memoria EEPROM, se est n ocupando 6640 bytes, de los cuales 5376 corresponden a los datos a de las corrientes de carga de los transformadores que se pretenden medir.
11
Tabla 3.2: Distribuci n en memoria de los paquetes. o Direcci n o 0x0000 8 bytes 8 bytes 0x0000 Paquete de Datos 1 0x128 Paquete de Datos 2 0x250 Paquete de Datos 3 Paquete de Datos 4 0x04A0 Paquetes de Datos 5 . . . 20 8 bytes 8 bytes
0x378
0x1720
0x1720 Paquete de Datos 21 0x1848 Paquete Extra ( Auxiliar de Datos ) 0x1970 Paquete Extra ( Auxiliar de Alarmas ) 0x199C Paquete de Sincronismo 0x19C8 Paquete de Flags 0x19F 0 Paquete de Alarmas
0x1A00
12
Captulo 4
Canales de Comunicaci n o
4.1. Trunking
El canal de comunicaci n Trunking es un medio de transmisi n mediante enlace o o de radio, cuyo mecanismo de control hace referencia al reparto autom tico de canales a en un sistema de m ltiples repetidores. Las ventajas de este sistema son un menor u tiempo de acceso al medio y una capacidad por canal mas alta para una determinada calidad de servicio. Se trata de un canal de comunicaci n basado en la idea de circuitos o conmutados de los canales telef nicos tradicionales. o Las presunciones realizadas por el sistema para realizar este tipo de control son las siguientes: Cada usuario usa el sistema un tiempo reducido. No existen un gran n mero de usuarios usando el sistema al mismo tiempo. u La gura 4.3 muestra el tr co existente en un sistema de 5 canales y la probabilia dad de que los cinco canales est n ocupados simult neamente. e a Como se puede ver, si un canal es reservado para un unico usuario, la probabilidad de ques est ocupado es mucho mayor que si se emplea de modo truncado e Los sistemas de radio trunking cuentan con dos tipos de canales Canal de control. Es el encargado de comunicar las diferentes unidades de radio y el ordenador de control. Canales de tr co. Canales usados para establecer las comunicaciones entre los a diferentes usuarios del sistema. El esquema de inicio de una conexi n es el siguiente o Cada unidad de radio escucha de manera continua el canal de control Cuando se desea iniciar una transmisi n, se activa el contacto PTT ( push to talk o ). El equipo enva un mensaje a trav s del canal de control, solicitando un canal e para llevar a cabo la continuaci n. o El ordenador de control asigna un canal para realizar la comunicaci n mediante o el envo de un mensaje por el canal de control.
13
(a) Sistema trunking de 5 canales y probabilidad de ocupaci n de todos ellos de manera simult nea. o a
Figura 4.1: Sistema trunking de 5 canales. Cuando el equipo de radio recibe la informaci n del canal asignado, sintoniza o sus frecuencias de transmisi n y recepci n a la del nuevo canal. o o Se desarrolla un peque o protocolo de inicio de comunicaci n. n o Una se al audible indica que la transmisi n puede comenzar. n o
14
4.1.1.
En el caso de la red trunking de Hidroel ctrica del Cant brico, el sistema utilizado e a es el sistema est ndar p blico MPT 1327[1], desarrollado por el Departamento de a u Comercio e Industria del Reino Unido. Las principales caractersticas del canal de control, son las descritas en la tabla 4.1 Tabla 4.1: Caractersticas del canal de control. Velocidad de transmisi n o Modulaci n o Frecuencia de valor 1 Frecuencia de valor 0 1200bps FFSK 1200 Hz 1800 Hz
El canal de control se encuentra dividido en ranuras de 128 bits cada uno, dado que la velocidad de transmisi n es de 1200bps, la duraci n de cada ranura es de 107ms. o o Las instrucciones que se envan en cada uno de los paquetes incluyen las siguientes: ALOHA. La estaci n base se encuentra preparada para recibir una petici n de o o llamada. ALOHY. La estaci n base est llamando a un dispositivo de la red. o a ACKNOWLEDGE. El mensaje ha sido recibido. CLEAR. Fin de la llamada. GO TO CHANNEL. Indica a un dispositivo que cambie su canal REQUEST. Petici n de un dispositivo a la estaci n base para comenzar una o o llamada. El mecanismo de acceso al medio, para el canal de control, es un pseudo Aloha ranurado. Mediante este mecanismo se remite a los dispositivos del sistema las diferentes ranuras de tiempo disponibles para acceder al canal de control. En el caso en que exista mas de una disponible, es el propio dispositivo el que elige, de manera aleatoria, la ranura en la que enva el mensaje. La secuencia tpica de inicio de transmisi n es la siguiente: o Un dispositivo desea contactar con otro o un grupo de ellos. El dispositivo que desea realizar la llamada escucha por el canal de control el mensaje de ALOHA, seleccionando la ranura para transmitir. En el momento apropiado, se transmite un mensaje de REQUEST con la identicaci n del otro dispositivo o del grupo de ellos. o La estaci n base retransmite un mensaje de AHOY con la identidad de el/los o dispositivo/s requeridos. El dispositivo que realiza la llamada sabe que su petici n ha sido atendida meo diante la escucha del mensaje AHOY. El dispositivo receptor escucha el mensaje AHOY y transmite un mensaje ACKNOWLEDGE hacia la estaci n base. o 15
La estaci n base transmite un mensaje GO TO CHANNEL a todos los dispositio vos involucrados en la transferencia. El canal de control en este tipo de sistemas puede estar congurado de dos maneras Canal dedicado. El canal de control solo transmite informaci n relativa al estado o del sistema Canal no dedicado. El canal se puede usar tambi n para tr co, ya sea de voz o e a de datos. En el caso de la aplicaci n desarrollada, todas las comunicaciones se realizaron a o trav s del canal de control, al estar congurado como un canal no dedicado. La soluci n e o comercial usada fue el equipo Actionet [2] de Nokia , y en concreto se utiliz el o modelo R40 de la misma compa a para acceder a la red Trunking ( ver foto 4.2 ), n usando un modem est ndar de modulaci n FFSK como interface entre el puerto serie a o y el equipo de radio. Las caractersticas b sicas del conjunto modem - radio empleados a son las siguientes Comunicaci n half duplex. o Contro de ujo hardware. Para conseguir activar el contacto PTT del equipo de radio, el modem debe de mantener activada la lnea RTS hasta que reciba un CLS por parte de la radio. El tiempo muerto necesario entre la recepci n del CLS y el o envo del primer caracter fue ajustado experimentalmente a un valor de 100ms.
4.2.
Ethernet
Con la intenci n de aprovechar la red de cable de la compa a como medio para o n realizar la comunicaci n entre los diferentes C.T. y el ordenador de control, se puso o como requerimiento al prototipo desarrollado el que fuera capaz de intercambiar datos a trav s de una red Ethernet. Como alternativas al interface entre el microcontrolador e y la red, se barajaron dos opciones: Empleo de dispositivo comercial que hiciera el interface entre el puerto serie y la red Ethernet, encontr ndose dentro de el todo la pila TCP/IP y el el encapsulado a en tramas Ethernet. Empleo de circuitera que realizara unicamente el encapsulado en tramas Ether net, quedando la implementaci n del protocolo TCP/IP a cargo del microcontroo lador De las dos alternativas se escogi la segunda, bas ndose principalmente en criterios o a econ micos. o Con objeto de aislar la red local constituida para la conexi n de todas las RTUs de o la red local general, el departamento de inform tica de la compa a estableci una red a n o virtual, garantizando de esta manera la seguridad de la red interna.
16
(a) Se solicita el inicio de una transferencia de datos, mediante el pulsado del PTT
(b) Se asigna un canal libre para la comunicaci n a todos los integrantes del o grupo.
17
Captulo 5
Protocolo de Comunicaciones
La implementaci n del protocolo de comunicaciones se valor en un primer moo o mento desde dos alternativas: 1. 2. Implementaci n de un protocolo propietario o Utilizaci n de un protocolo est ndar o a
Las ventajas de la primera de las alternativas estaban basadas en la exibilidad que se podra obtener, pudiendo realizar un protocolo que se adaptara completamente a las especicaciones requeridas. Como principal desventaja se encontraba su posterior adaptaci n para la comunicaci n a trav s de Internet. o o e Para solucionar el problema de la primera de las opciones, se busc la existencia de o alguna soluci n hardware que permitiera realizar un interface entre una comunicaci n o o serie y una red ethernet. En el mercado existen varias opciones, siendo una de las mas interesantes la propuesta por la empresa Lantronix . Esta marca dispone de un interface serie/Ethernet que dispone en su interior de una implementaci n completa del o protocolo TCP/IP, as como del encapsulado posterior en tramas Ethernet. El aspecto de este dispositivo se puede ver en las guras 5.1. El problema de este dispositivo es el precio por unidad ( 200e). La segunda de las alternativas tena, en contraposici n con la anterior, una menor o exibilidad en cuanto a las caractersticas del protocolo. Sin embargo su utilizaci n era o mucho mas atractiva desde el punto de vista econ mico, solucion ndose el interface o a con la red Ethernet mediante el empleo de un chip dedicado y una circuiteria adicional de bajo coste ( 80e)[3] ( ver gura 5.2 ). Bas ndose en que este era uno de los a requerimientos sobre lo que mas se haba insistido, debido al alto n mero de unidades u a desarrollar, se adopt la segunda de las opciones. o Una vez decidido el realizar la comunicaci n bas ndose en el uso de un protocolo o a est ndar, se procede a denir las necesidades a
5.1.
Protocolo TCP/IP
El protocolo implementado ha sido una versi n simplicada del conjunto de proo tocolos TCP/IP, usados como soporte para conocidas aplicaciones de Internet, como pueden ser el ftp y el correo electr nico. Para realizar las implementaciones se acuo di a los RFCs correspondientes a cada protocolo ( RFC IP: 760, RFC TCP: 761 ), o
18
(a) Aspecto de interface puerto serie Ethernet de la casa Lantronix.Soluci n o de alto coste
Figura 5.1: Interface puerto serie - Ethernet de la casa Lantronix y se realizaron una serie de simplicaciones, con objeto de hacer posible el desarrollo sobre una arquitectura tan simple.
5.1.1.
Simplicaciones Protocolo IP
Las especicaciones del protocolo IP se encuentran en el RFC 760. Para desarrollar la implementaci n sobre el microcontrolador se realizaron algunas simplicaciones soo bre el mismo, con objeto de disminuir la complejidad del c digo. La mas importante de o las modicaciones realizadas es la referente en cuanto al mecanismo de fragmentaci n o implementado en el protocolo. Dado que la longitud de los mayores paquetes de datos a transmitir, es lo sucientemente peque a ( 296 bytes ) como para asegurar que no iban a sufrir ning n tipo de n u fragmentaci n, no se realiz la implementaci n de ning n mecanismo de fragmentao o o u ci n. 1 Para asegurar que los paquetes no se fragmentaran se introdujo la opci n de no o o fragmentar en el campo Flags de la cabecera. Otras simplicaciones menores realizadas se detallan sobre los campos del datagrama IP de la gura 5.1 VER. Versi n del protocolo. La versi n actual del mismo es la V 4. o o LON. Longitud en unidades de 4 octetos de la cabecera. TIPO SERVICIO. El valor de este campo se reere a la calidad del servicio proporcionada. El valor de este campo se ignora en la implementaci n realizada. o LONGITUD TOTAL. Longitud total del datagrama, medida en octetos, incluidos datos y cabecera. IDENTIFICACION: 0 Campos relativos a la fragmentaci n de paquetes, en o nuestro caso este campo no es interpretado, al no estar implementada la fragmentaci n en el protocolo. o
1 El tama o m ximo de paquete est muy alejado del m ximo permitido en una red Ethernet, que es de n a a a 1526 bytes, por lo que el suprimir el mecanismo de fragmentaci n es una simplicaci n aceptable. o o
19
Figura 5.2: Soluci n Ethernet embebida. o Tabla 5.1: Cabecera IP. Byte 1 Ver Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8 Lon Tipo de Servicio Longitud Total Identicaci n o Flags Desplazamiento TTL Protocolo Checksum Direcci n IP Fuente o Direcci n IP Destino o Opciones Relleno Datos ...
FLAGS. Campo con tres bits relativos a la fragmentaci n del datagrama. Con o el valor uno en el segundo de los bits se indica que el paquete no debe de ser fragmentado. DESPLAZAMIENTO. Campo relativo al desplzamiento del paquete actual referido al total, en una trama framentada. No implementado. TTL. El valor de este campo indica el tiempo de vida del paquete en la red. Dado que la comunicaci n entre los diferentes nodos de la aplicaci n y el ordenador o o de control se iba a realizar a trav s de una red virtual dedicada, el valor de este e campo carece de importancia. PROTOCOLO. Indicador del protocolo, en nuestro caso protocolo TCP. CHECKSUM. Algoritmo para comprobar que no existen errores en los valores de los campos de la cabecera. No comprueba los datos del paquete. DIRECCION IP FUENTE. Identicaci n del emisor del mensaje. Este campo es o comprobado por el microcontrolador para asegurarse de que la trasmisi n tiene o como origen el ordenador de control.
20
DIRECCION IP DESTINO. Destinatario del datagrama. El valor de este campo es comprobado por los nodos situados en los CT como medio para reconocer a quien se dirige la trama. En el caso de emplear como medio de comunicaci n o el canal trunking, y al estar congurados todos los nodos dentro de un mismo grupo, el microcontrolador solo debe de responder en el caso en el que la trama tenga su direcci n IP. o OPCIONES. El valor de este campo no se ha usado en la implementaci n del o protocolo.
Desp
Datos ... Los valores de los diferentes campos de la cabecera son los enumerados a continuaci n o PUERTO FUENTE. N mero de puerto del origen de datos. Su uso es debido a u la posibilidad de multiplexar varias comunicaciones de datos. En nuestra aplicaci n, se asignaron n meros de puerto congurables para la comunicaci n de o u o 21
datos y para los diferentes tipos de alarma, siendo estos puertos congurables por el usuario. PUERTO DESTINO. N mero de puerto del destino de datos. u NUMERO DE SECUENCIA. N mero de secuencia del primer octeto del datau grama. Existen indicaciones de como elegir el valor inicial del n mero de seu cuencia, de manera que no se puedan repetir a lo largo de una comunicaci n. En o nuestro caso, y dado que las comunicaciones de datos son cortas, simplemente se hace corresponder el n mero inicial con el de puerto de la comunicaci n actual. u o NUMERO DE ACK. N mero de secuencia del siguiente paquete que se espera u recibir. DESP. Desplazamiento en unidades de 4 bytes hasta el comienzo de los datos. RES. Espacio reservado para usos futuros, debe de tener el valor cero. CODIGO. Bits de control. El unico uso especial en nuestra implementaci n es el o bit de EOL (End of Letter ), el cual indica que se ha llegado al nal del segmento actual, obligando al protocolo TCP a pasar los datos a la capa superior. De esta manera se evita que el protocolo acumule varios paquetes antes de enviarlos a la capa de aplicaci n, obligando de esta manera a que cada paquete enviado o por el microcontrolador sea respondido de manera individual. Con este ag, se simplica la implementaci n del protocolo en el micro, evitando el tener que o mantener una cola con los paquetes enviados hasta la recepci n de un ACK o WINDOW. N mero de octetos de datos, a partir del n mero indicado en el ACK, u u que el cliente puede aceptar. Este n mero se utiliza para la implementaci n del u o algoritmo de ventana deslizante del protocolo, que en nuestro caso no ha sido implementado, ya que el n mero de paquetes aceptado es uno ( tama o del buffer u n de entrada del microcontrolador ). Para evitar que la implementaci n del protoo colo realizada por el ordenador inunde la del micro, se ha utilizado el ag EOL en todos los paquetes de datos. CHECKSUM. Checksum de cabecera y datos. PUNTERO URGENTE. No implementado. OPCIONES. No implementadas.
5.2.
En el sistema de comunicaciones desarrollado, se pueden producir tres tipos de comunicaciones. La primera de ellas es la comunicaci n de datos. Esta modo de funo cionamiento se produce cuando el ordenador de control requiere a la unidad remota los datos de las corrientes recogidas. Durante la misma se podr n realizar tambi n otras a e operaciones, como pueden ser la conguraci n de la unidad remota y la consulta del o estado de las alarmas. El segundo tipo de intercambio de informaci n es el producido o cuando el C.T. tiene que comunicar alguna incidencia. Este tipo de comunicaci n es de o mucha mayor importancia que la de datos, por lo que el mecanismo de reintentos es di ferente. Por ultimo se encuentran las comunicaciones relacionadas con la conguraci n o de par metros, las cuales son iniciadas por el ordenador de control. a 22
5.2.1.
Comunicaciones de datos
El esquema tipo de una comunicaci n de datos es el mostrado en las siguientes o guras. Una conversaci n para el intercambio de datos comienza cuando el ordenador o de control requiere a cualquiera de las unidades remotas los valores de la curva de carga del transformador. Es por tanto, una comunicaci n que se inicia por parte del ordenador o de control, y que se vera nalizada cuando se reciba el ultimo paquete de datos, si no se produce ningun error en la misma. El inicio tpico, en ausencia de errores, es el mostrado en la gura 5.3. A continuaci n el ordenador enva un mensaje de saludo, o que en caso de ser reconocido como un patr n correcto por la unidad remota, permite o el inicio de la transacci n. Finalmente, y como ultimo de los procesos de inicio de la o comunicaci n, se procede a realizar las conguraciones que sean necesarias. En caso de o que no se desee realizar ninguna, se enva el paquete que contiene como datos la cadena FINCONF, pudiendo comenzar el intercambio de informaci n; segun el esquema de o la gura 5.6. Como se ve en el esquema anterior, el nal de la comunicaci n se produce o cuando la unidad remota enva un ultimo paquete de datos, el cual contiene el bit de FIN activado.
23
24
5.2.3.
Comunicaciones de conguraci n o
El esquema tipo de una comunicaci n de conguracion es el mismo que el moso trado en la gura 5.5. Las comunicaciones de conguracion se pueden realizar en el transcurso de una de datos. Para ello se ha creado el mensaje que contiene como datos la cadena FINCONF, de este modo todo mensaje que preceda a esta cadena se suponde de conguracion, no comenzando la unidad remota a trasnmitir datos hasta que haya recibido este paquete.
25
Captulo 6
Se han representado los datos las corrientes por las fases R, S, T y neutro respectivamente. Los ndices h y l hacen referencia al byte alto y bajo del valor de la corriente a correspondiente. Como la capacidad de un paquete de datos es de 256 bytes, en el ir n contenidos, manteniendo siempre la secuencia antes representada, los valores correspondientes a 32 muestras recogidas a intervalos de 15 minutos, es decir, a las muestras de corrientes almacenadas en un intervalo de 8 das. En los 3 primeros paquetes de da tos ir n contenidos los valores relativos a un da completo, mientras que en la totalidad a de los 21 paquetes se almacenar n los datos recogidos durante una semana. a
26
La estructura del campo datos de cada paquete ser la siguiente: Los bytes corresa Tabla 6.3: ESTRUCTURA MENSAJES DE ALARMA CodigoAlarma AN OH AN OL M ES DIA HORA M IN U T O SEGU N DO
pondientes al campo fecha y hora tienen el siguiente signicado: AN OH : Byte alto del n mero de a o u n AN OL : Byte bajo del n mero de a o u n M ES: N mero de mes u DIA: N mero de da u HORA: N mero de hora u M IN U T O: N mero de minuto u SEGU N DO: N mero de segundo u
6.3.
Mensaje de sincronizaci n o
Es un mensaje enviado por E.R.A.C.C. para ordenar el sincronismo de los relojes del computador y el equipo remoto. Tendr una longitud de 48 bytes, siendo 40 de ellos a de cabecera y 8 de datos. La estructura de este mensaje es la siguiente:
27
Tabla 6.4: ESTRUCTURA MENSAJES DE SINCRONIZACION Bytedecontrol : 0X54 AN OH AN OL M ES DIA HORA M IN U T O SEGU N DO
El campo byte de control contendr el car cter T de Time (c digo ASCII 54h). a a o Indicar que el mensaje enviado es de sincronizaci n de fecha y hora. El resto de bytes a o corresponde a la nueva fecha que se enviar . Esta fecha ser la que tenga el PC de a a control si el mensaje es enviado por este, de tal modo que sirva de fecha de sincronismo para la RTU. Si el mensaje es enviado por esta como contestaci n a un mensaje de o sincronismo de E.R.A.C.C., contendr la fecha recibida desde este (si es el primer a mensaje de sincronizaci n) o la fecha que tenga en ese momento el reloj interno del o equipo remoto (para los posteriores mensajes de sincronizaci n). o
6.4.
Mensajes de Parametrizaci n o
Mensaje de conguraci n IP o Para cambiar la direcci n IP del equipo remoto, o que este conozca una nueva o direcci n IP del puesto de control donde se ejecutar E.R.A.C.C., se enviar un mensaje o a a de 48 bytes de longitud total, de los cuales 8 bytes ser de datos. La estructura de cada a byte de datos ser la siguiente: a Tabla 6.5: ESTRUCTURA MENSAJES DE CONFIGURACION IP DireccionEEP ROM N umerodebytes IP1 IP2 IP3 IP4 ND ND
Los distintos bytes del campo datos de cada paquete tienen el siguiente signicado: DireccionEEP ROM : Direcci n de comienzo de la EEPROM interna del mio crocontrolador, donde se encuentra almacenada la direcci n IP a congurar. La o direcci n a enviar ser la direcci n 00h, direcci n a partir de la cual residen los o a o o cuatro bytes de direcci n de la RTU, o la direcci n 04h, con lo que se reconguo o rar para el equipo remoto un posible cambio en la direcci n IP del PC de control. a o Puede obtenerse m s informaci n acerca de la distribuci n de estas direcciones a o o en el apartado Mapa de memoria EEPROM interna del microcontrolador. N umerodebytes : N mero de bytes a escribir en la EEPROM interna del miu crocontrolador. Este campo se usa como par metro en la funci n de escritura a o en dicha EEPROM. Su valor habr de ser 4, que es el n mero de bytes que se a u congurar n (ser n los 4 bytes que vendr n a continuaci n en el mensaje, que a a a o compondr n la direcci n IP a congurar). a o IP1 : Octeto m s signicativo de la direcci n IP a congurar. a o IP2 : Siguiente octeto de la direcci n IP. o 28
IP3 : Tercer octeto de la direcci n IP. o IP4 : Octeto menos signicativo de la direcci n IP a congurar. o N D : Byte sin ning n signicado dentro del mensaje. Puede ser cualquier valor. u Mensaje de conguraci n de puertos o La posibilidad de poder congurar los puertos de comunicaci n depender de la o a capacidad de almacenamiento en memoria de programa disponible para el microcontrolador. En principio, para las RTUs de comunicaci n va trunking no se contempla o la posibilidad de congurar estos par metros. Para los equipos Ethernet tampoco se a contempla esta posibilidad, si es factible mantener los n meros de puerto jos. En u cualquiera de los casos, ha de informarse mejor en el c digo fuente sobre la implemeno taci n o no de esta caracterstica. o La estructura de estos mensajes ser similar a la de los mensajes de conguraci n a o de las direcciones IP, s lo que en este caso el n mero de puerto ocupar unicamente o u a dos bytes. La estructura es la siguiente: Tabla 6.6: ESTRUCTURA MENSAJES DE CONFIGURACION DE PUERTOS DireccionEEP ROM N umerodebytes P uertoH P uertoL ND ND ND ND
Los distintos bytes del campo datos de cada paquete de conguraci n de puertos o tienen el siguiente signicado: DireccionEEP ROM : Direcci n de comienzo de la EEPROM interna del mio crocontrolador, donde se encuentran almacenados los n meros de puertos temu porales (v ase el mapa de memoria EEPROM interna del microcontrolador). La e direcci n a enviar en este byte ser la siguiente: Estas direcciones correspono a Tabla 6.7: DIRECCIONES EEPROM DE LOS PUERTOS Puerto Puerto de datos Puerto de alarma 1 (incendio) Puerto de alarma 2 (sobretemperatura) Puerto de alarma 3 (fusin del fusible MT) o Puerto de alarma 4 (inundacin) o Puerto de alarma 5 (intrusismo) Direccin EEPROM o 0x14 0x16 0x18 0x1A 0x1C 0x1E
den a las direcciones de comienzo reservadas en la memoria EEPROM interna donde almacenar los nuevos datos de conguraci n para los puertos. Durante o una comunicaci n entre E.R.A.C.C. y una RTU se pueden congurar los puero tos de comunicaci n, pero no pueden ser cambiados durante el transcurso de la o propia comunicaci n de conguraci n, si no que esto tendr que realizarse una o o a 29
vez nalice dicha comunicaci n. Por lo tanto, si el equipo remoto detecta que o est recibiendo un mensaje de este tipo, almacenar estos par metros en las dia a a recciones temporales de su EEPROM interna, y continuar la comunicaci n por a o el mismo n mero de puerto que lo estaba haciendo. Una vez que vuelva al estado u CLOSED, entonces copiar los par metros escritos en las direcciones temporaa a les en las direcciones correspondientes (jas) de la misma memoria EEPROM. La pr xima comunicaci n que se establezca ya ser realizada a trav s de los o o a e n meros de puerto que se le hayan pasado previamente. u N umerodebytes : N mero de bytes a escribir en la EEPROM interna del miu crocontrolador. Este campo se usa como par metro en la funci n de escritura en a o dicha EEPROM. Su valor habr de ser en este caso 2, que es el n mero de bytes a u que se congurar n (ser n los 2 bytes que vendr n a continuaci n en el mensaje, a a a o que compondr n el n mero de puerto a congurar). a u P uertoH : Octeto m s signicativo del n mero de puerto a congurar. a u P uertoL : Byte menos signicativo del n mero de puerto. u N D : Byte sin ning n signicado dentro del mensaje. Puede ser cualquier valor. u Mensaje de n de conguraci n (petici n de volcado de datos) o o Este mensaje se enviar despu s de todos los mensajes de conguraci n que hayan a e o podido ser enviados. Su recepci n por parte de la RTU indicar a esta que la orden de o a petici n de volcado de datos procedente de E.R.A.C.C. se ha generado, por lo que el o equipo remoto ha de enviar, en primer lugar y si las hubiese, las alarmas no comunicadas almacenadas en el buffer de alarmas, y luego todos los paquetes de datos. Ser un a mensaje de 47 bytes, con 7 bytes de datos. Los datos contendr n la cadena de caracteres a FINCONF. Mensaje de bienvenida En todas las comunicaciones establecidas entre E.R.A.C.C. y cualquier RTU, y en el sentido descrito (PC de control -Equipo remoto), se enviar un mensaje especial de a bienvenida que habr de ser reconocido por la RTU antes de proseguir en la comunia caci n. El mensaje de bienvenida contendr 47 bytes, de los cuales 7 son datos. Estos o a ser n la cadena de caracteres HELLOHC, que se interpretar como dicho mensaje de a a bienvenida. Si este no es enviado por el PC, o la recepci n no es correcta, la RTU no o contestar a petici n del puesto de mando. La raz n de ser de este mensaje es que sirve a o o para establecer un peque o ltro de acceso a cada equipo remoto, con el n de que las n RTUs Ethernet no puedan ser accedidas f cilmente a trav s de la red por equipos no a e autorizados. Aunque para los equipos remotos trunking esta especicaci n no es imo portante, se sigue manteniendo por compatibilidad en el c digo fuente empleado para o ambas versiones.
30
Captulo 7
Conclusiones
En el presente trabajo se ha expuesto una soluci n v lida y exible para comunicar o a un ( o varios ) dispositivos remotos con un centro de control. Aunque la aplicaci n o realizada est particularizada para el caso estudiado, es factible realizar peque as moa n dicaciones para adaptarla a otros requerimientos. La soluci n elegida presenta las o siguientes ventajas e inconvenientes Soluci n exible. El hecho de haber realizado una implementaci n que permite o o tanto la comunicaci n mediante enlace de radio o red Ethernet, medios muy o diferentes entre si, muestra la exibilidad del prototipo. Bajo costo. El alto n mero de unidades a desarrollar haca que el precio fuera un u factor determinante en la soluci n elegida. Como se ha expuesto en anteriores o apartados, la implementaci n escogida tiene un importante ahorro frente a otras o alternativas Protocolo complejo. El hecho de haber realizado un protocolo complejo, como es el TCP/IP, para un medio como es el enlace de radio, hace que las comunicaciones sean mas lentas que con otra implementaci n mas sencilla ( una comunio caci n con los datos de una semana dura en torno a los dos minutos ). Posibles o soluciones a esto pasan por el uso de un protocolo no orientado a conexi n, como o UDP. Alto uso de memoria de programa por parte del protocolo de comunicaciones. Esta limitaci n hace que futuras ampliaciones del software del microcontrolador o sean complejas de llevar a cabo.
31
Bibliografa
[1] http://www.radio.gov.uk/publication/mpt/mpt3.htm, est ndar MPT1327. a Especicaciones del
[2] http://www.roboteks.com/actionet.htm, Introducci n al sistema Actionet. o [3] http://www.embeddedethernet.com/, Conexi n de un microcontrolador a una o LAN. [4] http://www.winradio.com/home/trunking theory.htm, Introducci n al Truno king. [5] http://www.genesisworld.com/trunking.htm, Enlaces Trunking. [6] http://www.signalharbor.com/ttt/00jan/index.html, Introducci n al Trunking. o [7] http://www.roboteks.com/pmr.htm, Ejemplo de un sistema basado en el producto Actionet. [8] http://www.signalharbor.com/ttt/00feb/index.html, Funcionamiento de un sistema Trunking. [9] Dod standard internet protocol, Request for comment del protocolo IP. [10] Dod standard transmission control protocol, Request for comment del protocolo TCP.
32