Sistema de Control y Supervisión remota basada en telefonía móvil GSM Carmina Boter; Laia Sánchez; J. L. Romeral Departament d’Enginyeria Electrònica. Universitat Politécnica de Catalunya Colón 1, 08222 Terrassa (Barcelona). Spain Tel.: +34 937398194, Fax.: +34 937398016 [email protected] emergencia,..) no puede confiarse en ningún margen preestablecido, En otras palabras, el sistema no es determinista. Resumen La aplicación presentada tiene como finalidad controlar y supervisar plantas aisladas desde cualquier punto remoto mediante un teléfono móvil, utilizando un módem GSM conectado a un autómata programable o PLC. El sistema es capaz de realizar el control de la planta mediante el envío y la recepción de mensajes cortos de texto, concretamente mensajes SMS (Short Message Service), los cuales podrán ser redireccionados a distintos números de teléfono, según los protocolos establecidos en la aplicación. Estos mensajes, prefijados o incorporando variables de estado, pueden considerarse como alarmas si los genera automáticamente el PLC, o como respuestas a demandas de información desde el operador. - La comunicación sólo podrá establecerse si existe cobertura para la señal. Dado que ésta depende de la posición del operador y del estado de la red, no puede garantizarse el enlace permanentemente. - El teléfono móvil utiliza batería, y ésta debe recargarse periódicamente. Durante los tiempos de recarga, el operador permanece desconectado del sistema. - Aunque no están definitivamente establecidos los efectos fisiológicos de la telefonía móvil celular, la aplicación del principio recomendado de gestión de riesgo “as low as reasonably achievable” puede llevar a una reducción de la potencia de los terminales y módems, dificultando la expansión de las aplicaciones industriales sugeridas en este artículo. 1. Introducción Actualmente, la telefonía móvil está ganando terreno en el campo de las comunicaciones interpersonales, conjuntamente con aplicaciones basadas en Internet. El número de móviles que se comercializa aumenta continuamente, y la demanda de uso se centra mayoritariamente en la recepción y envío de mensajes cortos, lo que ha propiciado la reducción de costes y la mejora continua en los tiempos de recepción y retransmisión de los mismos por parte de las compañías de servicios. Por otra parte, la telefonía móvil presenta frente a otras alternativas de comunicación industriales algunas ventajas ciertamente destacables: - Así, el sistema permitirá (Fig. 1): - Enviar Órdenes desde el operador (parada/marcha, cambio de consignas, etc), y recibir Respuesta de ejecución desde el PLC - Enviar Alarmas desde el PLC, y reconocerlas por Confirmación desde el operador, modificando si procede la secuencia de control. No es necesaria una línea física de interconexión, lo que permite colocar la aplicación y el usuario en cualquier punto. - Siendo un adminículo de uso personal, el peso y el tamaño del móvil se reduce continuamente, lo que contribuye a su transportabilidad. - El precio del móvil es muy reducido, y además el usuario ya lo ha amortizado con su uso personal, sin que repercuta en el coste final de la aplicación. Por su parte, el precio del módem, siendo ligeramente superior, tampoco es significativo frente a los elementos típicos de un sistema automatizado. Naturalmente, presenta también algunas desventajas: - En cualquier caso, puede establecerse como campo general de aplicación la supervisión y seguimiento de plantas remotas, y la posibilidad de actuación previa a la presencia física del operador. El sistema puede enviar y recibir mensajes y órdenes continuamente, pero cuando el tiempo de respuesta es un factor crítico (alarmas vitales, paradas de Orden / Confirmación MODEM PLC SMS USUARIO Respuesta / Alarma SISTEMA Fig. 1. Aplicaciones del sistema Tampoco debe descartarse la opción de, una vez conectado el sistema, utilizarlo no sólo para supervisión y control, sino también para actualización y/o reparación del programa del autómata, evitando desplazamientos superfluos de programadores e integradores. 45 2. Configuración del Sistema Los componentes del sistema descrito son (Fig.2) el Autómata Programable o PLC, el módem GSM y el móvil de usuario, además del PC que servirá para la programación y puesta a punto de todos los elementos. La comunicación entre PLC y MODEM se hace mediante conexión estándar RS-232 (Tabla I), por los puertos disponibles a tal efecto en ambos aparatos. Rx Tx GND 2) 3) 5) (2 (3 (5 Fig.3 Conexión PLC - MODEM a tres hilos La Tabla II muestra la equivalencia entre las señales del conector estándar RS-2323 (25 pines) de la Tabla I, y los más frecuentes conectores industriales DB9 de sólo 9 pines. DB9 PLC Conector RI 45 RS-232 1 2 3 4 5 6 7 8 9 Móvil GSM Módem GSM Conector DB9 Fig. 2 Diagrama de bloques del sistema Número Señal Descripción 1 Ground Tierra de protección 2 TxD Transmisión de Datos 3 RxD Recepción de Datos 4 RTS Petición de envío. Señal de salida controlada por el DTE 5 CTS Habilitación de envío. Señal de respuesta controlada por el DCE 6 DSR Confirmación de estado de módem operativo 7 GND Común de señal 8 DCD Detección de portadora 15 TC Reloj de transmisión 17 RC Reloj de recepción 20 DTR Confirmación de estado de Terminal (PLC) operativo 22 RI Indicador de recepción de llamada de línea Tabla 1. Señales de enlace RS-2323 El módem incorpora un puerto estándar en configuración DCE (Data Communication Equipment), mientras que los autómatas suelen disponer de puertos configurables, que habrá que parametrizar para funcionamiento RS-232 en configuración DTE (Data Terminal Equipment). Las señales a utilizar son todas las indicadas en la Tabla I, o únicamente las tres primeras, dependiendo de si se pretende establecer contención hardware o no. En cualquier caso, el enlace entre ambos se realiza pin a pin, como muestra el ejemplo de Fig. 3, realizado sobre conectores DB9. DTE DCE Rx Tx GND Señal DCD RxD TxD DTR GND/SG DSR RTS CTS RI DB25 8 3 2 20 7 6 4 5 22 Tabla I1. Equivalencia entre conectores DB9 y DB25 La configuración típica del enlace PLC-MODEM podría ser la siguiente: Velocidad: 9600 baudios Data bits: 8 bits; Stop Bits: 1 Paridad: ninguna; Control de flujo: ninguno El tiempo de respuesta del módem (señal CTS) a la demanda de comunicación del PLC (señal RTS), denominado ‘tiempo de inversión’, es característico de cada MODEM y debe ser tenido en cuenta al establecer el programa de control del puerto en el autómata. La comunicación entre el usuario y el sistema se realiza vía GSM (Global System for Mobile Comunications), intercambiando información según norma ETSI GSM 7.07 (AT Command Set for GSM Mobile Equipment), a una frecuencia de 900MHz. 2.1 MODEM GSM Un MODEM GSM no es más que un terminal celular semejante a un teléfono móvil, pero sin teclado ni display. Por lo tanto, necesita darse de alta en algún operador, que le proporcionará un número por contrato o tarjeta, y un número de Centro de Mensajes, para la recepción/envío de mensajes SMS. En esta aplicación se utiliza el MODEM WAVECOM [1]. En cuanto al software de control o comandos del MODEM, la mayoría de ellos se ajustan a la norma Hayes [3], comandos del tipo AT+, que tienen el formato general siguiente: AT+Comando = Dato <CR> <LF> para escritura de configuración / envío de mensajes, y AT+Comando? <CR> <LF> para lectura de configuración / estados del MODEM. Como se puede observar, el fin de la transmisión queda identificado por los caracteres <CR> y <LF>, excepto en algunos comandos especiales. 46 Por ejemplo, para programar el MODEM con la configuración anterior, hay que enviarle los comandos indicados en la Tabla III. 9600 bps 8 bits de datos AT+ICF=3,4<CR><LF> Sin paridad 1 bit de Stop Tabla III. Ejemplo de configuración del MODEM - AT+IPR=9600<CR><LF> - La configuración o parametrización inicial del MODEM puede ser realizada desde el PLC, o desde un PC con el software de control de puerto COM serie adecuado, por ejemplo, Hyper Terminal (Fig. 4). En cualquier caso, los parámetros de enlace RS-232 han de ser idénticos siempre en ambas partes de la línea. - Respuesta: El módem pide el número de PIN - Introducimos PIN - Preguntamos por cobertura Respuesta: 0: Registro de operadora desactivado AT+CSMP = ‘1,167,0,0’, con el que se define el tipo de mensajes, que con los valores indicados serán mensajes tipo SMS-SUBMIT, 24 horas máximas de retención de mensaje en el Servidor antes de hacerlo llegar a destino, envío del mensaje como texto ASCII y sin conversión a cadena binaria. AT+CMEE, = 1, para habilitar la generación de mensajes de error con el formato ‘+CMS/CME ERROR: <tipo de error>’ desde el MODEM. ATE0, para deshabilitar el eco de caracteres recibidos desde el PLC en el MODEM. ATQ0, para habilitar el envío de los caracteres de confirmación (‘OK’) o de error desde el MODEM después de recibir un comando. AT+CNMI=2,1,0,0,0. Este comando define la gestión de mensajes entrantes en el MODEM. En la aplicación, se ha optado por que el MODEM advierta al PLC que ha llegado un mensaje y está almacenado en una cierta posición de la memoria SIM. AT&W, para grabar en memoria EPROM del MODEM la configuración actual. AT+CREG, para leer desde el MODEM el estado actual del operador con quien se tenga dada de alta la SIM, incluyendo la cobertura.. AT+CMGS, comando esencial para el envío de mensajes al MODEM, según la secuencia siguiente: Enviar al módem: Fig. 4 Envío de PIN y consulta de cobertura desde PC AT+CMGS=699799315 (número de móvil) Respuesta 1ª módem: > Enviar al módem:Mensaje SMS <ctrl-Z> Existe un gran número de comandos AT con diferentes finalidades, para programación del puerto, envío de mensajes SMS, gestión de memoria de mensajes dentro de la tarjeta del MODEM, establecimiento de llamadas de voz, etc., aunque no todos son necesarios para la aplicación propuesta. Ejemplos de comandos a utilizar, además de los mostrados en la Tabla III, son los siguientes: - - - - AT+CPIN = “código PIN”, con el que se envía al MODEM el PIN o Personal Identification Number de la tarjeta SIM o Suscriber Identity Module para poder inicializar el Sistema AT+CSCA = ”Número del Centro Servidor de Mensajes”, o CSA (Service Centre Address) que indica qué Servidor se utilizará para enviar el mensaje AT+IFC = n1,n2, con el que se definen las señales a considerar en el enlace RS-232. Por ejemplo, n1,n2 =2,2 indica al MODEM que las señales RTS (Request to Send) y CTS (Clear to Send) serán necesarias para el control de la transmisión y recepción de datos. AT+CMGF=n, con el que se define el modo texto o PDU (cadena binaria) para la transmisión/recepción de mensajes. Por ejemplo, si se desea trabajar en ASCII, lo que facilita la manipulación de datos en el PLC, debe hacerse n=1. AT+CSCS =”PCCP437”, para habilitar el alfabeto especial PCCP437, que incluye el carácter ‘@’. Así, la aplicación será capaz de enviar una dirección de correo como encabezamiento del mensaje SMS, lo que redirecciona el mismo a un servidor de correo electrónico. 47 Respuesta 2ª módem: +CMGS: 188 OK (mensaje enviado) Muchos de estos comandos son de tipo escritura/lectura, y enviados con un interrogante ‘?’ responderán con la configuración/estados actuales del MODEM. Algunos de estos comandos pueden ser parametrizados inicialmente en el MODEM, y no es necesario enviarlos para cada enlace establecido. 2.2 Autómata Programable La mayor parte de PLCs disponen de uno o más puertos serie integrados en el cuerpo del autómata, o disponibles como accesorios conectables a él. Las instrucciones de usuario permiten la manipulación de estos puertos para la recepción y envío de datos, una vez parametrizados correctamente con el software de programación Los datos transmitidos/recibidos pueden estar codificados en diferentes formatos, siendo los más usuales los códigos ASCII y Hexadecimal. En concreto, los comandos y datos a enviar al MODEM deben ser previamente tratados en registros internos del autómata, hasta formar la secuencia completa ‘comando AT + parámetro’, según los ejemplos mostrados en la Tabla III. En esta aplicación se utiliza el autómata IDEC IZUMI Micro3 [3], que dispone de un puerto serie adicional además del puerto de programación, configurable como puerto se usuario y gestionado con las instrucciones TXD y RXD, que permiten el envío y recepción de datos a través del mismo. En Fig. 5 se muestra la estructura y programación de la instrucción TXD, siendo muy similar la de la instrucción RXD. S1 es el dato a transmitir, D1 es el registro o relé interno que advierte de que la transmisión se ha realizado correctamente, y D2 es el registro que informa del estado actual de la transmisión: preparando, transmitiendo, o completada. Para la programación de la instrucción se abre una ventana de usuario en el software de programación del autómata, que permite la introducción de todos estos valores. 3. Lectura del mensaje en registros del PLC, e identificación del mismo por comparación con una plantilla de órdenes predefinidas. Cada instrucción puede transmitir / recibir hasta un máximo de 200 bytes. Todos los caracteres del teclado se pueden enviar o recibir, ocupando 1 byte cada uno de ellos. También pueden enviarse o recibirse datos en codificación hexadecimal Si el mensaje recibido es de Control y no de Supervisión, el PLC lo atenderá después de identificar la orden (punto 3) devolviendo (puntos 4 y 5) un mensaje de confirmación de orden ejecutada al usuario, por ejemplo, ‘ORDEN OK’. 4. Atención de la orden, y generación de la secuencia de respuesta a transmitir. 5. Escritura de la secuencia en el MODEM, incluyendo el número del teléfono móvil al que se llamará. 6. Confirmación de envío desde el móvil, y paso al estado de recepción (lectura). Para el caso de emisión de Alarmas, el protocolo es: 1. Preparación de la secuencia a transmitir, incluyendo o no variables de proceso, tras la aparición de la alarma. 2. Escritura del mensaje en el móvil, y confirmación de recepción por parte de éste. 3. Paso del PLC al estado de recepción, y espera de la confirmación de lectura por parte del usuario. 4. Recepción de la confirmación de usuario en el PLC, y activación de las siguientes opciones (según el tipo de alarma enviada): a. Paso al estado de Supervisión/Control , en espera de nuevas indicaciones por parte del usuario. b. Actuación directa sobre el proceso. Fig. 5. Configuración de la instrucción TXD Para la sincronización entre el PLC y el MODEM es necesario interpretar correctamente el fin de cada transmisión. Para ello, al final de la mayoría de los comandos AT se debe enviar un CR (Carry Return) y un LF (Line Feed). Estos caracteres tienen su correspondiente valor decimal: CR = 13d ; LF = 10d., aunque también cabe emplear su equivalente en hexadecimal debido a la posibilidad de incorporar esta codificación en las instrucciones TXD. En este caso, los códigos correspondientes son CR = 0Dh; LF = 0Ah. Para indicar el final de texto de mensaje, carácter ctrl+Z, se envía su codificación en hexadecimal, que corresponde a 1Ah. 3. Descripción de la aplicación La aplicación desarrollada cubre dos representadas esquemáticamente en Fig. 1: - Supervisión/Control del proceso. - Generación y envío de alarmas opciones, El protocolo de usuario para la Supervisión se establece como sigue: 1. Envío de un mensaje codificado al MODEM desde un teléfono móvil, demandando cierta información. 2. Recepción en el MODEM, y re-envío al PLC, cuyo puerto permanecía en estado de lectura (es decir, esperando al ejecución de una instrucción RXD). Ambos protocolos se han programado de forma que tras cada escritura en el MODEM es necesario hacer una lectura del mismo, para comprobar que el comando ha sido correctamente atendido (respuesta ‘OK’). Esta comprobación asegura la robustez del sistema en el nivel básico de enlace, aunque no se ha introducido ningún protocolo de identificación/corrección de errores: desconexión del móvil llamado, o no recepción de la respuesta de confirmación desde el mismo, órdenes de usuario (mensajes) no identificables, etc., dado que esta comprobación es muy dependiente de la aplicación final desarrollada. Todos los comandos y datos enviados /recibidos por el puerto de enlace PLC-MODEM lo son codificando los caracteres ASCII en serie, tal y como deben aparecer en el mensaje final. Los protocolos anteriores han sido programados en el autómata, mostrándose ahora como ejemplo la secuencia programada para la emisión de una alarma de proceso, que consta de tres etapas transmisión-recepción: ETAPA 1 1.1 Introducción del código PIN de la tarjeta SIM que está dentro del módem, mediante el envío del comando AT+CPIN. 1.2 Espera del ‘OK’ de confirmación de que el módem ha procesado correctamente la orden o comando de identificación de tarjeta. La confirmación puede hacerse por lectura y comprobación de los caracteres ‘OK’, o simplemente comprobando que la 48 recepción ha sido correcta (registro D2 de la instrucción RXD, ver apartado2.2, Fig. 5). Primer Scan de PLC ETAPA 2 2.1 Envío del comando AT+CMGS, por ejemplo, AT+CMGS=699799314, número de llamada del MODEM. 2.2 Tras la confirmación de recepción, se espera recibir en el PLC el carácter “>”, que significa que el MODEM está esperando el texto del mensaje a retransmitir. Inicializar registros Comando AT+CPIN=2533 Esperar 20 s ETAPA 3 3.1 Generación y/o preparación de la secuencia a transmitir, con o sin variables de estado. 3.2 Envío del texto de alarma. Esta etapa, la que manda el mensaje, se podría considerar como la segunda fase del comando AT+CMGS. 3.3 Comprobación de envío correcto. Para ello, se espera recibir desde el MODEM la secuencia + CMGS: nº de mensaje OK Comando AT+CSCA=”+34656000311” Comandos de configuración AT+IPR= 9600 AT+ICF= 3,4 AT+IFC= 2,2 AT+CMGF= 1 AT+CSMP= 1,167,0,0 AT+CSCS= “PCCP437” AT+CMEE= 1 ATE0 ATQ0 AT&CNMI= 2,1,0,0,0 La secuencia general de cada etapa, y por ende de toda la aplicación, está esquemáticamente representada en Fig. 6. Inicializar Registros Salvar parametros AT&W Enviar Comando / Datos Cobertura AT+CREG? Esperar respuesta Fig.7. Secuencia de inicialización del MODEM Confirmar respuesta 5. Conclusiones Fig.6. Secuencia de operación PLC - MODEM - datos de configuración para enviar al MODEM Se ha presentado en este trabajo los principios de operación para establecer una supervisión / control a distancia de una planta controlada mediante un autómata programable por medio de la telefonía móvil celular. - textos de mensajes constantes predefinidos, para enviar al MODEM, o comparar con mensajes recibidos, El sistema propuesto, de muy bajo coste, resulta sencillo de implementar sobre cualquier autómata o equipo de control de mercado con salida RS-232. - la parte del mensaje de salida que incorporará variables de estado del proceso. La aplicación descrita puede ser adaptada a cualquier proceso que no exija tiempos de respuesta críticos, sin más que cambiar los protocolos de conversación programados en el PLC. La inicialización carga en los registros del PLC las constantes de la aplicación: La secuencia de inicialización del MODEM, que típicamente se realizará una única vez en la puesta en marcha, podría ser la representada en Fig. 7 (el PIN y los números de teléfono son ejemplos). 49 Referencias [1] http://www.wavecom.com/showroom/bigframe.html [2] http://www.cellular.co.za/hayesat.htm#SMS Command Set [3] http://www.idec.com/usa/html/PLCs.html