You can use the Splitter function block to regulate multiple control loops or outputs. The following figure shows a function block diagram example when the output from a PID function block is split into two signals that are sent to Analog Output (AO) function blocks:
The following examples illustrate typical uses for the Splitter function block.
Application example: Split range control
Assume two valves (one for heating and one for cooling) are driven by a single temperature controller. You use the Splitter function block between the controller and two Analog Output (AO) function blocks. When the controller requires heat, the AO block action for the cooling valve does not matter. When the AO block for the heating valve goes to Bad status, the controller is prevented from calling for more heat, but is allowed to call for cooling if required. For this example, you can set up the Splitter characterization in the following manner:
|
Parameter |
Setting |
|---|---|
|
IN_ARRAY[1][1] |
0 |
|
IN_ARRAY[2][1] |
49 |
|
IN_ARRAY[3][1] |
51 |
|
IN_ARRAY[4][1] |
100 |
|
LOCKVAL |
Hold |
|
OUT_ARRAY[1][1] |
100 |
|
OUT_ARRAY[2][1] |
0 |
|
OUT_ARRAY[3][1] |
0 |
|
OUT_ARRAY[4][1] |
100 |
This allows the controller to call for maximum cooling (negative heat) at 0 output and maximum heat at 100 output, with a gap of 2 around 50 to make sure that the heating and cooling valves are not both open at the same time. The following figure graphically represents the settings for this example:
Application example: Sequencing control
Assume you must use two valves for control because one valve does not provide enough range for a nonlinear control problem, such as pH control. The small valve controls an expensive reagent in the pH region near neutral; therefore, it must be closed when the pH is away from neutral. The big valve adds caustic, which is too strong to use near a neutral pH.
You can use the Splitter function block between the controller and two Analog Output (AO) blocks. As in the preceding example, one AO block can have Bad status without disturbing control when it is not the block required by the pH controller. For this example, you can set up the Splitter characterization in the following manner:
|
Parameter |
Setting |
|---|---|
|
IN_ARRAY[1][1] |
0 |
|
IN_ARRAY[2][1] |
40 |
|
IN_ARRAY[3][1] |
40 |
|
IN_ARRAY[4][1] |
100 |
|
LOCKVAL |
OUT_ARRAY[1][1] |
|
OUT_ARRAY[1][1] |
0 |
|
OUT_ARRAY[2][1] |
100 |
|
OUT_ARRAY[3][1] |
0 |
|
OUT_ARRAY[4][1] |
100 |
The following figure graphically represents the settings for this example:
Application example: Cascade fan-out
The cascade fan-out scheme is used when a cascade control strategy includes multiple secondary controllers. For example, assume a header pressure controller interacts with two secondary boiler controllers. You use the Splitter function block between the pressure controller and the two boiler master controllers. Header pressure control is maintained when one or both secondary Bias/Gain blocks are in Auto mode. When both secondary blocks are not in Auto mode, the pressure controller output is frozen and initializes to balance the first secondary block that is put into Auto mode.
For this example, you can set up the Splitter characterization in the following manner:
|
Parameter |
Setting |
|---|---|
|
IN_ARRAY[1][1] |
0 |
|
IN_ARRAY[2][1] |
100 |
|
IN_ARRAY[3][1] |
0 |
|
IN_ARRAY[4][1] |
100 |
|
LOCKVAL |
Hold |
|
OUT_ARRAY[1][1] |
0 |
|
OUT_ARRAY[2][1] |
100 |
|
OUT_ARRAY[3][1] |
0 |
|
OUT_ARRAY[4][1] |
100 |
|
BAL_TIME |
Four times the pressure controller integral time |
Application Example: Configuring split range control to avoid disruptions following a controller switchover or partial download
Specific configurations that make use of split range control can cause potential disruptions following a controller switchover or partial download.
The Splitter function block initializes when its actual mode transitions from IMAN to AUTO. Shortly after a controller switchover, the Splitter blocks in the new active controller transition from IMAN to AUTO, then to CAS mode (depending on the target mode). The transition from IMAN to AUTO mode occurs when at least one of the downstream blocks is in its highest mode (normally CAS) or is ready to go to it. As the Splitter block moves from IMAN to AUTO, its initialization depends on whether one or both downstream blocks are ready to accept its outputs. When both downstream blocks are 'invite' the Splitter block’s outputs simultaneously, the Splitter initializes such that no disruption occurs. This is what normally happens during a controller switchover. Both outputs maintain their current value. But there are special cases to consider when the Splitter iblock s used for split range control.
Put entire split range control logic in the same controller.
Suppose the Splitter block’s downstream blocks are in different modules and one of those modules is in a different controller. When the controller with the Splitter block switches over, only one of the two downstream blocks ‘invite’ the Splitter’s output as it transitions from IMAN to AUTO. This is because the blocks do not go through initialization in the controller that is not switching over. The result is that the Splitter bock initializes to the output value in the non-switched controller and re-positions the upstream block’s output (normally a PID OUT) to a value that results in the other output being at one of the limit values based on IN_ARRAY and OUT_ARRAY. This can be an issue in split range applications depending on the value of the PID output at the time of the switchover. For this reason it is prudent to include the entire split range control logic in the same controller.
Maintain configuration symmetry when using Splitter blocks in series.
Multiple Splitter blocks can be used to drive three or more outputs in split range control. When using Splitter blocks in series, it is important to maintain symmetry in the configuration. For example, in the diagram below, two of the AO blocks are connected to the second Splitter and the third AO block is connected to the first Splitter.
The configuration above does not provide sufficient symmetry from the perspective of the first Splitter. After a controller switchover or partial download of the module there is an additional scan of cascade handshaking required downstream of OUT_1 of the Splitter (SPLTR1) than downstream of OUT_2. So in this case the Splitter block will initialize to the value of AO3 after a controller switchover or partial download.
The configuration shown in the next diagram maintains configuration symmetry (where SPLTR3 and CALC1 have been added). Both IN_ARRAY and OUT_ARRAY of SPLTR3 are 0-100 (fan-out). The Calc block expression is shown as a comment on the diagram.