As we do not want to put the PLC in service mode if a module is missing, “Modul supervised” is “off” for all hardware modules.
Since an evaluation of all “ModuleOk” is too time-consuming, is there a way to read out the collected status, e.g. as it can be found in the SDM?
It should be possible, yes.
You could look into AsIODiag - DiagCreateInfo().
Probably someone has already implemented something nicely for it and might post it here / on GitHub.
But it might still be the faster if you connect all your module ok datapoints…
The .iom file is text based so just use VS Code to edit it faster. You could even try to do it with a script automatically getting all modules from the .hw file… Kind of depends on your actual number of modules what is more efficient.
In the end the question is what you want to achieve and if you want to use it again in other projects etc… There is no other “fast” way ready to use as far as I know.