Configuring APL Channel Driver Pcs7AnIn (FB1869) Bipolar Measuring Ranges and Substitute Values with Feature Bit 29
In SIMATIC PCS 7 Advanced Process Library (APL), if the channel driver block Pcs7AnIn (FB1869) outputs an unexpected value (such as -50.0) at PV_Out without an active input at PV_In or SimPV_In, the cause is an unconfigured bipolar measuring range (+/- 10V) or an active substitute value triggered by bad signal quality. For bipolar inputs, raw integer counts range from -27648 to +27648. If the channel detects open-circuit underflow or invalid quality, Feature.Bit29 determines output behavior: when Feature.Bit29 = 1, Pcs7AnIn outputs the substitute value configured at parameter SubsPV_In (defaulting to 0.0 or a configured offset like -50.0). To resolve this, align HW Config measuring range with Pcs7AnIn Scale parameters, verify module driver generation (Mode and DataXchg), and configure Feature.Bit29 according to plant safety requirements.
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
Process engineers configuring analog input channel drivers in SIMATIC PCS 7 V9.0 SP2 with APL 9.0 occasionally observe anomalous static outputs (e.g., PV_Out = -50.0) on newly instantiated Pcs7AnIn blocks (FB1869), despite having no active input wired to PV_In and simulation disabled. This behavior typically occurs on distributed ET 200 stations configured with bipolar analog inputs (such as +/- 10 V or +/- 20 mA). When physical inputs are disconnected or unpowered, raw A/D converters float to open-circuit limits, triggering wire-break or underflow diagnostics. This guide clarifies the mathematical relationship between S7 raw counts, APL scaling, and Feature Bit 29 substitute value handling.
Architecture and Fundamental Mechanics
The APL analog channel driver Pcs7AnIn (FB1869) processes raw analog inputs through three sequential computational stages:
1. Raw Value Acquisition & Quality Evaluation: The block reads the peripheral input address (PV_In) and interrogates the module driver connection (Mode, DataXchg). Standard unipolar signals (0..20 mA, 4..20 mA, 0..10 V) map physical signals to 0..27648 counts. Bipolar signals (+/- 10 V, +/- 20 mA) map negative full-scale to positive full-scale across -27648 to +27648 counts.
2. Normalization and Scaling: The block converts raw counts into engineering units according to the configured Scale structure:
$$PV_Out = \left( \frac{Raw - RawMin}{RawMax - RawMin} \right) \times (Scale.High - Scale.Low) + Scale.Low$$
If Scale.Low = -100.0 and Scale.High = 100.0, an intermediate raw count of $-13824$ (-5V) yields exactly $-50.0$.
3. Substitute Value Processing (Feature.Bit29):
When the module detects an underflow, open circuit, or invalid hardware state, the signal status degrades to Bad (ST = 16#00 or 16#28).
- If Feature.Bit29 = 0 (default): The block outputs the calculated raw value (or last valid value if configured) accompanied by a Bad quality code.
- If Feature.Bit29 = 1 ('Output substitute value if raw value is invalid'): The block discards the live input and outputs the value configured at input parameter SubsPV_In (with quality code ST = 16#60 or 16#28). If SubsPV_In was set to -50.0, PV_Out.Value outputs -50.0 continuously until the field channel recovers.
Step-by-Step Implementation Procedure
-
Verify Module Measuring Range in HW Config:
a. Open STEP 7 HW Config, locate the ET 200 analog input module, and open its Object Properties.
b. Check the configured 'Measuring type' and 'Measuring range' (e.g., Voltage +/- 10 V vs. Current 4..20 mA).
c. Note whether wire-break diagnostics and open-circuit monitoring are enabled.
d. Save and compile HW Config. -
Configure Pcs7AnIn Scale and Mode in CFC:
a. In the CFC chart, open thePcs7AnInblock properties.
b. Ensure theScaleparameter reflects the physical process span (e.g.,Scale.Low = -100.0andScale.High = 100.0for +/- 10 V transmitters).
c. Verify that the input parameterModeis automatically assigned by module driver generation. For +/- 10 V,Modetypically carries format16#0203. -
Configure Feature Bit 29 and Substitute Value:
a. Inspect input parameterFeatureonPcs7AnIn.
b. To enable substitute value output upon signal failure, setFeature.Bit29 = 1.
c. Configure the desired fail-safe default value atSubsPV_In(e.g.,0.0or a predefined safe state).
d. If substitute output is undesirable, setFeature.Bit29 = 0so that downstream blocks (MonAnL) can process the raw signal failure and initiate technological interlocking. -
Recompile CFC Charts with Driver Generation:
a. In CFC Editor, executeChart -> Compile -> Chart as Program....
b. Ensure 'Generate module drivers' is checked.
c. Download changes to the AS controller in RUN mode.
Verification
- In CFC test mode, monitor
Pcs7AnIn: apply a known reference voltage (e.g., 0 V to a +/- 10 V channel) and confirmPV_Out.Valuereads0.0withST = 16#80(Good). - Apply -5 V: verify
PV_Out.Valuescales linearly to-50.0. - Disconnect the input terminal to simulate a field break: verify that
PV_Out.STchanges to16#00or16#28(Bad). - If
Feature.Bit29 = 1, confirm thatPV_Out.Valuetransitions toSubsPV_Inand downstream faceplates display the maintenance fault icon.
Limitations and Operational Precautions
Feature Bit 29 alters the output value of the channel driver during field faults; safety-critical interlocks must evaluate the signal status byte (PV_Out.ST) or Bad output (Bad = 1), rather than relying solely on the numerical PV_Out.Value, to prevent an unexpected substitute value from masking an active process trip condition.
Engineer FAQ
What does Feature Bit 29 do on Pcs7AnIn?
It enables the output of a pre-configured substitute value (SubsPV_In) at PV_Out whenever the raw analog input detects bad quality, wire break, or measuring range violation.
Why did PV_Out display -50.0 when no input was connected?
On a +/- 10 V module with -100 to +100 scaling, an open-circuit floating voltage or a configured substitute value of -50.0 caused PV_Out to report -50.0.
What raw count corresponds to 0V on a +/- 10V S7 analog module?
Zero counts (0) represents 0 V; -27648 represents -10 V, and +27648 represents +10 V.
Can I use Feature Bit 29 to hold the last valid value?
Yes, in combination with Feature Bit 28, the block can be configured to hold the last valid value instead of outputting SubsPV_In.
Does Pcs7AnIn require manual module driver programming for bipolar cards?
No. When 'Generate module drivers' is compiled, the compiler automatically determines card type and writes the appropriate hexadecimal Mode code to the channel driver.
Technical References
- SIMATIC PCS 7 Advanced Process Library (APL) Function Manual (V9.0 SP2)
- SIMATIC PCS 7 Basis Library Function Manual
- SIMATIC S7-400 / ET 200 Module Data Reference Manual
Related Articles
- Interconnecting APL Channel Drivers (Pcs7AnIn, Pcs7DiIn, Pcs7AnOu) with Monitoring Blocks and Field Diagnostics
- Analog input scaling and resolution handling in APL channel driver Pcs7AnIn (0..27648 vs 0..32767)
- Diagnosing bad quality codes across APL channel drivers following block type upgrades
Related Tags
- Pcs7AnIn
- APL
- Feature Bit 29
- Bipolar Scaling
- ET 200
- Substitute Value