El telecontrol de instalaciones remotas permite la supervisión y operación de localizaciones dispersas geográficamente desde un puesto de control centralizado optimizando el uso de recursos para dicha tarea.
La definición de protocolos de telecontrol estandarizados posibilita la integración de instalaciones de diferentes suministradores con el centro de control de la compañía eléctrica encargada de controlar la operación del mismo sin necesidad de conversores de protocolos ni adaptaciones.
Cuando las opciones de comunicación disponibles eran limitadas en ancho de banda, los protocolos de telecontrol se basaban en comunicaciones serie a través de radio enlaces o módems telefónicos encargados de la transmisión de información por redes públicas o privadas.
En este contexto la organización IEC definió el protocolo de telecontrol IEC 60870-5-101. Sin embargo al no cubrir esta norma todas las necesidades de las empresas de Norte América, la empresa Harris, Distributed Automation Products desarrolla la primera versión de DNP3. Este protocolo pasa a mantenerse y ampliarse por la asociación DNP3 users group en diciembre de 1993.
Inicialmente DNP3 hace uso de enlaces serie, como los existentes en IEC 60870-5-101. Actualmente DNP3 permite comunicaciones sobre redes TCP/IP o UDP/IP posibilitando el uso de redes IP para mejorar la comunicación del sistema.
Es un protocolo basado en identificadores numéricos que permite monitorizar y controlar estaciones remotas. A su vez su uso se extiende al campo de control y monitorización de instalaciones como subestaciones eléctricas en la comunicación entre el SCADA y los equipos de protección y control.
En el año 2010 la especificación técnica DNP3 se define como norma IEEE 1588..
La estructura de la norma DNP3 define 3 bloques lógicos dentro de una implementación de DNP3:
Estructura modular de DNP3
La información básica de DNP3 puede clasificarse en cuatro tipos básicos:
A esos tipos básicos se les añaden dos más:
Tipos de datos básicos DNP3
Cada dato DNP3 dentro de la base de datos de una estación remota se denomina Punto y se identifica por un Índice. El valor actual del punto se denomina valor estático.
El punto puede generar eventos por cambios de valor o ante la recepción de comandos.
Los eventos pueden almacenarse en una de las 3 clases que permite DNP3 (clase 1, clase 2 o clase 3).
Clases de datos en DNP3
Para identificar el formato de un punto de la base de datos de DNP3 dentro de un mensaje se usan 3 propiedades:
La capa de aplicación define Funciones (servicios) que se intercambian entre estaciones controladoras (Master) y estaciones remotas (Outstation).
Las funciones básicas de DNP3 son:
1: READ: lectura de valor estático o eventos.
2: WRITE: escritura de atributos del equipo.
Las funciones de control más comunes son:
3: SELECT: servicio de control de selección.
4: OPERATE: orden tras selección.
5: DIRECT_OPERATE: orden directa sin selección.
Las funciones de manejo de contadores básicas son:
7: IMMED_FREEZE: orden de congelado inmediato.
9: FREEZE_CLEAR: congelado y reset a 0.
Existen funciones para solicitar el reinicio de una estación remota:
13:COLD_RESTART: reset total de la estación remota.
14: WARM_RESTART: reset parcial de la estación remota.
Las funciones para activar envíos espontáneos de eventos y organizar los eventos en clases:
20: ENABLE_UNSOLICITED: se usan en remotas modernas para activar el envío espontáneo.
21: DISABLE_UNSOLICITED: se usan en remotas modernas para desactivar el envió espontáneo. Si se desactiva la recogida de eventos se realiza por lectura de clase 1, 2,3.
22: ASSIGN_CLASS: permite asignar a cada punto o tipo de punto una clase para los eventos que genera. Por lo general la remota ya los organiza, pero este servicio si se implementa le permite al master cambiar este orden
Además, DNP3 define otras muchas funciones como por ejemplo funciones para manejo de ficheros.
La capa de aplicación define dos tipos de estructuras de datos de nivel aplicación, denominadas Fragmentos. Se define el fragmento de petición y el fragmento de respuesta, siendo la principal diferencia entre ambos que el fragmento de respuesta lleva consigo un campo de 16 bits denominado Internal Indications con información de estado de la estación remota o del resultado de la Función solicitada.
Un fragmento puede estar formado por secciones. Las secciones a su vez pueden incluir objetos DNP3.
Formato de los fragmentos DNP3
El formato de las cabeceras de los fragmentos es el siguiente:
Cabecera de los fragmentos DNP3
Los fragmentos de aplicación pueden ser mayores que el mensaje de la capa de enlace (249 bytes máximo).
La función de transporte «trocea» los fragmentos en el extremo transmisor y los «ensambla» en el extremo receptor. A nivel de función de transporte se usa el término 'segmento'.
Ilustración 6 – Segmentado de fragmentos
Cada segmento lleva un conjunto de bytes del fragmento y una cabecera de transporte. Dicha cabecera de un byte presenta el siguiente formato:
Cabecera de la función de transporte
If one Fragment can be send inside one Segment, this segment sets the FIR and FIN bits.
La capa de enlace se encarga de tareas de direccionamiento y detección de errores (CRC).
En enlaces serie permite el uso de confirmación de tramas que exige al extremo receptor confirmar la correcta recepción de cada mensaje. En enlaces TCP/IP la funcionalidad de la capa de enlace no se usa ya que TCP/IP permite garantizar el correcto envío y recepción de tramas.
El formato de la trama de enlace es el siguiente:
Trama de enlace
DNP3 define diferentes grupos para proporcionar la información actual y de eventos ocurridos en la estación remota o para modificar parámetros o enviar comandos.
Los grupos se organizan por tipos de información:
Grupos de objetos de información
Para cada grupo la especificación de DNP3 especifica las variaciones disponibles y el formato de cada una de ellas.
DNP3 define diferentes funciones y parámetros de configuración.
A su vez para cada grupo se definen variaciones y formatos para el envío en los fragmentos. El conjunto de opciones se detalla en el documento de interoperabilidad.
El documento de interoperabilidad puede definirse en modo texto con un conjunto de tablas.
Documento de interoperabilidad
Opcionalmente puede usarse el formato XML denominado Dnp3DeviceProfile incluido en las últimas especificaciones de DNP3.
Dnp3DeviceProfile documento XML
El formato XML puede convertirse en el documento de texto por medio de una transformada XSLT.
Dado que las funciones y variaciones de DNP3 son más numerosas que las opciones de otros protocolos como IEC 60870-5-101, la asociación DNP3 users group ha definido 4 niveles de implementación siendo 1 el nivel menos exigente y 4 el más exigente.
Cada nivel superior requiere que se implementen (soporten) más funciones de aplicación y variaciones dentro de los objetos de información
Para cada nivel de implementación DNP3 users group ha definido una especificación de pruebas. Actualmente se encuentran disponibles las especificaciones de pruebas para los niveles de implementación 1 y 2 y se está trabajando en los niveles de implementación 3 y 4.
La norma IEEE 1815.1 define como enviar información de instalaciones IEC 16850 a través de un gateway DNP3.
Desde 2010 la especificación de DNP3 incluye seguridad con autenticación. Dicha especificación de seguridad denominada DNP3 SAv2 se basa en conceptos de IEC 62351-5.
En 2012 la especificación de seguridad se actualiza a la versión DNP3 SAv5. Actualmente, la asociación DNP3 Users Group define un documento de pruebas para verificar las implementaciones seguras de DNP3.
ENSOTEST es una compañía que desarrolla herramientas de automatización basadas en el protocolo IEC 61850. UCA International Users Group.
Rellena el siguiente formulario y obtendrás este artículo en pdf gratuitamente.
Copyright © 2023 | ENSOTEST S.L. - Aviso legal y política de privacidad