Professional Documents
Culture Documents
Fundamentals of DNP3: Michael Cevallos, Escuela Politécnica Nacional (EPN), Quito - Ecuador
Fundamentals of DNP3: Michael Cevallos, Escuela Politécnica Nacional (EPN), Quito - Ecuador
Resume –En el siguiente documento se presentara los 2. PREPARACIÓN DEL TRABAJO TÉCNICO
conceptos fundamentales de DNP3, como lo son el modelo
2.1 Conceptos Fundamentales
OSI y su comparación con el DNP3, para asi conocer la
estructura de su mensaje, aplicaciones, etc. En cuanto al 2.1.1 El modelo de siete capas de OSI
modelo OSI durante la transmisión se pasan datos de alto
nivel de la aplicación del usuario al nivel de la aplicación, y El modelo OSI presenta las comunicaciones de datos de
de allí a través de la jerarquía para producir una forma jerárquica, comenzando desde abajo con la capa física
secuencia de datos a través del medio de comunicaciones (capa 1) y pasando a la capa de aplicación (capa 7) en la parte
físico. DNP3 usa las tres capas utilizadas en OSI, pero superior (Figura 1). En cuanto al modelo durante la
agrega algunas funciones de transporte transmisión se pasan datos de alto nivel de la aplicación del
usuario al nivel de la aplicación, y de allí a través de la
Summary: The following document will present the jerarquía para producir una secuencia de datos a través del
fundamental concepts of DNP3, such as the OSI model and medio de comunicaciones físico. En el proceso, los datos
its comparison with the DNP3, so as to know the structure pueden convertirse de una única unidad de datos de aplicación
of its message, applications, etc. As for the OSI model de usuario en trozos más pequeños y finalmente en un flujo de
during transmission, high-level data of the user's bits. En la recepción en su destino, se aplica el proceso inverso
application is passed to the application level, and from y lleva a la regeneración de la unidad de datos del nivel de
there through the hierarchy to produce a sequence of data aplicación original
through the physical communications medium. DNP3 uses
the three layers used in OSI, but adds some transport
functions
1. INTRODUCCIÓN
La capa de pseudo-transporte
Esta capa se incluye en DNP3 para permitir la transmisión de
bloques de datos más grandes que los que podrían manejarse
de otro modo. Algunos escritores han descrito esto en
términos de servicios de red y de transporte, aunque estos
simplemente se conocen como servicios de pseudo-transporte.
Las funciones de red se ocupan del enrutamiento y control de
flujo de paquetes de datos a través de redes. Las funciones de
transporte proporcionan una entrega de extremo a extremo
transparente de red de mensajes completos, incluido el
desmontaje y el reensamblaje, y la corrección de errores.
Capa física
La capa física es el medio físico sobre el que se transmite el
protocolo. El elemento de datos en este nivel es esencialmente
el bit. La definición de la capa física también incluye las Figura 4.- Build-up of DNP3 message
funciones para controlar los medios, como los detalles
necesarios para establecer y mantener el enlace físico, y para
controlar el flujo de datos. Por lo tanto, durante el ensamblaje del mensaje, el mensaje
La especificación real de esta capa es normalmente una norma aumentará de tamaño con cada capa que pase por debajo.
separada, como ITU-T X.21, o V.24, RS-232 u otras. También se desensambla en este proceso en unidades de datos
Capa de enlace de datos más pequeñas. La acumulación de mensaje ilustrada en la
La capa de enlace de datos proporciona una transmisión figura 4 ahora se describe brevemente para cada capa. Se
confiable de datos a través del medio físico. Mientras que la describe aquí desde el nivel más alto, el nivel de aplicación,
capa física se refiere al paso de una señal, o un poco de datos, hacia abajo. Esto refleja la secuencia de generación de
la capa de enlace de datos se ocupa del paso de grupos de mensajes durante el envío. Por supuesto, la secuencia en el
datos. Estos grupos pueden ser referidos como un marco. Las otro extremo está en reversa, ya que el mensaje se pasa por el
medio físico, en la capa de enlace de datos y hasta la capa de conoce como formato de trama FT3, que fue descrito
aplicación. originalmente por IEC 870-5-1. Este formato de cuadro
representa un punto histórico de terreno común entre DNP3 e
2.2.2 Capa de aplicación IEC 870-5.
Los datos del usuario son los datos que surgen de la aplicación
del usuario. La aplicación del usuario se puede visualizar 2.2.5 La capa física
como una capa sobre la capa de aplicación, y podría ser, por
ejemplo, un programa de interfaz hombre-máquina (HMI) La capa física convierte cada cuadro en un flujo de bits sobre
como 'Citect' o 'Intellution Fix', o podría ser un programa el medio físico. En la documentación original de DNP3, se
incrustado, como un C + programa de aplicación. Los datos especifica una capa física asíncrona de serie de bits. Requiere
podrían ser datos de alarma y evento, datos de estado digital, o datos de 8 bits, un bit de inicio, un bit de parada, sin paridad, y
incluso un archivo de datos como un archivo de configuración niveles de tensión RS-232C y señales de control.
que pasa de una estación maestra a una RTU o un IED. Por
otro lado, en el caso de que muchos tipos de comando sean 2.2.6 Resumen de acumulación de mensajes
emitidos por una estación maestra, puede que no haya datos en
absoluto. Un punto clave es que estos datos pueden ser de Se ha demostrado que la acumulación de mensajes DNP3
cualquier tamaño. El tamaño total de los datos no está limitado desde una perspectiva descendente tiene las siguientes
por el protocolo. características:
La capa de aplicación inicialmente forma los datos en bloques • Las funciones de aplicación pueden o no requerir el paso de
de tamaño manejable. Estas se llaman unidades de datos del datos
servicio de aplicación o ASDU. La capa de aplicación crea la • Los comandos a menudo no requieren datos
APDU de la unidad de datos de protocolo de aplicación • La capa de aplicación analiza los datos en APDU
combinando un encabezado con los datos ASDU. El • El tamaño máximo de APDU es 2048 bytes
encabezado de la aplicación se denomina información de • La capa de pseudo-transporte analiza la APDU en TPDU
control del protocolo de la aplicación o APCI. Esto tiene 2 más pequeñas
bytes o 4 bytes de longitud, dependiendo de si el mensaje es • El tamaño máximo de la TPDU es de 250 bytes
una solicitud o una respuesta. En el caso de un comando u otra • La capa de enlace de datos agrega encabezados y CRC para
solicitud del usuario que no requiera datos adicionales, solo formar el LPDU
hay un encabezado y ninguna ASDU. Dependiendo del • El tamaño máximo de LPDU es de 292 bytes, de los cuales
tamaño total de los datos a transmitir (el tamaño de la ASDU), 250 bytes son datos.
se crean una o más APDU. En el caso de que se requieran
varias APDU, cada una de ellas se denomina fragmentos. Si
2.3 Capa física
bien el número de fragmentos requeridos que representan una
ASDU no está limitado, el tamaño de cada fragmento está
limitado a un máximo de 2048 bytes. La capa física define las características de la interfaz física en
términos de especificaciones eléctricas, temporización, pin-
2.2.3 La capa de pseudo-transporte outs, etc. Esto incluye los detalles necesarios para establecer y
mantener el enlace físico. El elemento de datos en este nivel es
La APDU de la capa de aplicación puede denominarse unidad esencialmente el bit.
de datos de servicio de transporte dentro de la capa de pseudo-
transporte. Se interpreta únicamente como datos para ser 2.3.1 Descripción de la capa física
transportados por la capa de transporte. La capa de transporte
divide la TSDU en unidades más pequeñas denominadas La capa física originalmente recomendada para DNP3 tiene la
unidades de datos de protocolo de transporte o TPDU. Estos se siguiente especificación:
componen de un encabezado de 1 byte, seguido de un máximo • Bit serial asincrónico
de 249 bytes de datos. El tamaño total de las TPDU, que es de • Ocho bits de datos
250 bytes, se determinó de modo que cada TPDU se ajuste • Un bit de inicio, un bit de parada
dentro de un 'Frame' o LPDU en la capa de enlace de datos. • Sin paridad
• Niveles de voltaje RS-232C y señales de control
2.2.4 La capa de enlace de datos • Protocolo de hardware CCIT V.24 para comunicaciones
DTE / DCE.
Esta capa toma las TPDU de la capa de pseudo transporte y
agrega un encabezado de 10 bytes a cada una. Como la capa 2.3.2 Servicios proporcionados por capa física
de enlace de datos también es responsable de proporcionar
funciones de detección y corrección de errores, aquí se La capa física debe proporcionar estas funciones:
introducen códigos de comprobación de errores. Se usa un • Conectar
código de redundancia cíclica (CRC) de 16 bits. Cada TPDU • Desconectar
se convierte en un marco de hasta 292 bytes de longitud. Vale • Enviar
la pena señalar en este punto que el formato de trama se • Recibir
• Estado.
2.4 Capa de enlace de datos
2.3.3 Topologías
2.4.1 Descripción de la capa de enlace de datos
DNP3 admite comunicaciones maestro-esclavo o peer-to-peer,
con topologías de uno a uno o de varias caídas. El objetivo de la capa de enlace de datos es establecer y
• Punto a punto mantener una comunicación confiable de datos a través del
• Multi-drop de un maestro enlace físico.
• Jerárquico con concentradores de datos intermedios El establecimiento del enlace implica la configuración del
• Múltiple maestro. enlace de comunicaciones lógicas entre el emisor y el
receptor. DNP3 es capaz de soportar operaciones orientadas a
La topología punto a punto o directa se refiere al caso de dos la conexión o sin conexión. Por lo tanto, si un canal opera a
dispositivos DNP3 conectados entre sí, ya sea directamente través de una línea PSTN y requiere conexión marcando antes
con un cable o a través de módems y una ruta de de que la comunicación pueda comenzar, la capa de enlace de
comunicaciones. Esto podría ser a través de una línea datos lo gestiona sin ninguna dirección desde niveles
arrendada, a través de radios, o a través de la red telefónica superiores.
pública conmutada (PSTN). Una topología de bus en serie es La unidad de datos en el nivel de capa de enlace se puede
la alternativa a una topología directa. Esto también se conoce llamar marco, tiene un tamaño máximo de 292 bytes, incluidos
como multi-drop. los códigos CRC, y transporta un total de 250 bytes de
información de los niveles superiores. La trama incluye
2.3.4 Procedimientos de capa física direcciones de origen y destino de 16 bits en su encabezado.
El rango de direcciones FFF0-FFFF está reservado para
Se deben proporcionar procedimientos para admitir mensajes de difusión, que están destinados a ser procesados
comunicaciones semidúplex y dúplex completo. Los por todos los receptores. Como característica de seguridad
procedimientos específicos utilizados dependerán de la adicional, cada fotograma transmitido puede solicitar una
topología y de si está disponible la transmisión half- confirmación de recepción. Esto se denomina confirmación de
fullduplex. Una función particular de los procedimientos es capa de enlace. Estos servicios y funciones se amplían en las
gestionar el evento de colisión de mensajes, donde puede siguientes secciones.
ocurrir. Debido a que DNP3 es compatible con las
comunicaciones de igual a igual, cualquier estación puede 2.4.2 Servicios prestados
actuar como primario o iniciador de mensajes. Debido a esto,
los mensajes pueden enviarse desde dos estaciones • Establecer y mantener el canal de comunicación
simultáneamente, causando una colisión. Los procedimientos • Informe sobre el estado del enlace a capas superiores
de la capa física son: • Detecta y corrige los errores que pueden ocurrir durante la
transmisión
Procedimientos half-duplex • Conversión de datos entre LSDU y LPDU
• Notificación de error a niveles más altos
Enlace directo • Secuenciación y entrega priorizada de LSDU.
Con un enlace directo o de punto a punto, la demora desde el
borrado de DCD debe ser suficiente para permitir que la 2.4.3 Cómo se controla la trasmisión.
estación maestra detecte la pérdida de DCD y comience la
transmisión. DNP3 controla la transmisión en el nivel de capa de enlace
Enlace multi-drop mediante el uso de procedimientos de transmisión definidos.
En el caso de un enlace de múltiples solos, se deben usar Estos procedimientos utilizan un byte de control contenido
demoras de tiempo para asegurar que las estaciones tengan dentro del marco de mensaje para controlar la transmisión. Es
acceso al medio. Esto se logra al proporcionar un tiempo de importante darse cuenta de que ni el byte de control ni los
retroceso realizado con un retardo fijo más un retardo variable. procedimientos pueden hacerlo por sí mismos. Los
Procedimientos de dúplex completo procedimientos definen qué acciones se toman en cada
Enlace directo extremo y el byte de control proporciona la coordinación entre
No se puede producir ninguna colisión, ya que tanto el ellos. Define qué tipo de transmisión se envía, es decir, el tipo
maestro como el esclavo tienen su propio canal entre ellos. de trama y en qué parte del proceso encaja la trama.
Para comprender cómo funciona el proceso general, es
Enlace multi-drop
necesario examinar la estructura del marco, el significado de
Los retardos de tiempo se utilizan como multidirección
la información en el byte de control y finalmente los
semidúplex, excepto que el retardo de tiempo fijo puede
procedimientos mismos.
reducirse, ya que no es necesario proporcionar esto para el
maestro. En el entorno multipunto de dúplex completo, el
maestro tiene su propio canal para todos los receptores. El formato de marco FT3
Este fue uno de los cuatro formatos de cuadros posibles
especificados por IEC 870-5-1. Los otros son FT1.1, FT1.2 y
FT2. El formato especifica un encabezado de 10 bytes,
seguido opcionalmente por hasta 16 bloques de datos. El Códigos de función de enlace de datos
tamaño total del mensaje está limitado a 292 bytes, lo que Las tablas a continuación muestran los significados detallados
proporciona una capacidad de datos máxima de 250 bytes. Por para diferentes valores del byte de código de función. Los
lo tanto, un cuadro completamente empaquetado comprenderá significados son diferentes dependiendo de si el mensaje es
el encabezado más 16 bloques de datos, y el último bloque una transmisión primaria o secundaria.
contendrá 10 bytes de datos (Figura 5). La siguiente versión abreviada de los códigos de función se
incluye en los diagramas de secuencia. Los códigos van
precedidos por una P y una S, que representan códigos
primarios o secundarios
Bit de dirección
El bit DIR indica la dirección del mensaje entre las estaciones Restablecimiento de enlace
maestra y no maestra. Se requiere un restablecimiento de enlace para habilitar las
Bit primario comunicaciones entre una estación primaria y una secundaria.
El bit PRM se establece si el cuadro es primario (iniciador) o • Debe usarse después de un inicio, reinicio o falla de enlace.
secundario (responde). • Es responsabilidad de la estación primaria realizar el reinicio
(de su enlace a una estación secundaria).
Bits de conteo de cuadros
Estos son el bit de conteo de cuadros (FCB) y el bit válido de • Inicia las estaciones primaria y secundaria para más
transacciones SEND-CONFIRM.
conteo de cuadros (FCV). Estos bits solo se usan para
• Sincroniza el FCB para que FCB = 1 sea esperado por el
mensajes primarios. El bit de recuento de fotogramas se usa
secundario para la transacción posterior al reinicio.
para detectar pérdidas o duplicación de fotogramas en una
En el diagrama de secuencia de comunicación de la figura 8,
estación secundaria. El bit válido de conteo de cuadros
se representa la transacción de restablecimiento de enlace. Los
permite el uso del FCB. Cuando el bit FCV es verdadero, el
bloques se muestran representando los cuadros reales
FCB se alterna para cada transacción SEND-CONFIRM
transmitidos. La estación primaria se muestra a la izquierda y
exitosa entre las mismas estaciones primaria y secundaria.
la estación secundaria a la derecha. Los estados se muestran
Bit de control de flujo de datos
para el FCB (bit de control de trama) en el primario, y el valor
El bit de control de flujo de datos (DFC) se incluye en cuadros
esperado del FCB, en la estación secundaria.
secundarios. La estación secundaria establecerá DFC = 1 si un
ENVÍO adicional de datos de usuario hará que se desborde su
búfer. Al recibir una trama con DFC = 1, una estación
primaria dejará de enviar datos, pero solicitará el estado del
enlace hasta que DFC = 0.
• Incluye un encabezado de un byte
• TPDU puede transportar 249 bytes de datos de usuario
• La TPDU puede caber en un formato de trama FT3 (LSDU)
• El encabezado tiene bits FIR y FIN y un número de
secuencia de seis bits
• Pasa TPDU hacia y desde la capa de enlace de datos
• Ensambla TPDU entrantes en TSDU.
4. BIBLIOGRAFÍAS:
[1] Reynders, Deon, “Industrial Data Communication”, 2005