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
- Architecture and Fundamental Mechanics
- Step-by-Step Implementation Procedure
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
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) orMonAnL(FB1845). - Boolean to Integer Conversion: Convert each boolean to integer
0or1usingSelI02InorB2Iblocks. - 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 integer5.
Step-by-Step Implementation Procedure
Step-by-Step Procedure to Implement 5oo16 Logic in CFC:
- Instantiate Analog Comparators in CFC:
- In an OB35 chart, place 16 instances ofCompAn02(or configure high limit alarms on 16MonAnLblocks).
- Connect process variables $PV_1 \dots PV_{16}$ toIn1, and set trip thresholds $L_1 \dots L_{16}$ onIn2. - Convert Booleans to Numeric Weights:
- Insert 16 instances of integer selectors (SelI02Infrom APL):- Set
In0 := 0andIn1 := 1. - Connect
CompAn02.Out1(greater than limit) toSelI02In.Sel. - When the limit is exceeded,
SelI02In.Outoutputs1; otherwise0.
- Set
- Sum Channel Counts via Adder Blocks:
- Insert twoAdd08blocks (Add_Group1andAdd_Group2).
- Connect outputs of channels 1–8 toAdd_Group1inputs (In1..In8).
- Connect outputs of channels 9–16 toAdd_Group2inputs (In1..In8).
- Insert an integer addition block (Add02/AddInt) to sumAdd_Group1.Out+Add_Group2.Out. - Evaluate Voting Threshold (5oo16):
- Insert an integer comparatorCompIn02(FB1818).
- Connect the total sum toIn1.
- SetIn2 := 5(Voting limit threshold).
- Output pinOutGE(Greater than or Equal) represents the 5oo16 trip flag. - Interconnect to Plant Interlocks:
- ConnectCompIn02.OutGEto 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
- SIMATIC Process Control System PCS 7 Advanced Process Library (APL)
- SIMATIC Safety Matrix V6.3 Manual
- PCS 7 V9.0 SP3 Licenses and Configuration Limits
Related Articles
- Locating Real Number Comparator Blocks and Implementing CompAn02 in SIMATIC PCS 7
- Resolving Safety Matrix 6.3 F-I-O Channel Access and Link Errors in PCS 7 V9.0
- Configuring Control Module Type (CMT) Interconnections, Technological I-Os, and SFC Linking in PCS 7
Related Tags
- Voting Logic
- 5oo16
- CompAn02
- Add08
- Analog Monitoring