A vessel-pressure system can use one PID loop and switch its process input through a pointer when only one vessel is normally connected to a common manifold. The documented application used three vessels, individual pressure transducers and isolation valves, plus one proportional discharge valve. The pointer-based implementation worked smoothly because the process did not require tight control: cycles lasted 30–120 seconds, and vacuum pull-down took several seconds.
Control Architecture and Supported Mechanism
Configure the PID input as HOST, then use strategy logic to point the host input at the pressure value for the active vessel. The PID executes on the rack independently of the strategy chart, while the chart selects the signal supplied to the loop.
| Element | Function |
|---|---|
| Vessel isolation valve | Identifies which vessel is connected to the manifold |
| Pressure transducer | Supplies the selected PID process variable |
| Pointer variable | References the active vessel pressure |
| PID loop | Controls manifold pressure from the selected input |
| Common proportional valve | Receives the active control output |
The operating sequence evacuates the selected vessel to 1–3 psia with a small inlet purge flow. The valve initially opens enough for rapid pull-down, then closes toward the position required to hold the pressure setpoint.
Choose One Shared PID or Separate Vessel Loops
Use one pointer-fed PID when the vessels have sufficiently similar dynamics and switching the input does not compromise stability. This approach was successful in the documented system, but that result depends on its slow physical response and modest control-accuracy requirement.
Use separate PID loops when vessels need different proportional, integral or derivative tuning, or when retaining each loop's time-dependent state is important. Separate loops can write their outputs to HOST or scratchpad floats; supervisory logic then transfers only the active loop's output to the common valve. Inactive loops may be placed in manual mode or disabled until required.
Do not configure several PID loops to drive the same analog output directly. Observed behavior indicated that the highest-numbered PID overwrote lower-numbered loops, including while a loop was in manual mode. Route outputs through intermediate values and explicitly select the active result.
Implement Pointer-Based Input Selection
- Configure one PID loop with its input sourced from HOST and its output assigned to the common proportional valve or to an intermediate host value.
- Associate each vessel's open-valve state with its pressure input.
- When a vessel becomes active, update the pointer so the PID host input references that vessel's pressure reading.
- If the selected source, setpoint or tuning values change, place the PID in manual, update the required values, and return it to automatic operation to reduce the risk of an abrupt output change.
- Define deterministic behavior for no active vessel and for the abnormal condition in which multiple vessel valves are open.
The evidence does not establish a required relationship between chart execution rate and PID scan rate. A suggested design is to update the host input faster than the PID scan rate so the loop does not repeatedly process stale data, but verify that requirement on the installed configuration rather than treating it as a confirmed product constraint.
Alternative: Redirect the PID Input Address
An alternative to moving pressure values through HOST is to change the memory-map address used by the PID input. One documented configuration used PID slot 0 input-address location 0xF2100044 and wrote the scaled input address 0xF0264000 for module 4, input 0. These addresses are configuration-specific evidence, not universal assignments; verify the installed rack, slot and channel mapping before using them.
The selected address reportedly persists until the unit loses power or receives a new I/O-unit configuration. A strategy restart or communications recovery can therefore restore defaults if it reinitializes the I/O unit. Store the intended default configuration in flash and verify whether configuration download behavior is enabled before relying on address persistence.
Output Handling and Bumpless Transfer
A PID-associated analog output is controlled through the PID rather than by ordinary direct writes to the output value. In manual mode, change that output through the Set PID Output action or the following OptoScript call:
SetPidOutput(PID Loop, Output);
For a shared loop, transfer to manual before changing the process input, setpoint or tuning values, then return to automatic operation. This sequence is intended to avoid a sudden actuator movement when the new process variable and setpoint produce a different error. For separate loops, write each PID result to an intermediate float and copy only the selected loop's value to the common valve.
Verification and Abnormal-State Checks
- Confirm that opening each vessel valve selects its matching pressure transducer.
- Trend the selected process value, setpoint, PID output and physical valve command through every vessel transition.
- Check manual-to-automatic transitions for an abrupt output change.
- Test the no-vessel-open state and force the multiple-valves-open fault. Although connected vessels are expected to equilibrate, select a documented priority or inhibit automatic control instead of relying on scan order.
- Cycle power and restart the strategy to confirm the intended default input, tuning and output state. If input-address redirection is used, also test I/O communications loss and restoration.
Accept the design only if the selected signal always matches the active vessel, the valve command remains continuous enough for the process, and pressure converges to the setpoint without unacceptable oscillation. If vessel-specific behavior prevents stable shared tuning, change to separate PID loops and explicit output selection.
FAQ
Can one PID loop control pressure in three vessels?
Yes, when only one vessel normally connects to the common manifold and the process tolerates shared tuning. The documented pointer-fed design worked with 30–120 second cycles and pressure responses lasting several seconds.
How do I switch a PID input without making the valve jump?
Place the PID in manual, change the selected input and any required setpoint or PID values, then return the loop to automatic operation. Trend the PID output during the transition to verify that it is acceptably bumpless.
How should several PID loops share one analog output?
Write each loop's output to HOST or a scratchpad float, then copy only the active loop's value to the valve. Do not assign several PID loops directly to the same analog output because the highest-numbered loop was observed to overwrite the others.