A non-transitory computer-readable medium having computer-executable instructions for execution by a processing system, the computer-executable instructions for configuring a controlled device in a control system, the computer-readable medium comprising instructions that, when executed, cause the processing system to:
- provide access to a module associated with the controlled device in the control system;
- receive, by the module, a query from a first control system node for capabilities of the controlled device prior to operational configuration of at least one of the module and the controlled device;
- reply, by the module, to the first control system node with a self-describing capabilities file included in the module that specifies the capabilities of the controlled device;
- generate, by the module, a runtime capabilities object that specifies the capabilities from the self-describing capabilities file after the module and the controlled device are operationally configured in the control system;
- receive, by the module, a query from a second control system node after operational configuration of the module and the controlled device;
- and
- reply, by the module, to the second control system node with the runtime capabilities object.