Configuring Normalization Range on CTRL_PID with Thermocouple Inputs in SIMATIC PCS 7
In SIMATIC PCS 7 utilizing the classic CTRL_PID block (FB61), the normalization parameters NM_PVHR (High Range) and NM_PVLR (Low Range) must be configured to match the actual physical temperature measurement range of the thermocouple process (e.g., 0.0 °C to 1000.0 °C), rather than raw normalized values. In CTRL_PID, error calculation (ER) is normalized as a percentage of the span defined by NM_PVHR minus NM_PVLR. If an engineer incorrectly leaves these at 0.0 to 1.0 or 0.0 to 100.0 while process temperature operates across hundreds of degrees, the effective proportional gain is multiplied by a factor of ten or one hundred, resulting in severe loop instability and valve oscillation.
Table of Contents
- Mathematical Foundation of Normalization in CTRL_PID
- Interfacing Thermocouple Inputs with CH_AI and CTRL_PID
- Step-by-Step Configuration and Tuning Procedure
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
Mathematical Foundation of Normalization in CTRL_PID
In SIMATIC PCS 7 standard library control engineering, the CTRL_PID controller block (FB61) computes its control output based on the normalized system error ER. Unlike modern Advanced Process Library (APL) controllers (PIDConL) which operate directly in physical engineering units, CTRL_PID normalizes both the process value (PV) and setpoint (SP) using the normalization range:
$$\text{Span} = NM_PVHR - NM_PVLR$$
$$PV_{norm} = \frac{PV - NM_PVLR}{\text{Span}} \times 100\%$$
$$SP_{norm} = \frac{SP - NM_PVLR}{\text{Span}} \times 100\%$$
$$ER = SP_{norm} - PV_{norm}$$
The proportional control contribution is calculated as $P = GAIN \times ER$. Consequently, the span $(NM_PVHR - NM_PVLR)$ acts as an inverse scaling factor directly embedded in the loop's proportional gain. If the span is set incorrectly, the controller's effective gain will deviate drastically from the configured GAIN parameter.
Interfacing Thermocouple Inputs with CH_AI and CTRL_PID
When interfacing thermocouple signals (such as Type K, Type J, or PT100) via analog input channel drivers (CH_AI, FB101) to CTRL_PID, engineers often encounter scaling confusion:
1000.00.01000.00.0In some legacy configurations, engineers set CH_AI range to 0.0–1.0 because the analog input module was parameterized for standard temperature formatting (where raw integer values represent tenths of a degree, e.g. 5000 = 500.0 °C). If NM_PVHR is left at 1.0 while PV arrives as 500.0, the error calculation saturates at $\pm 100\%$ indefinitely, locking the controller output at maximum or minimum limits.
Step-by-Step Configuration and Tuning Procedure
To establish proper normalization and achieve stable temperature control with CTRL_PID, execute the following workflow:
-
Configure Hardware in HW Config: Open the analog input module (e.g., SM 331). Set the channel measurement type to
TC-LorTC-Kwith the appropriate internal or external reference junction compensation. -
Parameterize CH_AI Channel Driver: In CFC, connect the peripheral address (
IW xxx) toCH_AI.VALUE. SetVHR = 1000.0(or maximum sensor range) andVLR = 0.0. SetSCALEunits to°C. -
Align Normalization Limits on CTRL_PID: Connect
CH_AI.Vdirectly toCTRL_PID.PV. OpenCTRL_PIDproperties and assign:
-NM_PVHR = 1000.0
-NM_PVLR = 0.0
Ensure thatNM_PVHRandNM_PVLRprecisely matchCH_AI.VHRandCH_AI.VLR. -
Configure Manipulated Value Limits: Set
LMN_HLM = 100.0%andLMN_LLM = 0.0%corresponding to heating valve or thyristor firing bounds. -
Tune PID Parameters: Begin loop tuning with conservative parameters (e.g., $GAIN = 1.0$, $TI = 120.0\text{ s}$, $TD = 20.0\text{ s}$). Crucial Rule: Never modify
NM_PVHRorNM_PVLRafter tuning, as doing so alters loop gain and requires a complete re-tuning.
Verification
Verify normalization accuracy and control stability through these diagnostic checks:
- Error Calculation Check: Place
CTRL_PIDin Manual mode. SetSP = 250.0 °Cand observePV = 200.0 °C. Verify that the internal errorERcalculates as exactly:
$$\frac{250 - 200}{1000 - 0} \times 100\% = +5.0\%$$ - Proportional Kick Response: Switch to Automatic mode. Verify that with $GAIN = 2.0$, the proportional response adds exactly $2.0 \times 5.0\% = 10.0\%$ to the manipulated output
LMN. - Online Faceplate Trending: Open the WinCC OS faceplate. Confirm that Process Value and Setpoint display on the exact same 0 to 1000 °C vertical scale without clipping.
Limitations and Operational Precautions
When engineering temperature loops with CTRL_PID, adhere to these operational safeguards:
- Re-tuning Obligation: If process modifications require changing the operating range (e.g., expanding from 600 °C to 1200 °C), updating
NM_PVHRhalves the effective gain. The loop MUST be re-tuned immediately to maintain stability. - APL Migration Benefits: In newer PCS 7 versions (V8.0, V9.0+), migrate from classic
CTRL_PID(FB61) to APLPIDConL(FB1874).PIDConLfeatures independent physical engineering scaling (PV_OpScale) and physical gain parameterization, eliminating normalization gain confusion. - Thermocouple Burnout Handling: Ensure
CH_AI.SUBS_ONis configured with a safe substitute value (e.g. 0.0 °C) so that a transmitter wire break does not drive heating loops to full 100% output.
Engineer FAQ
Why did the loop oscillate uncontrollably when NM_PVHR was set to 100.0?
If process temperature operates across 1000 °C but NM_PVHR is set to 100.0, a 50 °C temperature error is interpreted as a 50% error instead of a 5% error. This multiplies the loop's effective proportional response by a factor of 10, causing severe hunting.
Can NM_PVHR and NM_PVLR be set to the expected operating window rather than the full sensor range?
Yes. Setting the normalization span to the realistic operating window (e.g. 200 °C to 600 °C) increases controller resolution across the working range, provided the loop is tuned under those exact bounds.
Does modern APL PIDConL use NM_PVHR?
No. The Advanced Process Library (APL) block PIDConL eliminated the NM_PVHR/NM_PVLR normalization paradigm, utilizing PV_OpScale.High and PV_OpScale.Low for faceplate display while calculating gain directly in physical engineering units.
Technical References
- SIMATIC Process Control System PCS 7 Standard Block Library Manual (A5E36187654)
- SIMATIC Process Control System PCS 7 Advanced Process Library (APL) Manual (A5E39140304)
- Control Loop Foundation: Batch and Continuous Processes (Terrence Blevins and Mark Nixon)
Related Articles
- Restricting PID Parameter Tuning in SIMATIC PCS 7 APL Faceplates - Operator Authorization Levels and User Administrator.md
- Converting Raw Analog Values (WORD) to Engineering Values (REAL) in SIMATIC PCS 7 CFC - Linear Scaling vs Type Casting.md
- Resolving Channel Driver Group Error (Mode Configuration 16#8000FFFE) in SIMATIC PCS 7 CFC.md
Related Tags
- CTRL_PID
- PID Tuning
- Normalization
- Thermocouple
- CH_AI
- PCS 7 V7.1