1 Universidad Iberoamericana Primavera de 2008 Implementación de protocolo de comunicación basado en DNP3 para enlazar sistemas de control supervisorio vía inalámbrica con controladores industriales (PLC) José Roberto Islas González Ingeniería Electrónica, Departamento de Ingenierías Universidad Iberoamericana, Ciudad de México México D.F, 01210, México. Marzo 2008 Resumen— *DNP3 es un protocolo de comunicación para sistemas de control supervisorio. Es una implementación de comunicaciones diseñado para enlazar unidades de control remotas e interfases hombre-máquina (HMI). El presente trabajo muestra la implementación de las comunicaciones ente un PLC y un HMI. La reinterpretación y posterior implementación del protocolo se basa en el protocolo DNP3 procurando dar robustez al sistema ante los problemas con los que un sistema de comunicación inalámbrico de corto alcance se enfrenta en ambientes industriales El modelo de pruebas enlaza vía BlueTooth un PLC S7-200 de SIEMENS con una HMI que corre un SCADA programado en Labview. I. INTRODUCCIÓN Para poder definir los protocolos de comunicación es necesario determinar y predecir la estabilidad de dicho protocolo y cómo éste garantiza la seguridad del enlace, si la información enviada o recibida llega completa ó simplemente el tamaño en memoria que ocupan. Al observar las necesidades con las que debe cumplir un protocolo para su aplicación en sistemas de control supervisorio y adquisición de datos (SCADA), se establecen especificaciones concretas que Distributed Network Protocol (DNP3) satisface pues ha sido concebido y diseñado para operar en ambientes típicos de la industria. Adicionalmente DNP3 es una recomendación de protocolo independiente del medio por lo cual es posible implementarlo con ciertas adecuaciones a un modelo de comunicación inalámbrica. La comunicación inalámbrica será probada implementando el protocolo sobre bluetooth el cual fue elegido debido a que los dispositivos portátiles cuentan con esta tecnología. Los criterios bajo los cuales será evaluado el sistema a desarrollar son: 1. Costo 2. Integridad de la información 3. Velocidad de transmisión 4. Robustez y 5. Estabilidad en ambientes de trabajo adversos Bluetooth se utiliza principalmente en un gran número de productos tales como teléfonos, impresoras, módems y auriculares. Su uso es adecuado cuando puede haber dos o más dispositivos en un área reducida sin grandes necesidades de ancho de banda. Su uso más común está integrado en teléfonos y PDA's, bien por medio de unos auriculares Bluetooth o en transferencia de ficheros. Bluetooth tiene la ventaja de simplificar el descubrimiento y configuración de los dispositivos, ya que éstos pueden indicar a otros los servicios que ofrecen, lo que redunda en la accesibilidad de los mismos sin un control explícito de direcciones de red, permisos y otros aspectos típicos de redes tradicionales. Dada la versatilidad y facilidad para desarrollar interfaces gráficas de usuario (GUI), utilizamos una para tener un mejor manejo y entendimiento del programa. Para esto utilizamos Labview, el cual aporta ventajas sobre el manejo de los puertos y un mejor desempeño en dispositivos portátiles. DNP3 es un protocolo abierto y público. Para asegurar interoperabilidad, la longevidad y el mejoramiento constante, el grupo de usuarios DNP3 ha tomado la responsabilidad de su evolución. El comité técnico del grupo de usuarios DNP3 sugirió modificaciones o adiciones al protocolo y después enmienda la descripción del protocolo según lo dirigido por los miembros del grupo de usuarios. DNP3 ofrece flexibilidad y la funcionalidad que va más allá de protocolos de comunicaciones convencionales. Entre sus características robustez y flexibilidad DNP3 incluye: Opciones de la salida. Asegurar la configuración / las transferencias de archivo. Dirección para más de 65.000 dispositivos en un solo acoplamiento. Juves 27 de Marzo del 2008; José Roberto Islas González, Ingeniería en Electrónica y de Comunicaciones; 144966-3. 2 Universidad Iberoamericana Primavera de 2008 Sincronización de tiempo y acontecimientos con impresión horaria. Mensajes de difusión. Confirmación de la transmisión de datos y de la capa de uso. DNP3 originalmente fue basado en tres capas del modelo OSI: capa de uso, capa de transmisión de datos y capa física. La capa de uso, se basa en los formatos de datos más comunes que existen. La capa de transmisión de datos prevé varios métodos de recuperar datos tales como interrogación para las clases y las variaciones del objeto. La capa física define lo más comúnmente posible un interfaz simple EIA-232 o EIA-485. DNP3 es un protocolo multicapas, ya que asegura la integridad de los datos. Es multicapas ya que cada capa va a realizar una función bien definida, y la función de cada capa es de elegir la opción o la decisión correcta, teniendo en cuenta que cada capa debe elegir la disminución del flujo de información a través de las interfaces y la cantidad de capas debe ser suficientemente para no tener que agrupar funciones distintas en la misma capa y para que la arquitectura se fácil de manejar a demás para que no sufra perdidas, con decisiones erróneas. (Ver tabla 1 Anexa) II. PROPUESTA DE DISEÑO Para poder entender más a fondo cómo es que este protocolo nos da la seguridad suficiente en una comunicación inalámbrica hay que ver cómo es el formato de este mismo. Este formato especifica el uso de un encabezado de 10 bytes, seguido opcionalmente de 16 bloques de datos. El total de tamaño del mensaje es limitado a 292 bytes, el cual nos da una capacidad de datos máxima a 250 bytes. (Ver Tablas 2, 3, 4, 5 Anexa) El bloque del encabezado está formado por: Start 2 bytes: 0564(hex).Siempre se comienza con 2 bytes y esta es la primera forma de seguridad en donde si no se comienza con 0564 en hexadecimal no se da pie a la siguiente trama de bytes. Length Cuenta de los datos en bytes, esta en el rango de 0-255, 1 byte: FF(hex).Se conoce la cantidad de bits a mandar y a monitorear y es ahí en donde se coloca la longitud de datos que se monitorean o controlan. Esto nos ayuda a tener siempre una constante de cuanta información se maneja y poder determinar en cierto punto si la información esta completa o no. Control El byte de control nos ayuda a tener un control sobre el flujo de los datos en la capa física, identificando el tipo, e identificando la dirección. La interpretación del byte de control es independiente de la comunicación en cuanto a los mensajes primarios o si son secundarios. Esta formado por 1. 2. 3. 4. 5. 6. La dirección. Mensaje primario Cuenta de bits de la trama Cuenta de bits de la trama valida BIT de control del flujo de datos Código de la función principal (Ver Tabla 6 Anexa) Destination 2 bytes de la dirección destino Source 2 bytes de la fuente de la dirección CRC 2 bytes de redundancia cíclica para detectar errores. User Data Cada bloque tiene 16 bytes de datos. El ultimo bloque contiene 16-1 conforme se va requiriendo, en caso de tener la trama llena se tendrán 10 bytes de datos. III. CONCLUSIÓN Lo importante de este proyecto es el protocolo y la implementación de este mismo, ya que en un ambiente industrial la seguridad de los datos es de las cosas más importantes. Los medios por los cuales desplegamos la interfaz gráfica y los medios de comunicación pasan a un segundo plano. La aplicación para la cual va a ser implementado este protocolo no es de suma importancia ya que esta puede ser cualquier método o sistema en la industria, lo que importa realmente es cuanta información o datos van a ser empleados ya que forma parte de la trama del protocolo DNP3 ya que usamos parte de la información a monitorear o controlar para hacer el código de detección de error. IV. PALABRAS CLAVE Acoplamiento Conexión entre dos circuitos eléctricos, con transferencia de energía de uno a otro. Difusión Propagación de algo, especialmente de un conocimiento o de una noticia. DNP3 Distributed Network Protocol, set de protocolos para comunicaciones usados en sistemas de automatización. Enlace Unión, conexión de una cosa con otra. Header Iniciador, encabezado, cabecera. Integridad Total plenitud Interoperabilidad Universidad Iberoamericana Primavera de 2008 Capacidad de comunicación entre diferentes programas y máquinas de distintos fabricantes. Longevidad Larga duración. PLC Controlador lógico Programable. Dispositivos electrónicos muy usados en Automatización Industrial. Protocolo Lista de comandos estandarizada a la que responde un servidor. Redundancia Repetición de una información ya dada en el mensaje. Robustez Fuerza, vigor, resistencia. SCADA Supervisory Control and Data Acquisition V. REFERENCIAS [1] Gordon Clarke, DEon Reynders, Modern SCADA Protocols: DNP3, 60870.5 and related Systems. [2] http://www.dnp.org/ 3