Implementing 5-out-of-16 Analog Parameter Monitoring and Voting Logic in PCS 7

Implementing 5-out-of-16 Analog Parameter Monitoring and Voting Logic in PCS 7

To monitor 16 analog process parameters and trip an interlock or alarm when any 5 or more exceed configured thresholds (5-out-of-16 voting logic) in SIMATIC PCS 7, compare each analog signal using standard comparator blocks ('CompAn02') or limit monitoring blocks ('MonAnL'), convert the resulting limit exceedance booleans into integers (0 or 1), sum the active channels using an adder block ('Add08' or cascading additions), and evaluate whether the total sum is greater than or equal to 5 using an integer comparator block ('CompIn02').

Table of Contents

Executive Summary

In process safety, fire and gas detection, and critical machinery protection (such as multi-zone furnace thermal runaway or multi-bearing vibration surveillance), tripping on a single sensor can cause nuisance plant shutdowns. Conversely, requiring all sensors to trip causes unacceptable safety lag. Multi-channel voting logic—such as '5oo16' (5 out of 16)—provides robust fault tolerance and noise rejection. While PCS 7 does not provide a single off-the-shelf '5oo16' block in the basic library, this logic is easily and deterministically implemented in CFC. This guide provides the complete design, block interconnection, and testing procedure.

Architecture and Fundamental Mechanics

Mathematical and Architectural Mechanics of M-out-of-N Voting Logic in CFC:

  • The M-out-of-N Algorithm:
  • Given $N = 16$ analog process variables $PV_1, PV_2, \dots, PV_{16}$ and limit thresholds $L_1, L_2, \dots, L_{16}$:
  • Individual boolean condition: $b_i = 1$ if $PV_i > L_i$, else $b_i = 0$.
  • Accumulated sum: $S = \sum_{i=1}^{16} b_i$.
  • Voting trip condition: $\text{Trip} = 1$ if $S \ge 5$, else $\text{Trip} = 0$.
  • APL Block Selection in CFC:
  • Threshold Detection: Use 16 instances of CompAn02 (FB1817) or MonAnL (FB1845).
  • Boolean to Integer Conversion: Convert each boolean to integer 0 or 1 using SelI02In or B2I blocks.
  • Multi-Input Summation: Use Add08 (FB1801) blocks to sum the integer values in groups of 8, and an additional adder to combine the two groups.
  • Threshold Evaluation: Pass the total sum $S$ to CompIn02 (FB1818), comparing against constant integer 5.

Step-by-Step Implementation Procedure

Step-by-Step Procedure to Implement 5oo16 Logic in CFC:

  1. Instantiate Analog Comparators in CFC:
    - In an OB35 chart, place 16 instances of CompAn02 (or configure high limit alarms on 16 MonAnL blocks).
    - Connect process variables $PV_1 \dots PV_{16}$ to In1, and set trip thresholds $L_1 \dots L_{16}$ on In2.
  2. Convert Booleans to Numeric Weights:
    - Insert 16 instances of integer selectors (SelI02In from APL):
    • Set In0 := 0 and In1 := 1.
    • Connect CompAn02.Out1 (greater than limit) to SelI02In.Sel.
    • When the limit is exceeded, SelI02In.Out outputs 1; otherwise 0.
  3. Sum Channel Counts via Adder Blocks:
    - Insert two Add08 blocks (Add_Group1 and Add_Group2).
    - Connect outputs of channels 1–8 to Add_Group1 inputs (In1..In8).
    - Connect outputs of channels 9–16 to Add_Group2 inputs (In1..In8).
    - Insert an integer addition block (Add02 / AddInt) to sum Add_Group1.Out + Add_Group2.Out.
  4. Evaluate Voting Threshold (5oo16):
    - Insert an integer comparator CompIn02 (FB1818).
    - Connect the total sum to In1.
    - Set In2 := 5 (Voting limit threshold).
    - Output pin OutGE (Greater than or Equal) represents the 5oo16 trip flag.
  5. Interconnect to Plant Interlocks:
    - Connect CompIn02.OutGE to the target APL interlock block (Intlk04 / Intlk08) or equipment shutdown logic.

Verification

To verify the 5oo16 voting logic:
1. In CFC test mode, verify that with all 16 inputs below threshold, total sum $S = 0$ and OutGE = FALSE.
2. Force 4 random inputs above their limits; confirm total sum $S = 4$ and OutGE remains FALSE.
3. Force a 5th input above its limit; confirm total sum $S = 5$ and OutGE asserts TRUE immediately.
4. Force 10 inputs above limit; confirm total sum $S = 10$ and OutGE remains steady TRUE.

Limitations and Operational Precautions

Operational precautions:
- Bad sensor quality handling: If an analog transmitter experiences a wire break (ST = 16#00), decide whether bad quality should be voted as a trip or excluded from the voting pool.
- For SIL 2 / SIL 3 safety instrumented systems, voting logic must be executed inside the S7 F-Systems / Safety Matrix safety program using fail-safe blocks (F_CMP_R, F_ADD_I), not standard CFC blocks.
- Ensure that trip thresholds incorporate appropriate deadbands or time delays to prevent rapid chatter around threshold boundaries.

Engineer FAQ

Does PCS 7 have a native single block for 5oo16 voting?

No single off-the-shelf block exists for 5oo16; it is implemented in CFC by summing the boolean threshold results of 16 channels and comparing against 5.

What block compares two analog values in APL?

The CompAn02 (FB1817) comparator block.

What block sums up to 8 inputs in APL?

The Add08 (FB1801) addition block.

How should bad quality (wire break) signals be handled in voting?

By evaluating the signal status (ST); bad channels can either increment the fault count (fail-safe) or be removed from the denominator (degraded voting).

Can this voting logic be implemented in Safety Matrix?

Yes. In Safety Matrix, Causes can be configured with voting groups (e.g., 2oo3, 5oo16) natively within the matrix grid.

Technical References

Related Articles

Related Tags

  • Voting Logic
  • 5oo16
  • CompAn02
  • Add08
  • Analog Monitoring
20 respuestas