Los tipos de datos en DNP ya están bien especificados, y está pensado para aplicaciones industriales. Esto se establece en lo que sería la capa de datos por parte del usuario y debe tener una estructura dada, a esto se le llama
Modelos de Objetos de datos en DNP3.
En DNP3 los datos siempre consisten de dos partes, una
cabecera de objeto y un
objeto de datos. Las cabeceras identifican los tipos de datos del objeto de datos. El objeto de datos no necesariamente pueden estar contenidos en el mensaje, por ejemplo, cuando la estación principal realiza una petición de datos el mensaje contendrá la cabecera objeto indicando el tipo de datos, y la estación secundaria responderá con la misma cabecera objeto y con los datos correspondientes. Se adjunta figura donde está la estructura de datos.
En un mensaje se puede tener varios tipos de datos, por lo que, cada uno tendrá su cabecera de objeto y datos correspondientes. La cabecera indica que tipo de datos, pero dentro de los tipos de datos hay variaciones, por ejemplo un valor analogico puede ser 16-bits, 32-bits, float, double, ect.
Los tipos de datos generales son:
- Entradas binarias.
- Salidas binarias.
- Contadores
- Entradas analógicas
- Salidas analógicas
- Datos de tiempo (absoluta o relativa)
- Clases de datos (los datos se pueden agrupar en clase dependiendo de las prioridades de datos)
- Trabajo con archivos de configuración
- Configuraciones internas del protocolo
- Otras alternativas de formato de números (BCD's)
Ahora las variaciones son distintas para cada grupo, por lo que conviene leer las especificaciones de DNP. En el libro Practical Modern SCADA Protocols están bien detalladas.
En la cabecera de datos están los campos calificador y rango, estos se utilizan para direccionar los datos solicitados o enviados, pudiendo ser datos consecutivos dentro de un rango mediante un indice que los identifica (Al estilo arreglo de datos), utilizando las direcciones propias de las variables, datos no consecutivos o todo lo que hay...
Saludos!