ControlGroups can be used to expose functionality that is required to be used as a group. This example describes a pair of controllers that are part of a cascade control application (see Figure D.31). For a cascade control application, the PID controller is required to get feedback from the other controller as well as provide a setpoint to the other controller. This requires bidirectional communication.
In this example, Controller B comes with preconfigured DataSets, one for the Publisher and one for the Subscriber.
Figure D.31 – ControlGroup cascade Controller example
ControlGroup can be created to indicate that if using the PID in cascade mode, then the ControlGroup shall be used.
The communication between Controller A and Controller B could be set up by the ConnectionManager in Controller A, which would see the ControlGroup and would utilise the preconfigured Datasets that are described in the ControlGroup.