I make fun of Modbus because it is a network protocol invented by people with limited background in programming let alone protocol design (like indexes start at 1? what?).
I've been writing my own DNP3 stack (native Python stack) and I've gotta say the exact opposite about DNP3. It was written by insane network protocol people who aren't worried at all about making something ridiculously complex. Especially if twenty extra parsing steps might allow someone to save a byte or two on-the-wire. I totally get how Adam and Chris found 18 bjillion parsing bugs in dnp3 systems a few years ago. I'm surprised they didn't find even more bugs.
🌻

🏴☠️