Multiplexing Dual PID Controller Outputs to a Single Analog Output in SIMATIC PCS 7 CFC

Multiplexing Dual PID Controller Outputs to a Single Analog Output in SIMATIC PCS 7 CFC

To connect the manipulated value (MV) outputs of two independent PID controllers (PIDConL) to a single control valve analog output driver (Pcs7AnOu) in SIMATIC PCS 7 CFC, insert the APL analog signal selection block SelA02In. Connect PIDConL_Temp.MV to SelA02In.In1 and PIDConL_Flow.MV to SelA02In.In2, and connect SelA02In.Out to Pcs7AnOu.PV_In. To guarantee bumpless transfer when toggling the selector switch (SelIn), configure the inactive controller's tracking input (MV_Trk = Pcs7AnOu.PV_In and MV_TrkOn = 1) to prevent integral windup while inactive.

Table of Contents

Process Architecture: Shared Final Control Elements

In industrial pilot plants and batch chemical reactors, a single physical control valve often serves multiple operating modes. For example, during heating phases the valve regulates fluid outlet temperature, while during transfer phases the identical valve regulates volumetric outlet flow.

In SIMATIC PCS 7 Continuous Function Chart (CFC), the analog output driver block Pcs7AnOu expects a single process variable interconnection on its PV_In input pin. Wiring outputs from multiple PIDConL blocks directly to a single pin is strictly prohibited by the CFC compiler.

CFC Block Selection: SelA02In Analog Multiplexer

The Siemens Advanced Process Library (APL) provides the dedicated block SelA02In (2-Input Analog Selector):

  • SelA02In routes one of two analog input structures (In1 or In2, containing both real values and IEEE quality codes) to its output structure Out.
  • Selection is controlled by the binary input pin SelIn:
  • SelIn = 0: Out = In1 (e.g. Temperature Controller).
  • SelIn = 1: Out = In2 (e.g. Flow Controller).
  • The block propagates the correct signal status (Quality Code 16#80 Good) downstream to Pcs7AnOu.

Preventing Integral Windup via Tracking (MV_Trk and MV_TrkOn)

A critical control stability hazard arises when an inactive PID controller continues integrating error while its output is disconnected from the physical valve (integral windup):

  • If the temperature controller integrates up to 100% while flow control is active, switching control back to temperature causes the valve to instantly spike to 100%, causing severe thermal shock or pipe rupture.
  • Bumpless Tracking Solution:
  • Connect the actual valve position feedback (or Pcs7AnOu.PV_In / SelA02In.Out) to the tracking value input MV_Trk on both PIDConL blocks.
  • Wire the inverted selector signal to PIDConL_Temp.MV_TrkOn and the direct selector signal to PIDConL_Flow.MV_TrkOn.
  • When a controller is inactive, its internal integrator tracks the actual valve position. Upon switching, control transfers smoothly without any process bump.

Step-by-Step CFC Interconnection and Sizing Workflow

Implement the control strategy in CFC following this wiring structure:

  1. Instantiate Blocks: In the CFC chart, place PIDConL (Temp), PIDConL (Flow), SelA02In, and Pcs7AnOu.
  2. Connect Manipulated Values:
    - Wire PIDConL_Temp.MV -> SelA02In.In1.
    - Wire PIDConL_Flow.MV -> SelA02In.In2.
    - Wire SelA02In.Out -> Pcs7AnOu.PV_In.
  3. Wire Tracking Logic:
    - Wire SelA02In.Out -> PIDConL_Temp.MV_Trk and PIDConL_Flow.MV_Trk.
    - Connect mode selection flag (ModeSel) to SelA02In.SelIn.
    - Wire ModeSel -> PIDConL_Flow.MV_TrkOn (inactive when ModeSel = 0).
    - Invert ModeSel via an INV_B or negated pin to PIDConL_Temp.MV_TrkOn (inactive when ModeSel = 1).

Comparison of Multi-Controller Selection Techniques

The table below contrasts strategies for shared actuator control in PCS 7:

Selection StrategyAPL Blocks UsedSwitching DynamicAnti-Windup HandlingBest Suited ApplicationManual Mode SwitchSelA02InOperator toggledRequires MV_Trk wiringBatch recipe phase switching (Temp vs Flow)Override Control (Min/Max)Min08 / Max08Automatic continuousRequires controller clampingSafety overrides (e.g. pressure override on flow)Gain SchedulingGainSchedContinuous transitionUnified integratorNon-linear operating curve compensationSplit RangeSplRangeMulti-actuator outputIndependent ranges1 controller driving 2 valves (Heating & Cooling)

Verification

Verify bumpless controller switching in runtime:

  1. Open CFC online and monitor both PIDConL blocks and SelA02In.
  2. Put Temperature control active (SelIn = 0); adjust temperature setpoint and confirm valve output follows.
  3. Inspect Flow controller: confirm MV_TrkOn = 1 and verify PIDConL_Flow.MV matches actual valve position.
  4. Toggle SelIn = 1 to engage Flow control; confirm the valve position does not jump or bump.
  5. Verify that Pcs7AnOu shows good signal status (16#80) across all switching transitions.

Limitations and Operational Precautions

Observe the following safeguards when multiplexing PID loops:

  • Scale Normalization: Ensure both PIDConL blocks output manipulated values in the identical engineering units (typically 0.0 to 100.0% valve opening) matching the Pcs7AnOu input scaling (Scale.Low to Scale.High).
  • Direct Negation: In CFC, pin inversions on Boolean tracking inputs must be clearly documented to prevent logic reversal.
  • Alarm Management: Suppress nuisance tracking alarms on the inactive controller using message disable inputs (MsgLock).

Engineer FAQ

What happens if I don't configure tracking on the inactive PID controller?

The inactive controller continues integrating process error. When control is switched back, its output will have drifted to 0% or 100%, causing the control valve to violently slam open or shut.

Can I use SelA02In for digital signals as well?

No. SelA02In is specifically for analog structures (value + status). For digital binary signals, use the APL block SelD02In.

How does SelA02In handle signal quality codes?

SelA02In passes the complete IEEE float structure including the quality code (ST) of the selected input directly to its Out parameter, ensuring channel drivers receive authentic diagnostics.

Technical References

Related Articles

Related Tags

  • PIDConL
  • SelA02In
  • Pcs7AnOu
  • Bumpless Transfer
  • Integral Windup
  • CFC Architecture
6 respuestas