DNP3 é um dos protocolos mais populares utilizados para comunicação entre centros de controle (por exemplo, sistemas SCADA) e dispositivos eletrônicos inteligentes (IEDs) instalados em subestações. Além das tradicionais concessionárias de energia elétrica, também é utilizado em empresas hidrelétricas ou fornecedoras de gás.
O protocolo DNP foi criado em 1990 pela Westonic, Inc. (agora GE Harris). O padrão foi projetado com base no 60870-5-101:2003 com a adição de funcionalidades específicas necessárias para aplicações na América do Norte. Atualmente o DNP3 é um protocolo aberto e público, mantido pelo Grupo de Usuários. A versão mais recente do padrão IEEE Std 1815-2010 foi lançada em 2012.
A biblioteca DNP3 implementada pelo JPEmbedded é facilmente portável para qualquer dispositivo com ou sem sistema operacional. Ele suporta os modos de operação outstation e master, serial e TCP. A implementação em linguagem C++ leva em consideração requisitos específicos para plataformas embarcadas, que são:
* eficiência de recursos,
* alta flexibilidade de configuração,
* Independência de plataforma HW.
A biblioteca DNP3 suporta interoperabilidade de nível 3 e os seguintes recursos:
* pontos de dados estáticos (classe 0),
* eventos (classe 1-3),
* leitura/escrita de objetos de dados,
* operações de controle,
* congelamento de dados,
* segurança cibernética (IEC 62351).