An MQTT based SCADA system is unique in that the Host node is NOT responsible for establishing and maintaining connections to the devices as is the case in most existing legacy poll/response device protocols. With an MQTT based architecture, both the Host application as well as the devices establish MQTT Sessions with a central MQTT Server(s). This is the desired functionality as it provides the necessary decoupling from any one application and any given device. Additional MQTT clients can connect and subscribe to any of the real time data without impacting the primary SCADA Host application(s).
The SparkplugB Primary Node (aka primary SCADA Host) can also be implemented in a CODESYS based PLC albeit it's functionality of can be somewhat limited when compared to a PC based implementation. The implementation of a Primary Node within a PLC runtime however can also have advantages over a traditional PC based implementation. This is why we have chosen to CUT LOOSE the SCADA part and just implement the Primary Node itself.
The Primary Node we envision just provides (exposes) all incoming data centrally and has the possibility to issue Edge Of Network Node- or Device Commands. Setup of a secure true distributed brand independent control system with this type of setup is made available! As a bonus this setup allows for ANY modern SCADA system you like on top of the CODESYS Primary Node i.e. "Bring your own SCADA" (BYOS).
In order to implement a "Primary Node", the implementation must follow all rules/graphs as outlined in paragraph 8.1 through 8.4