Introducción a la norma IEEE 1815 – DNP3

Introducción

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..


Bloques de DNP3

La estructura de la norma DNP3 define 3 bloques lógicos dentro de una implementación de DNP3:

  • Capa aplicación.
  • Función de transporte.
  • Capa de enlace.
Ilustración 1 – Estructura modular de DNP3

Estructura modular de DNP3

Tipos de datos básicos en DNP3

La información básica de DNP3 puede clasificarse en cuatro  tipos básicos:

  • Entrada binarias.
  • Salida binaria.
  • Entrada analógica.
  • Salida analógica.

A esos tipos básicos se les añaden dos más:

  • Contadores.
  • Entrada binaria doble. (muy común en interruptores y seccionadores eléctricos para dar el estado del mismo con 2 hilos).
Ilustración 2 – Tipos de datos básicos DNP3

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).

Ilustración 3 – Clases de datos en DNP3

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:

  • Grupo. Identifica el tipo de información que viaja en el mensaje. Por ejemplo, valor actual de entrada binaria.
  • Variación: formato de la información que indica si viaja la calidad y/o marca de tiempo o el formato de los datos analógicos.
  • Índice: dirección en la base de datos.

Capa de aplicación

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.

Ilustración 4 – Formato de los fragmentos DNP3

Formato de los fragmentos DNP3

El formato de las cabeceras de los fragmentos es el siguiente:

Ilustración 5 – Cabecera de los fragmentos DNP3

Cabecera de los fragmentos DNP3

Función de transporte

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

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:

Ilustración 7 – Cabecera de la función de transporte

Cabecera de la función de transporte

  • FIR bit: indica que este segmento es el primero de un fragmento.
  • FIN bit: indica que este segmento es el último de un fragmento.
  • SEQ: contador incremental para garantizar que no se pierden o duplican segmentos intermedios con los bits FIR y FIN desactivados.

If one Fragment can be send inside one Segment, this segment sets the FIR and FIN bits.

Capa de enlace

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:

Ilustración 8 – Trama de enlace

Trama de enlace

  • Len: indica la longitud de la trama, siendo el valor máximo 255 bytes.
  • Ctrl: permite identificar el servicio de enlace usado.
  • Destination y Source: incluyen la dirección de enlace de comunicaciones (sólo en uso en comunicaciones serie multipunto).
  • User data: un segmento de la función de transporte.
  • CRC: tanto la cabecera como cada bloque de 16 bytes incluyen dos bytes extra de CRC para comprobar que el mensaje es correcto.

Librería de objetos

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:

Ilustración 9 – Grupos de objetos 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.


Interoperabilidad

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.

Ilustración 10 – Documento de interoperabilidad

Documento de interoperabilidad

Opcionalmente puede usarse el formato XML denominado Dnp3DeviceProfile incluido en las últimas  especificaciones de DNP3.

Ilustración 11 – Dnp3DeviceProfile documento XML

Dnp3DeviceProfile documento XML

El formato XML puede convertirse en el documento de texto por medio de una transformada XSLT.


Niveles de implementación

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


Especificaciones de pruebas

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.


Gateway DNP3 a IEC 61850

La norma IEEE 1815.1 define como enviar información de instalaciones IEC 16850 a través de un gateway DNP3.


Inclusión de seguridad

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.


Términos y abreviaturas                                                                 

  • ASDU – Application Service Data Unit. Estructura que contiene información de capa aplicación a intercambiar entre una estación remota y un centro de control.
  • DNP3 – Distributed Network Protocol version 3. Protocolo de comunicaciones de automatización y telecontrol con capacidades serie y TCP-IP muy extendido en la automatización de subestaciones y comunicación con centros de control.
  • IEC – International Electrotechnical Commission – Organización Internacional que desarrolla normativa relacionada con el mundo eléctrico.
  • IEC 60870-5-101/104 – Protocolo de telecontrol serie o TCP-IP muy extendido en la comunicación de subestaciones con centros de control.
  • RTU – Remote Terminal Unit – Equipo que recoge la información más importante de un sistema y la envía al centro de control en base a protocolos como DNP3 o IEC 60870-5-101/104.
  • SCADA – Supervisory Control and Data Adquistion – Sistema que permite monitorizar y controlar una instalación como una planta industrial o una subestación eléctrica.

ENSOTEST es una compañía que desarrolla herramientas de automatización basadas en el protocolo IEC 61850. UCA International Users Group.


PDF Gratis

Rellena el siguiente formulario y obtendrás este artículo en pdf gratuitamente.