Hello Guys,
I am pretty new to the DDS/DNP3 worlds and I got the assignment to develope a routing service adapter for DNP3 protocol. Does any one have an idea where to start ?
Best Regards,
farid
Hello Guys,
I am pretty new to the DDS/DNP3 worlds and I got the assignment to develope a routing service adapter for DNP3 protocol. Does any one have an idea where to start ?
Best Regards,
farid
Hello farid!
RTI had done some work with OpenDNP3 -- here is a somewhat dated example from >10 years ago that used the OpenDNP3 of the day,
Since then, OpenDNP3 has been revised and updated (this has broken the API compatibility with the earlier version, but it also made the code better and a lot easier to use).
The OpenDNP3 project was archived as of 2022 -- but the code still conforms to the DNP3 spec and is fairly easy to use. It's a good starting point for working with DNP3, there's even a DNP3 simulator repository on its main DNP3 GitHub project page.
There's some opportunity to come up with a creative solution for mapping the DNP3 'points' to DDS topics; as you may know, DNP3 points are the specific registers, bits, and values of a DNP3 device, and are specific to each type of device that uses DNP3. Adding new DNP3 devices to a system will therefore require some integration work. But if using a DDS gateway (such as RTI Routing Service) to connect DNP3 equipment to a system, there's an opportunity to make this integration happen in more of a plug-and-play manner. DNP3 points can be mapped to standardized DDS topics with keyed instances, and a metadata topic to fully describe the equipment can be added to make a fully plug-and-play experience with DER systems. This was the core concept of RTI's entry in the 2019 'DER Plug and Play Challenge' sponsored by SEPA, PNNL, and the US Dept of Energy.
So I would suggest starting with OpenDNP3 and reading the available online documentation. It also helps to search the websites of grid equipment makers for their 'DNP3 points list' for their products, this can help to understand how DNP3 is used with power grid equipment.
Hope this helps!
Neil
Hello Neil,
Thank you very much for the thorough explanation.
I would say taking a look at the OpenDNP3 repo (the one you referenced) is a little bit overwhelming but I think that what's learning new things feels like. After several tweaks, I succeded to build and run the demo RTI came out with 10 years ago. I guess, I will try to understand how it works and take it as a base for future development.
Best Regards,
f.