DNP3 est l'un des protocoles les plus populaires utilisés pour la communication entre les centres de contrôle (par exemple les systèmes SCADA) et les appareils électroniques intelligents (IED) installés dans les sous-stations. Outre les services publics d’électricité traditionnels, il est également utilisé par les sociétés hydroélectriques ou les fournisseurs de gaz.
Le protocole DNP a été créé en 1990 par Westronic, Inc. (maintenant GE Harris). La norme a été conçue sur la base de la norme 60870-5-101:2003 avec l'ajout de fonctionnalités spécifiques nécessaires aux applications nord-américaines. Actuellement, DNP3 est un protocole ouvert et public, maintenu par le groupe d'utilisateurs. La dernière version de la norme IEEE Std 1815-2010 a été publiée en 2012.
La bibliothèque DNP3 implémentée par JPEmbedded est facilement portable sur n'importe quel appareil avec ou sans système d'exploitation. Il prend en charge les modes de fonctionnement côté station externe et côté maître, série et TCP. L'implémentation en langage C++ prend en compte les exigences spécifiques aux plateformes embarquées, qui sont :
* efficacité des ressources,
* grande flexibilité de configuration,
* Indépendance de la plateforme matérielle.
La bibliothèque DNP3 prend en charge l'interopérabilité de niveau 3 et les fonctionnalités suivantes :
* points de données statiques (classe 0),
* événements (classe 1-3),
* lecture/écriture d'objets de données,
* opérations de contrôle,
* gel des données,
* Cybersécurité (IEC 62351).