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.

image119.png

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.