Glosario de Automatización • Código de función DNP3

¿Qué es un código de función DNP3?

Ingeniería Merobix • • 4 min de lectura

Cuando decodifica un intercambio DNP3, un byte en cada fragmento de aplicación le dice qué está pidiendo el mensaje: el código de función. Leer una captura, escribir un mapa de puntos o diagnosticar un comando rechazado se vuelve más fácil cuando puede nombrar de un vistazo los códigos de función comunes. Esta página lista los códigos de función de solicitud y de respuesta que más encontrará, los agrupa por propósito y muestra cómo conducen una conversación típica entre maestro y estación remota.

Volver al glosario

Código de función DNP3 en una línea: Un código de función DNP3 es un byte en la capa de aplicación que nombra la acción de un mensaje. Las solicitudes usan códigos como read (1), write (2), select (3), operate (4), direct operate (5), cold restart (13), warm restart (14) y habilitar/deshabilitar no solicitados (20/21). Las estaciones remotas contestan con response (129) o unsolicited response (130). El código de función es el verbo del intercambio: le dice al receptor qué hacer o qué tipo de respuesta está devolviendo.

Códigos de función de solicitud que envía un maestro

Las solicitudes del maestro caen en unas pocas familias. Las solicitudes de datos las domina read (código de función 1), que un maestro usa para sondear clases y datos estáticos. La configuración y el control usan write (2) para valores como el reloj, y el conjunto de control - select (3), operate (4) y direct operate (5) - para comandar salidas. El par select-y-luego-operate sustenta el apretón de manos de select-before-operate, mientras que direct operate lo hace en un solo paso.

La gestión del dispositivo tiene sus propios códigos: cold restart (13) y warm restart (14) reinician una estación remota, que es el mecanismo detrás de un reinicio en frío DNP3. Habilitar no solicitados (20) y deshabilitar no solicitados (21) encienden y apagan el reporte espontáneo, y los códigos de congelamiento inmediato capturan instantáneas de contadores. Saber a qué familia pertenece un código le dice de un vistazo si una trama está leyendo, comandando o administrando el dispositivo.

Códigos de función de respuesta que devuelve una estación remota

Las estaciones remotas tienen muchos menos códigos de función porque mayormente responden. El principal es response (129), devuelto a cualquier solicitud atendida - un sondeo, el acuse de una escritura, la confirmación de un control. Siempre lleva el campo de indicaciones internas de dos bytes, así que el estado viaja junto con los datos.

El segundo es unsolicited response (130), que una estación remota envía por iniciativa propia cuando está configurada para ello, sin esperar a ser sondeada. Distinguir 129 de 130 en una captura le dice de inmediato si la estación estaba respondiendo al maestro o reportando espontáneamente, lo cual es central para entender el modelo de la respuesta no solicitada DNP3. Una confirmación (código de función 0) puede fluir en cualquier dirección para acusar recibo en la capa de aplicación.

Preguntas frecuentes

¿Cuál es el código de función de lectura en DNP3?

Read es el código de función 1. Un maestro lo envía para solicitar datos - un sondeo de clase, una lectura de datos estáticos o la lectura de un grupo de objetos y rango específicos. Es el byte de solicitud más común que verá en una captura DNP3.

¿Cuál es la diferencia entre direct operate y operate?

Direct operate (5) comanda una salida en una sola solicitud. Operate (4) es el segundo paso de la secuencia select-before-operate, enviado solo después de que la estación remota devolvió como eco un select (3) coincidente, agregando un paso de confirmación antes de que la salida se mueva.

¿Cómo distingo una respuesta de una respuesta no solicitada?

Response es el código de función 129 y contesta una solicitud del maestro. Unsolicited response es 130 y la estación remota la envía espontáneamente. El código por sí solo le dice si la estación fue sondeada o reportó por su cuenta.

Fuentes y lecturas

Referencias primarias de los organismos de normas y reguladores que definen este tema:

Más en Protocolos industriales
Excepcion Modbus de funcion ilegal (codigo 01)  •  Código de función Modbus  •  Función de transporte DNP3  •  Excepcion Modbus de valor de datos ilegal (codigo 03)  •  Código de calidad OPC y subestado  •  Todo en Protocolos industriales →
Capacitación SCADA gratuita para operadores
Merobix University - 70 lecciones en video y 261 preguntas de examen, del primer inicio de sesión a los reportes de cumplimiento (contenido en inglés). Sin llamada de ventas.
Comenzar gratis →