DNP3 Telecontrol Protocol

41
DNP 3.0 DNP 3.0

description

Especificación del protocolo DNP3. Análisis de capa física, enlace de datos, pseudo transporte y de aplicación. Librería de objetos de datos. Descripción de implementación SCADA, Comparación con IEC60870-5-101

Transcript of DNP3 Telecontrol Protocol

  • DNP 3.0

  • CONTENIDOIntroduccinCaractersticas del DNP3Capas del protocoloConceptos adicionalesUtilizacin del DNP3 en ELITEL-4000

  • INTRODUCCINLos sistemas SCADA, la automatizacin de la distribucin y la automatizacin de subestaciones han dejado de ser vistas como simples herramientas para una mejor operacin de las redes de transmisin y distribucin.Ahora son vistas como fuentes crticas de informacin necesaria para hacer a las empresas (servicios pblicos) ms eficientes y competitivas.El mayor obstculo es que los datos estn en protocolos propietarios o no estandarizados.Una de las soluciones a este problema ha sido la aparicin de protocolos estndares como el DNP.

  • El desarrollo del DNP3 ha sido un gran esfuerzo para lograr tener un protocolo abierto de interconectividad estandarizada entre computadores en las subestaciones, unidades terminales remotas (RTU), dispositivos electrnicos inteligentes (IED) y estaciones maestras de empresas de servicios pblicos, sobretodo, empresas elctricas.

    Las ltimas encuestas muestran que el protocolo DNP3 es el ms utilizado mundialmente en las empresas elctricas.

    Algunos especialistas dicen que podra convertirse en un estndar de facto (protocolo que ha llegado a ser un estndar no por ser especificado por una asociacin de estndares, sino debido a que es utilizado y reconocido por la mayora de personas)

  • HISTORIA

    El protocolo DNP (Distributed Network Protocol) fue creado en 1990 originalmente por la compaa Westronic Inc., ahora llamada, GE Harris.

    A finales de 1993, la propiedad y la responsabilidad de definir nuevas especificaciones fueron otorgadas al Grupo de Usuarios de DNP (DNP User Group).

    Este grupo ha ido creciendo, y en la actualidad hay ms de 500 miembros.

  • Gracias a la colaboracin de todos los miembros, el DNPUG tiene un comit tcnico muy efectivo.La pgina Web del grupo es www.dnp.orgEl grupo est compuesto por usuarios de empresas de servicios pblicos y vendedores que utilizan el DNP en sus productos.Es por esta razn que la evolucin del protocolo es balanceada y refleja siempre las necesidades de la industria: interoperabilidad, longevidad y la escalabilidad. Adicionalmente, mantener la compatibilidad es una de las mayores prioridades del grupo.

  • El comit ha publicado muchos documentos tcnicos; entre los ms importantes estn:

    Recommended Protocol SubsetDNP Subset DefinitionsIED Test ProcedureDNP Over LAN/WAN; User Group Approved Method

    El grupo estaba trabajando en un programa normalizado que permita certificar las implementaciones de DNP3 de los diferentes vendedores.

  • Actualmente, existen diversas empresas independientes calificadas que ponen a prueba las implementaciones de DNP de diversos suministradores y certifican su correcto funcionamiento de acuerdo a las reglas de implementacin del protocolo.

    Esto significa ventajas para el usuario final: reduccin de tiempo y dinero en las instalaciones, ya que pueden contratar con diferentes vendedores que garantizan la compatibilidad entre ellos.

    En la actualidad existen muchas aplicaciones para PC con conjuntos de pruebas para protocolos, cdigo fuente de DNP, capacitacin tcnica, y programas de soporte tcnico. Esto ha permitido que el protocolo DNP haya sido instalado en miles de dispositivos alrededor del mundo.

  • Qu es el DNP 3.0?El DNP 3.0 est basado en el trabajo de la IEC (Comisin Electrotcnica Internacional) que dio como resultado el protocolo IEC 60870-5, el cual es muy utilizado mundialmente, sobretodo en Europa.

    Los dos protocolos, DNP3 e IEC60870-5 son parte del estndar 1379 que es el documento de las Prcticas Completas Recomendadas para Comunicaciones SCADA.

    El DNP3 no est limitado a la comunicacin serial cableada en las subestaciones o de las subestaciones a un SCADA maestro a travs de mdems y lneas telefnicas; la funcionalidad del DNP3 ha permitido que este protocolo sea utilizado sobre redes Ethernet TCP/IP, redes framerelay corporativas, sistemas de fibra ptica, sistemas de celulares estndares o CDPD, y en comunicaciones va radio con o sin licencia.

  • El DNP3.0 es un protocolo abierto, inteligente, robusto, y eficiente. Sus principales operaciones son:Solicitar y responder datos de diferentes tipos en un solo mensaje.Segmentar mensajes en mltiples tramas para asegurar una excelente deteccin de errores y recuperacin.Incluir slo la informacin cambiada en los mensajes de respuesta.

  • Asignar prioridades a los diferentes tems y solicitar datos peridicamente basndose en las prioridades.Responder sin una peticin (no solicitado)Soportar sincronizacin de tiempo y un formato estndar de tiempoSoporta mltiples maestros y operaciones punto-a-punto, y permite manejar objetos definidos por el usuario incluyendo transferencia de archivos.

  • CARACTERSTICAS DEL DNP3.0Los protocolos definen las reglas para que diferentes dispositivos puedan hablar entre sEl DNP3 es un protocolo para la transmisin de datos de un punto A a un punto B usando comunicacin serial. Se lo utiliza principalmente en compaas de servicios pblicos como las empresas elctricas, pero opera adecuadamente en otras reas. Una empresa elctrica suele tener un centro de control desde el que supervisa el estado de todo el equipo en cada una de sus subestaciones.

  • En el centro de operaciones, computadores muy poderosos almacenan todos los datos entrantes y muestran pantallas del sistema para los operadores humanos (IHM).Las subestaciones tienen muchos dispositivos que necesitan ser supervisados. Por ejemplo: interruptores (estn abiertos o cerrados?), sensores de corriente (cunta corriente est fluyendo?) y transductores de voltaje (cul es el potencial en las lneas?). En realidad, la empresas estn interesadas en supervisar muchos ms parmetrosLas subestaciones suelen tener uno o ms computadores para recolectar los datos y transmitirlos al centro de control. Adicionalmente, estos computadores tambin reciben rdenes desde el centro de operaciones para controlar la subestacin.

  • Sobre qu hablan los computadores? El computador de la subestacin recoge datos para transmitirlos al centro de control, como por ejemplo:

    Datos de entrada binarios que sirven para supervisar dispositivos de dos estados. Por ejemplo un interruptor o una alarma de presin.Datos de entrada analgicos que llevan voltajes, corrientes, potencia, niveles de agua, temperaturas, etc.Contadores que informan los kilovatios hora de energa. Archivos que contienen los datos de configuracin.

  • La estacin central enva comandos para realizar ciertas operaciones en las subestaciones, como por ejemplo:

    Cierre o apertura de un interruptor, de una vlvula, etc.Salidas analgicas para establecer un valor determinado de voltaje o de presin.

  • Los computadores tambin intercambian parmetros de sincronizacin, fecha y hora, registros de operaciones, datos histricos, formas de onda, y mucho ms.

    El DNP3 fue diseado para perfeccionar la transmisin de la informacin adquirida y de comandos de un computador a otro.

    No es un protocolo del propsito general para transmitir hipertexto, multimedia o archivos grandes.

  • Cliente y ServidorEn DNP3 tambin se utilizan los trminos cliente y servidor. Se entiende como un servidor a una mquina o software que tiene datos o informacin que alguien ms necesita. Cliente es un dispositivo o software que solicita datos o informacin de un servidor. En este caso, los computadores de las subestaciones son servidores y la estacin maestra es el cliente.

  • La Figura 1 muestra la relacin entre cliente y servidor y da una vista simple de las bases de datos y los procesos de software involucrados.

    Los cuadros en la parte superior representan los tipos de datos que manejan los equipos. Estos datos estn organizados en arreglos.

    El objetivo del cliente es mantener su base de datos actualizada. Para lograr esto debe solicitar los datos peridicamente al servidor (esclavo).

  • Existen tambin algunos sistemas donde el esclavo enva respuestas sin necesidad de haber recibido alguna peticin.El cliente y el servidor mostrados en figura 1 cada uno tienen dos capas de software. La capa superior es la capa de usuario de DNP3. En el cliente, el software interacta con la base de datos e inicia las peticiones de datos al servidor. En el servidor, el software saca los datos pedidos de la base de datos y responde a las demandas del cliente.

  • Arquitectura

  • La Figura 2 muestra las arquitecturas comunes de sistemas que utilizan DNP3.

    El primero, es un sistema simple que tiene una estacin maestra y una esclava. La conexin fsica entre los dos es tpicamente una lnea telefnica convencional o dedicada.

    El segundo tipo de sistema es conocido como un diseo multidrop. Una estacin maestra comunica con mltiples dispositivos esclavos. Las conversaciones se dan tpicamente entre el cliente y un servidor a la vez. El maestro pide los datos del primer esclavo, y luego interroga al prximo esclavo, y as sucesivamente. Los medios de comunicacin de comunicacin son comnmente una lnea telefnica multidrop, fibra ptica, o radio. Cada esclavo recibe los mensajes del maestro y slo puede responder a los mensajes dirigidos a l.

  • En algunas formas del multidrop, las comunicaciones pueden ser punto-a-punto. Una estacin puede operar como un cliente que recoge informacin o enva rdenes al servidor en otra estacin. Y luego, puede cambiar los papeles para volverse un servidor de otra estacin.

    El siguiente es un sistema de tipo jerrquico dnde el dispositivo del medio es un servidor del cliente en la izquierda y es un cliente con respecto al servidor de la derecha.

    Los ltimos ejemplos muestran aplicaciones de concentradores de datos y conversores del protocolo. Un dispositivo recoge los datos de mltiples servidores en el lado derecho de la figura y guarda esta informacin en su base de datos dnde es recuperada por un cliente en el lado izquierdo de la figura. Este diseo se ve a menudo en subestaciones dnde el concentrador de datos recolecta la informacin de los dispositivos inteligentes (IED) locales y transmite esta informacin a la estacin maestra.

  • Comunicaciones

    En los recientes aos, varios vendedores han usado TCP/IP para transportar los mensajes de DNP3 en lugar de los medios de comunicacin discutidos anteriormente. Este acercamiento le ha permitido a DNP3 aprovechar la tecnologa de Internet para lograr una adquisicin de informacin barata y el control de dispositivos que se encuentran muy separados. Muchos circuitos de comunicacin entre los dispositivos son imperfectos. Ellos son susceptibles al ruido y distorsin de las seales. El software de DNP3 est formado por capas para garantizar una transmisin de datos confiable y organizada.

  • Capa de EnlaceLa capa de enlace (Link) tiene la responsabilidad de hacer que el enlace fsico sea confiable. Para esto, realiza deteccin de errores y deteccin de tramas duplicadas. La capa de enlace enva y recibe paquetes que en la terminologa de DNP3, se llaman tramas.

    A veces es necesario transmitir ms de una trama para transportar toda la informacin de un dispositivo a otro.

    Una trama de DNP3 consiste en una cabecera y una seccin de datos. La cabecera especifica el tamao de la trama, la estacin de DNP3 que debe recibir la trama, el dispositivo de DNP3 que envi la trama y la informacin de control para el enlace de datos.

    La seccin de los datos normalmente se llama la carga y contiene datos pasados a travs de las capas superiores.

  • Cada trama empieza con dos bytes de SINCRONIZACIN que ayudan a los receptores a determinar dnde empieza la trama. La LONGITUD especifica el nmero de bytes en el resto de la trama, sin incluir los del CRC. El octeto de CONTROL DE ENLACE se usa para coordinar las actividades entre el envo y la recepcin en las capas de enlace (Link Layers).

  • La DIRECCIN DEL DESTINO especifica qu dispositivo de DNP3 debe procesar los datos, y la DIRECCIN DE LA FUENTE identifica qu dispositivo de DNP3 envi el mensaje.

    Esto satisface un requisito para las comunicaciones punto-a-punto, ya que el receptor sabe dnde dirigir sus respuestas.

    Existen 65520 direcciones individuales disponibles.

    Cada dispositivo de DNP3 debe tener una nica direccin dentro del conjunto de dispositivos comunicndose entre s.

    Adicionalmente hay tres direcciones de destino reservadas por DNP3 para denotar un mensaje para todos, es decir, la trama debe ser procesada por todos los dispositivos de DNP3.

    Finalmente, trece direcciones son reservadas para necesidades especiales en el futuro.

  • La carga de datos en la trama del enlace contiene dos bytes de CRC para cada 16 bytes de datos.

    Esto permite estar seguro que se pueden descubrir los errores de comunicacin.

    El nmero mximo de bytes en la carga de datos es 250, sin incluir los bytes de CRC

    La trama ms larga de la capa de enlace es 292 bytes contando con todos los CRC y los bytes de cabecera)

  • En DNP3 se oye a menudo el trmino confirmacin de la capa de enlace.

    Un rasgo de la capa de enlace de DNP3 es la habilidad que tiene el transmisor de pedirle al receptor que confirme que la trama que recibi.

    Esta caracterstica es opcional, y no se emplea a menudo.

    Si una confirmacin no se recibe, la capa de enlace puede reintentar la transmisin.

    Algunas desventajas son el tiempo extra requerido para los mensajes de confirmacin y la espera de mltiples timeouts si se configuran reintentos.

  • Capa de TransporteLa capa de transporte se encarga de partir los mensajes largos y pasarlos a la capa de enlace para que los enve, o recibir partes de mensajes y unirlos para crear mensajes largos.

    En DNP3 la capa de transporte est incorporada en la capa de aplicacin. La capa de transporte requiere un solo byte dentro del mensaje para hacer su trabajo.

    Dado que la capa de enlace puede ocuparse de 250 bytes de datos, y se usa uno de ellos para la funcin de transporte, entonces cada trama de la capa de enlace puede manejar hasta 249 bytes de la capa de aplicacin.

  • Capa de aplicacinLos mensajes de la capa de aplicacin se descomponen en fragmentos. El tamao del fragmento es determinado por el tamao del buffer del dispositivo receptor. Normalmente va entre 2048 y 4096 bytes.

    Un mensaje que es ms grande que un fragmento requiere los fragmentos mltiples.

    Fragmentar los mensajes es la responsabilidad de la capa de aplicacin.

    Un fragmento de la capa de aplicacin de tamao 2048 debe irrumpirse en 9 tramas por la capa de transporte, y un tamao del fragmento de 4096 necesita 17 tramas.

    Para ambientes que operan con ruido, las comunicaciones suelen ser ms exitosas con tamaos menores de fragmento.

  • Capa de aplicacinLa capa de aplicacin trabaja junto con la de transporte y la de enlace para proporcionar comunicaciones fiables.

    Proporciona funciones estandarizadas y formatea los datos con los que va a interactuar la capa de usuario que est por encima.

  • Conceptos adicionalesEn DNP3, el trmino esttico (static) se usa con los datos y se refiere al valor actual. As los datos de una entrada binaria esttica, se refiere al valor actual del estado de un dispositivo del dos estados. Los datos de una entrada analgica esttica contienen el valor al momento que se transmite. El DNP3 permite solicitar algunos o todos los datos estticos de un dispositivo esclavo.

  • Los eventos en DNP3 estn asociados con algn acontecimiento significante. Por ejemplo: cambios de estado, valores que exceden algn umbral, captura instantnea de datos variables, datos pasajeros e informacin recientemente disponible. Un evento ocurre cuando una seal digital cambia de estado: de ON a OFF; o cuando una seal analgica cambia ms que el lmite configurado. DNP3 tiene la capacidad de informar los eventos con o sin marcas de tiempo, para que el cliente pueda generar un informe cronolgico.

  • La capa de usuario puede hacer que el DNP3 solicite los eventos. Normalmente, un cliente se actualiza ms rpidamente si interroga los eventos del servidor y slo de vez en cuando pide los datos estticos como una medida de integridad. Las actualizaciones son ms rpidas porque el nmero de eventos generados entre las interrogaciones del servidor es pequeo y, por consiguiente, menos datos deben regresar al cliente.

  • El DNP3 va un paso ms all clasificando los eventos en tres clases. Cuando DNP3 fue concebido, los eventos Clase 1 fueron considerados con mayor prioridad que los eventos Clase 2, y los Clase 2 tenan mayor prioridad que los eventos Clase 3. Este esquema puede ser configurado, y algunos usuarios de DNP3 han desarrollado otras estrategias ms favorables para asignar los eventos en las clases. La capa de usuario puede solicitar a la capa de aplicacin los eventos Clase 1, 2 o 3 o cualquier combinacin de ellos.

  • DNP3 tiene la capacidad de representar los datos en formatos diferentes. El anlisis de formatos de datos analgicos es til para entender la flexibilidad de DNP3. Un valor esttico, actual, analgico puede ser representado con las siguientes variaciones: 1. Un valor entero de 32-bit con bandera, 2. Un valor entero de 16-bit con bandera, 3. Un valor entero de 32-bit, 4. Un valor entero de 16-bit, 5. Un valor de punto flotante de 32-bit con bandera y 6. Un valor de punto flotante de 64-bit con bandera. La bandera se refiere a un byte cuyos bits indican si el origen est en lnea, el valor contiene un rearranque, las comunicaciones estn perdidas con el origen, el datos est forzado y el valor est encima del rango. No todos los dispositivos de DNP3 pueden transmitir o pueden interpretar las seis variaciones. Los dispositivos de DNP3 deben poder transmitir las variaciones ms simples para que cualquier destinatario pueda interpretar los contenidos.

  • Los datos de eventos analgicos pueden ser representados por las siguientes variaciones:

    1. Un valor entero de 32-bit con bandera, 2. Un valor entero de 16-bit con bandera, 3. Un valor entero de 32-bit con bandera y tiempo del evento, 4. Un valor entero de 16-bit con bandera y tiempo del evento,5. Un valor de punto flotante de 32-bit con bandera, 6. Un valor de punto flotante de 64-bit con bandera, 7. Un valor de punto flotante de 32-bit con bandera y tiempo del evento 8. Un valor de punto flotante de 32-bit con bandera y tiempo del evento.

    La bandera tiene los mismos bits que los datos estticos.

  • Para diferenciar los datos estticos de los eventos, DNP3 asigna nmeros de objetos. Los valores analgicos estticos tienen el nmero 30 y los eventos analgicos tienen el 32.

    Cuando el servidor de DNP3 transmite mensajes que contienen datos de respuesta, el mensaje identifica el nmero de objeto y la variacin. Todos los tipos de datos en DNP3 tienen un nmero de objeto y uno de variacin.

  • La capa de usuario en el cliente solicita datos del servidor dicindole a la capa de aplicacin qu funcin debe realizar, como por ejemplo Leer determinados datos del servidor. Esta peticin puede especificar cuntos objetos quiere, objetos especficos, o un rango de objetos del servidor.

    La capa de aplicacin pasa la peticin hacia la capa de transporte y luego hacia la de enlace para que el mensaje sea enviado. La capa de enlace en el servidor chequea si existen errores y pasa los datos a la capa de transporte y posteriormente a la de aplicacin. Esta capa le comunicar a la de usuario qu objetos requiere el cliente en el mensaje.

    Las respuestas se dan de la misma manera, pero en sentido contrario.