4-20mA to Engineering Units Scaling
Easily scale raw 4-20mA or 0-10V analog signals into physical engineering units.
Sensor Parameters
Scaled Output Value
Introduction to 4-20mA Signal Scaling
In industrial automation, the 4-20mA current loop is the industry standard for transmitting analog signals from field instruments to Programmable Logic Controllers (PLCs). However, a PLC’s analog-to-digital converter (ADC) reads this current as a raw digital count. To make this data meaningful for control logic and Human-Machine Interfaces (HMIs), automation engineers must scale these raw digital counts into real-world Engineering Units (EU), such as pressure (PSI), temperature (°C), or flow rate (GPM).
The Linear Scaling Formula
Scaling an analog signal is fundamentally a linear interpolation. It utilizes the standard slope-intercept form of a linear equation: y = mx + b. To calculate the Engineering Units from a raw input value, the following formula is applied:
EU = ((Raw – Rawmin) / (Rawmax – Rawmin)) × (EUmax – EUmin) + EUmin
Variable Definitions:
- Raw: The instantaneous digital value received from the PLC’s analog input card.
- Rawmin / Rawmax: The digital values corresponding to 4mA and 20mA, respectively. These values depend entirely on the PLC manufacturer and module resolution. For instance, Siemens S7-1200/1500 typically uses 0 to 27648, while some Allen-Bradley modules use 3277 to 16384 or 0 to 32767.
- EUmin / EUmax: The physical, real-world values representing the sensor’s minimum (4mA) and maximum (20mA) calibrated range (e.g., a pressure transmitter calibrated from 0 PSI to 150 PSI).
Implementation Methods in Modern PLCs
While manual calculation of the slope (m) and offset (b) is possible, most modern PLC platforms offer built-in instructions to streamline this process and reduce arithmetic errors.
Siemens (TIA Portal)
In the Siemens ecosystem, scaling is typically achieved using a combination of two instructions: NORM_X and SCALE_X.
- NORM_X (Normalize): Converts the raw integer input (e.g., 0 to 27648) into a normalized floating-point value between 0.0 and 1.0.
- SCALE_X (Scale): Takes the normalized 0.0 to 1.0 value and scales it to the desired engineering unit range (e.g., 0.0 to 150.0 PSI).
Allen-Bradley (Studio 5000 / RSLogix 500)
Rockwell Automation provides specific instructions depending on the platform:
- SCP (Scale with Parameters): Common in RSLogix 500, this single instruction handles the entire linear conversion by specifying the input min/max and scaled min/max.
- CPT (Compute): In Studio 5000 (Logix Designer), engineers often use the CPT block to manually input the linear scaling formula, or utilize custom Add-On Instructions (AOIs) designed for analog scaling.
Best Practices for Analog Scaling
To ensure robust and reliable control systems, engineers should implement the following best practices:
- Fault Detection: The 4-20mA standard inherently allows for wire-break detection. If the current drops below 4mA (typically < 3.6mA is considered a fault) or exceeds 20mA (e.g., > 21mA), the PLC logic should flag a sensor fault and trigger appropriate alarms or failsafe routines.
- Signal Clamping: Implement logic to “clamp” or limit the scaled output to the EUmin and EUmax bounds. This prevents minor signal drifts (e.g., reading 3.9mA) from resulting in negative or out-of-range engineering values that could disrupt PID loops or confuse operators.
- Datasheet Verification: Always verify the analog input module’s datasheet. Not all modules from the same manufacturer share the same raw digital range. A 12-bit ADC will have a different maximum count than a 16-bit ADC.