BIENVENIDOS
Protocolo DNP3 para sistemas SCADA
Los datos recopilados en las RTU antes de su transmisión
son encapsulados obedeciendo a protocolos. Para comprender cómo funcionan, en este post les voy a explicar sobre el protocolo DNP3. También se suele utilizar el protocolo IEC 870-5-101, pero de eso hablaré en el próximo post.
Trataré de incluir enlaces donde pueden ampliar la información sobre uno u otro tema haciendo click en algunas palabras clave del post.
son encapsulados obedeciendo a protocolos. Para comprender cómo funcionan, en este post les voy a explicar sobre el protocolo DNP3. También se suele utilizar el protocolo IEC 870-5-101, pero de eso hablaré en el próximo post.
Trataré de incluir enlaces donde pueden ampliar la información sobre uno u otro tema haciendo click en algunas palabras clave del post.
Protocolo DNP3
El protocolo DNP fue desarrollado por la GE-Harris de Canadá en 1990 y emitido en 1993. Actualmente es administrado por el
DNP users group
.
Un protocolo es un conjunto de reglas que definen cómo se pueden comunicar los dispositivos entre ellos. DNP3 es un protocolo para la transmisión de datos desde un punto A hasta un punto B usando comunicación serial, o IP en la actualidad.
DNP3 fue diseñado para optimizar la transmisión de datos de campo y comandos de control entre estaciones (por lo general computadoras) remotas y computadoras maestras. El protocolo utiliza el término "estación externa" (outstation) para referirse a estaciones remotas instaladas en campo, El término maestro (master) se usa para las estaciones en el centro de control.
Es necesario mencionar que DNP3 no se trata de un protocolo de propósito general como aquellos que han visto en internet para transmitir correos electrónicos, hipertexto, peticiones SQL, multimedia y grandes archivos, sino que es exclusivo para aplicaciones SCADA.
Base de datos en la unidad maestro y remota
En la imagen de abajo se muestra la relación master-outstation y con ella se pueden hacer una idea simple sobre las bases de datos que hay en ambos lados, junto con los procesos involucrados.
El maestro está a la izquierda y la estación externa a la derecha. Los cuadrados representan los datos típicamente almacenados en las bases de datos.
En términos del protocolo, los números pertenecientes a los elementos se denominan índices y tienen base cero; es decir, el elemento inferior siempre se identifica con cero.
Uno de los objetivos del maestro es mantener su base de datos actualizada. Esto lo consigue enviando peticiones a las estaciones remotas solicitando los valores almacenados en sus bases de datos. Esta tarea recibe el nombre de polling .
En términos del protocolo, los números pertenecientes a los elementos se denominan índices y tienen base cero; es decir, el elemento inferior siempre se identifica con cero.
Uno de los objetivos del maestro es mantener su base de datos actualizada. Esto lo consigue enviando peticiones a las estaciones remotas solicitando los valores almacenados en sus bases de datos. Esta tarea recibe el nombre de polling .
Capas de DNP3
Los circuitos de comunicaciones entre dispositivos son a menudo imperfectos: son susceptibles al ruido y pueden llegar a distorsionar la señal.
DNP3, como casi todo protocolo de comunicaciones, trabaja con la capa física, de enlace y de aplicación del modelo OSI .
DNP3, como casi todo protocolo de comunicaciones, trabaja con la capa física, de enlace y de aplicación del modelo OSI .
En la imagen de arriba, la capa superior es la capa de usuario. En el maestro, esta capa representa al software que interactúa con la base de datos e inicia las peticiones hacia las estaciones remotas. Por otro lado, en la estación remota, es el software que captura desde la base de datos remota los datos solicitados por el maestro.
Capa de aplicación
Maneja mensajes, cada uno dividido en fragmentos. El tamaño máximo de un fragmento está determinado por el tamaño del buffer en el receptor.
Por lo general, el tamaño va de 2048 a 4096 bytes. Cuando un mensaje es más largo que el tamaño establecido, se divide en varios fragmentos. La capa de aplicación es la encargada de fragmentar estos mensajes.
Por lo general, el tamaño va de 2048 a 4096 bytes. Cuando un mensaje es más largo que el tamaño establecido, se divide en varios fragmentos. La capa de aplicación es la encargada de fragmentar estos mensajes.
En el modelo OSI la capa de transporte es la encargada de dividir los datos de la capa de aplicación en segmentos pequeños, adecuados para que la capa de enlace los transmita, y cuando son recibidas por el receptor, debe volver a re-ensamblar las tramas.
Por otro lado, en DNP3 la capa de transporte está incorporada en la capa de aplicación, de ahí que su nombre es "pseudo capa". La capa de transporte requiere de un octeto para hacer su tarea. Como puede manejar hasta 250 octetos, esto implica que 249 pueden ser de datos.
Por otro lado, en DNP3 la capa de transporte está incorporada en la capa de aplicación, de ahí que su nombre es "pseudo capa". La capa de transporte requiere de un octeto para hacer su tarea. Como puede manejar hasta 250 octetos, esto implica que 249 pueden ser de datos.
Capa de enlace
Es la responsable de mantener confiable el enlace físico.
Para esto se provee servicios de detección de errores y de duplicación de tramas.
Esta capa envía y recibe tramas (frames).
Para esto se provee servicios de detección de errores y de duplicación de tramas.
Esta capa envía y recibe tramas (frames).
Una trama DNP3 consiste en un encabezado (header) y la sección de datos (data section). El header especifica el tamaño de trama, contiene información de control del enlace de datos e identifica las direcciones de los dispositivos fuente y destino.
La sección de datos contiene la información a ser transmitida (payload) y que viene de capas superiores.
La sección de datos contiene la información a ser transmitida (payload) y que viene de capas superiores.
- Cada trama comienza con 2 bytes de sincronismo que ayudan al receptor a determinar dónde empieza la trama
- La longitud (length) especifica el número de octetos en el resto de la trama, sin incluir los octetos del chequeo CRC.
- El octeto de control de enlace (link control octet) se emplea para que las capas de enlace transmisoras y receptoras coordinen sus actividades.
- Direccionamiento (addressing). En la trama incluye tanto la dirección de la estación fuente como del destinatario para satisfacer el requerimiento de lograr una conexión peer-to-peer. Se pueden tener hasta 65520 direcciones unicast.
- Chequeo CRC. Los datos en la trama contienen un octeto CRC por cada 16 octetos de datos. Esto brinda un alto grado de seguridad para proveer el servicio de detección de errores durante la transmisión, es decir, sirve para chequear la integridad de los datos cuando llegan al receptor.
- Confirmación de la capa de enlace. Esta característica se refiere a que el transmisor puede pedirle al receptor un "acuse de recibido" o confirmación de que la trama llegó correctamente al destino (ACK). Esta característica es opcional y muchas veces no es activada porque se recurre a otros métodos para confirmar la recepción de una trama. Si no se recibe confirmación de una trama, la capa de enlace puede intentar una re-transmisión.
Capa física
En la imagen de abajo pueden apreciar las topologías físicas típicas que se emplean en la actualidad.
- En la parte superior está el ejemplo más simple de una estación maestra y una remota. La conexión física es una línea dedicada o una línea dial-up.
- El segundo tipo corresponde a una topología con múltiples derivaciones. Un maestro se comunica con varias estaciones remotas.
- El tercer tipo tiene un arreglo jerárquico donde la estación intermedia es remota para la estación maestro de la izquierda, pero a su vez es maestro para la de la derecha.
- En los 2 últimos casos se tiene ejemplos de concentradores y convertidores de protocolo. Un dispositivo junta información desde los dispositivos a la derecha y la guarda en su base de datos. Esta topología se suele ver cuando se combinan RTU con PLC (el PLC reúne información de los dispositivos locales para enviarlos a las RTU y de ahí su posterior transmisión a la MTU)
TCP/IP (bonus)
Algunos proveedores ofrecen productos que operan sobre TCP/IP, lo cual hace posible que DNP3 se pueda favorecer de acceso a internet y así obtener una recopilación económica de datos (y obviamente control de dispositivos geográficamente separados).
DNP3 - resumen level 5
Es un protocolo de comunicación específico para sistemas SCADA que transporta datos como valores genéricos, tiene un buen grupo de funciones y fue diseñado para trabajar en redes de comunicación de área amplia. El método estandarizado de capas y su disponibilidad pública hacen que sea un excelente protocolo.
Eso fue todo por hoy. Si están interesados en aprender sobre temas similares, visiten mi contenido haciendo click en la imagen de abajo.