DNP3 es uno de los protocolos más populares utilizados para la comunicación entre centros de control (por ejemplo, sistemas SCADA) y dispositivos electrónicos inteligentes (IED) instalados en subestaciones. Además de en las empresas eléctricas tradicionales, también se utiliza en empresas hidroeléctricas o proveedores de gas.
El protocolo DNP fue creado en 1990 por Westronic, Inc. (ahora GE Harris). El estándar se diseñó sobre la base de 60870-5-101:2003 con la adición de funcionalidades específicas necesarias para las aplicaciones norteamericanas. Actualmente DNP3 es un protocolo abierto y público, mantenido por el Grupo de Usuarios. La última versión del estándar IEEE Std 1815-2010 se lanzó en 2012.
La biblioteca DNP3 implementada por JPEmbedded es fácilmente portátil a cualquier dispositivo con o sin sistema operativo. Admite modos de operación TCP y en serie, tanto en el lado externo como en el maestro. La implementación en lenguaje C++ tiene en cuenta requisitos específicos para plataformas embebidas, los cuales son:
* eficiencia de recursos,
* alta flexibilidad de configuración,
* Independencia de plataforma HW.
La biblioteca DNP3 admite interoperabilidad de nivel 3 y las siguientes características:
* puntos de datos estáticos (clase 0),
* eventos (clase 1-3),
* lectura / escritura de objetos de datos,
* operaciones de control,
* congelación de datos,
* ciberseguridad (IEC 62351).