Accurate analog signal scaling is fundamental to industrial measurement and control. Whether converting a 4–20 mA transmitter signal to engineering units or normalizing a 0–10 V input for a PID controller, proper scaling ensures measurement accuracy and process consistency.
The 4–20 mA Scaling Formula
The standard linear scaling formula for converting a 4–20 mA signal (or its raw digitised counts) into an engineering value is:
EngineeringValue = (RawValue – RawMin) × (EngMax – EngMin) / (RawMax – RawMin) + EngMin
Where:
- RawValue = the current reading from the input module (current in mA or raw A/D counts)
- RawMin = the raw value corresponding to 4 mA (e.g., 4.0 mA or 0 raw counts)
- RawMax = the raw value corresponding to 20 mA (e.g., 20.0 mA or 32767 raw counts)
- EngMin = the engineering value at 4 mA (e.g., 0 bar)
- EngMax = the engineering value at 20 mA (e.g., 100 bar)
Worked Example — 0–100 Bar Pressure Transmitter
A 4–20 mA pressure transmitter is ranged 0–100 bar. The PLC analog input module digitises the 4–20 mA signal to 0–32767 raw counts (16-bit signed integer with ± 0.006% resolution). At 12 mA (50% of span):
RawValue = 16384 counts (50% of 0–32767 scale)
EngineeringValue = (16384 – 0) × (100 – 0) / (32767 – 0) + 0 = 16384 × 100 / 32767 = 50.00 bar
If the PLC uses the actual mA reading instead of raw counts: RawValue = 12.0 mA, RawMin = 4.0, RawMax = 20.0
EngineeringValue = (12.0 – 4.0) × (100 – 0) / (20.0 – 4.0) + 0 = 8.0 × 100 / 16.0 = 50.00 bar
Inverse Scaling and Bidirectional Signals
Some signals require inverse scaling where 4 mA = maximum and 20 mA = minimum (e.g., fail-safe valve position feedback). The formula becomes:
EngineeringValue = (RawValue – RawMin) × (EngMin – EngMax) / (RawMax – RawMin) + EngMax
For bidirectional signals (e.g., ±100 mm position), a 4–20 mA signal is often offset: 4 mA = –100 mm, 12 mA = 0 mm, 20 mA = +100 mm.
PLC/DCS Configuration Approaches
Different platforms handle scaling at different layers of the automation stack:
- Siemens TIA Portal (SIMATIC S7-1200/1500): Use the SCALE_X and NORM_X instructions. NORM_X normalises the raw value to a 0.0–1.0 real number, then SCALE_X maps it to the engineering range. Example:
NORM_X(INT, 0, 27648, RawCount) → ScaleFactor; SCALE_X(REAL, 0.0, 100.0, ScaleFactor) → Pressure. Note that Siemens uses 0–27648 as the nominal measuring range (rather than 32767) for analog modules. - Rockwell ControlLogix / CompactLogix: Use the SCL (Scale) instruction or MAP instruction in Studio 5000. For 4–20 mA, the raw counts range is typically 0–30,951 for 16-bit modules with 0.1% overrange. The SCL instruction performs the linear transformation directly with user-entered min/max raw and engineering values.
- ABB 800xA / AC800M: Scaling is configured in the Control Builder function blocks. Analog input function blocks include parameters for RawMin, RawMax, EngMin, EngMax, and a TransferFunction (Linear, SquareRoot, etc.).
Square Root Extraction for Differential Pressure Flow
Differential pressure (DP) flow transmitters produce a differential pressure signal that is proportional to the square of the flow rate: Q = k × √(ΔP). To obtain linear flow readout, the PLC or DCS must apply the square root function after scaling the DP signal:
FlowValue = FlowMax × √((DP_RawValue – DP_RawMin) / (DP_RawMax – DP_RawMin))
The square root extraction is typically applied when the flow turndown ratio exceeds 3:1. For very low flow rates (below approximately 5% of span), the square root function becomes unstable as the slope approaches infinity. A low-flow cutoff (e.g., below 2% of max DP, output zero flow) prevents numerical instability.
Temperature Linearization
Thermocouples and RTDs have non-linear voltage/resistance vs temperature characteristics. The linearization is handled at different levels:
- Smart transmitters: Modern temperature transmitters (e.g., Rosemount 3144P, Siemens SITRANS TH400) perform the full IEC 60584 / ITS-90 linearisation internally and output a 4–20 mA signal that is already linear with temperature. The PLC simply applies the linear scaling formula.
- Direct RTD input modules: PLC analog input modules for RTDs (PT100, PT1000) perform the Callendar-Van Dusen linearisation in firmware: R(T) = R₀ [1 + AT + BT² + C(T–100)T³] for T > 0 °C (simplified to R(T) = R₀ (1 + AT + BT²) for T < 0 °C). The module outputs the temperature directly in engineering units.
- Thermocouple input modules: Cold junction compensation (CJC) is handled by the module. The temperature is calculated from the measured EMF using NIST polynomial coefficients and output in engineering units.
NAMUR NE43 Failure Signals
NAMUR NE43 standardises failure signalling for 4–20 mA transmitters:
- 3.6 mA (or lower): Under-range or device failure. The PLC/DCS must detect this and set the quality to BAD, preventing the control loop from using the faulty value.
- 21.75 mA (or higher): Over-range or device failure. Also detected as BAD quality.
- In modern DCS/PLC systems, the analog input module can be configured to report signal quality along with the value. When a NAMUR failure signal is detected, the logic should hold the last good value, switch to a configured fail-safe value, and alert the operator.
Troubleshooting Scaling Errors
Systematic approach to diagnosing scaling problems:
- Check raw counts at the input module: Use the diagnostic interface of the PLC/DCS to read the A/D raw integer. At 4 mA you should see RawMin; at 20 mA, RawMax. Deviations indicate a hardware problem (wire, module, power supply).
- Verify LRV / URV in the transmitter: A pressure transmitter may have its LRV (Lower Range Value) and URV (Upper Range Value) set incorrectly. Use a HART communicator to confirm the ranged values match the 4 and 20 mA setpoints.
- Loop integrity check: Measure the loop current with a series multimeter at the marshalling panel. Compare with the value reported by the input module. A discrepancy points to a scaling mismatch in the PLC configuration or a wiring issue (incorrect shunt resistor, ground loop).
- Inverse scaling: If the engineering value moves in the wrong direction (increases when the process decreases), check if inverse scaling has been applied accidentally.
- Square root applied incorrectly: If a DP flow signal was already linearised by the transmitter (enabled square root in the transmitter), applying square root again in the PLC will produce incorrect results. Verify the configuration at both ends.
ASP OTOMASYON A.Ş. and its subsidiaries OPCTurkey and ASP Dijital provide end-to-end industrial engineering solutions for process automation, data operations and AI.
References & Further Reading
- NAMUR NE43 — Standardisation of the Signal Level for the Failure Information of Digital Transmitters — Official NAMUR recommendation defining the 3.6 mA and 21.75 mA failure signal levels for 4-20 mA transmitters, critical for proper scaling and fault detection.
- IEC 60381 — Analogue Signals for Process Control Systems — International standard defining standard analogue signal ranges including 4-20 mA and 0-10 V for process measurement and control systems.
- FieldComm Group — HART Protocol for Smart Transmitter Configuration — Official HART protocol documentation covering scaling parameters, range values, and transfer function configuration in smart transmitters.
- ISA Practices — Instrumentation Symbols and Identification (ISA-5.1) — ISA standard for instrumentation symbols, loop diagrams, and signal identification used in analog signal documentation.
- IEC 61131-3 — PLC Programming Languages for Analog Value Processing — International standard covering the programming languages and data types used for analog signal scaling in PLC function blocks.