Diagnosing Contradictory Position Inputs (Pos0Aut - Pos1Aut) and Invalid Signal States in APL Vlv2WayL
In SIMATIC PCS 7 Advanced Process Library (APL), when a two-way valve block like Vlv2WayL receives contradictory automatic commands—specifically when both Pos0Aut = 1 (command to Position 0) and Pos1Aut = 1 (command to Position 1) are active simultaneously in Auto mode—the block intentionally does NOT generate an operator alarm in WinCC Alarm Logging. Instead, the APL algorithm treats this as an 'Invalid Input Signal', outputs an error code (ErrorNum = 51), and displays the visual banner 'Invalid signal' in the faceplate standard view. The block neutralizes the contradictory commands by holding its current position or driving to a defined neutral state.
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
The Advanced Process Library (APL) in SIMATIC PCS 7 implements sophisticated signal validation and error-handling hierarchies to prevent contradictory control inputs from damaging physical process equipment. When developing sequencing logic in CFC for two-position or two-way control valves using Vlv2WayL (or standard VlvL), control engineers sometimes write interlock or automatic sequencing logic that accidentally asserts both position commands (Pos0Aut = 1 and Pos1Aut = 1) at the same time. A frequent question arises: why does the WinCC alarm horn remain silent and why does no alarm record appear in the message list? This article explains the APL error handling concept, details the ErrorNum parameter behavior, and demonstrates how to handle invalid input signals at both the AS and OS layers.
Architecture and Fundamental Mechanics
APL Error Handling Hierarchy, Invalid Signal Suppression, and Vlv2WayL Control Mechanics:
- APL Error Handling Philosophy (Section 2.1.6 of APL Manual):
- The APL categorizes runtime anomalies into distinct classes:
- Process Alarms: Genuine physical process deviations (e.g. High Pressure, High Vibration) recorded in WinCC Alarm Logging.
- Control System Faults: Feedback monitoring errors (e.g. valve failed to open within
MonTiDynamic), generating alarms. - Invalid Input Signals: Logical contradictions originating from user programming in CFC (e.g. simultaneous Open and Close commands).
-
Design Rationale: Contradictory automatic commands are engineering programming defects, not physical plant emergencies. Flooding WinCC Alarm Logging with programming errors would distract operators during upsets. Therefore, APL handles these errors locally on the block interface.
-
Behavioral Mechanics of
Vlv2WayLUnder Contradictory Inputs: - Inputs:
Pos0Aut(Command to Position 0 / Closed),Pos1Aut(Command to Position 1 / Open),Pos2Aut(Position 2 if 3-way). -
When
Pos0Aut = 1ANDPos1Aut = 1while in Automatic mode (ModLiOp = 1andAutModLi = 1):- The block's internal validation algorithm trips.
- It sets the integer output
ErrorNum = 51(Invalid signal combination). - It suppresses command execution: the valve does NOT toggle or chatter. Depending on the
Featurebit configuration, the valve holds its current position or drives to the safety position. - On the WinCC APL faceplate standard view (
@pg_vlv2wayl_standard.pdl), the block outputs the explicit text: 'Invalid signal'.
-
Generating WinCC Alarms for Invalid Signals (If Required):
- If operational procedures mandate alerting the operator whenever an invalid automation command occurs, the engineer must evaluate
ErrorNumin CFC and route it to an external message block (EventTsor block inputExtMsg1).
Step-by-Step Implementation Procedure
-
Inspect the Vlv2WayL Block in CFC Online Test Mode:
* Open the CFC chart containing theVlv2WayLblock instance.
* Switch to Test Mode (Ctrl+F).
* Inspect pinsPos0AutandPos1Aut: observe that both areTRUE.
* Inspect output parameterErrorNum: verify it reads51.
* Observe that the physical control outputs (Ctrl0,Ctrl1) hold a safe state rather than chattering. -
Inspect the WinCC Faceplate Display:
* In WinCC Runtime, click on the valve block icon.
* In the standard view of the faceplate, look at the status bar.
* Verify that the text Invalid signal is displayed, alerting the operator that automatic logic is contradictory. -
Correct the Upstream CFC Interconnection Logic:
* In CFC, trace the signals feedingPos0AutandPos1Aut.
* Ensure that interlock logic or flip-flops (RS_FF) prevent both signals from asserting simultaneously.
* Insert an interlock block (e.g.Intlk02) or mutual exclusion logic so thatPos0Autis forced FALSE wheneverPos1Autis TRUE. -
Optional: Route ErrorNum to an Alarm Message:
* If an explicit alarm is required in the WinCC Alarm Logging list:
* Insert a comparison block (CompInt): check ifErrorNum == 51.
* Interconnect the output ofCompIntto inputExtMsg1onVlv2WayL(or anEventTsblock).
* Configure the message text in the block properties: 'Valve Contradictory Position Command Error'.
Verification
- In CFC test mode, clear the contradictory condition so only
Pos1Aut = 1andPos0Aut = 0. - Verify that
ErrorNumresets from51to0. - Confirm that the faceplate status 'Invalid signal' clears immediately.
- Verify that the valve drives smoothly to Position 1 and asserts the corresponding control output (
Ctrl1 = 1).
Limitations and Operational Precautions
Different APL blocks utilize different ErrorNum values (e.g. motors utilize specific error codes for simultaneous start/stop). Never rely on the block's internal invalid signal suppression as a replacement for proper interlock engineering; always implement hardware interlocks and mutually exclusive software logic.
Engineer FAQ
Why doesn't Vlv2WayL trigger an alarm when Pos0Aut and Pos1Aut are both 1?
Because APL treats contradictory commands as 'Invalid Input Signals' rather than process alarms, outputting ErrorNum = 51 and displaying 'Invalid signal' on the faceplate instead of alarming.
What does ErrorNum = 51 mean on Vlv2WayL?
It signifies an invalid signal combination, specifically that contradictory position commands are asserted simultaneously in Auto mode.
What happens to the physical valve when both position commands are active?
The block suppresses actuator commands, holding its current position or transitioning to the configured safe position without chattering.
Where is the 'Invalid signal' message displayed?
In the standard view of the APL faceplate directly above the valve status graphic.
How can I generate an alarm in WinCC for ErrorNum = 51?
Evaluate ErrorNum == 51 using a comparison block in CFC and route the boolean output to ExtMsg1 on the valve block.
Technical References
- SIMATIC PCS 7 Advanced Process Library V9.0 Function Manual - Section 2.1.6 Error Handling
- SIMATIC PCS 7 APL Vlv2WayL Block Specification
- SIMATIC PCS 7 Process Control System Alarm Engineering
Related Articles
- Customizing APL Valve Block Icon Visual Behavior - Static Orientation vs Color States (VlvMotL - VlvL)
- Retaining Output Channel Driver States Across CPU Restart and Module Driver Generation in PCS 7
- Triggering Digital Tags and AS Logic on WinCC Alarm Acknowledgment in SIMATIC PCS 7
- Detecting Ascending Analog Values and Configuring Gradient Monitoring in PCS 7 MonAnL
Related Tags
- Vlv2WayL
- APL
- ErrorNum
- Invalid Signal
- Pos0Aut
- Pos1Aut
- Valve Control
- PCS 7 V9.0