Trying to envision how Sparkplug could be configured from DmD. As of now, I am trending toward it having a SysConfig based driver config, which would be a subset of MQTT, plus additional fields. The tags themselves are more problematic, but, I think we could add a flag to documentation records indicating that that tag should be exposed via Sparkplug. From the user's perspective, it would just be an additional column in the DocView with a checkbox to expose the tag. Maybe. Until I change my mind.
The potential performance hit is significant; scanning and updating 100s of tags every scan could really dog the scan. So I'm thinking of tuning that with two parameters: 1) minimum time between updates, and 2) maximum tags updated per scan. If you care about maximum update rate, but don't care what the scantime hit is, you'd set #1 to 0 and #2 to 'All'. If there are lots of tags and they are all changing constantly, that might create a big scan hit, but for certain apps it doesn't matter. If tight scans are your thing, you could increase #1 and/or reduce #2 to just a few tags per scan. It might take a second or more to get through a long tag list, but the scan hit would be imperceptible, and for SCADA, 1 second updates may be plenty good.
This could happen.