Standard PLC Raw Count Ranges by Platform
Every analog input module converts an electrical signal (4–20 mA, 0–10 V, RTD) into a digital integer via an analog-to-digital converter (ADC). Different PLC manufacturers map the same physical electrical span to completely different raw integer registers.
| PLC Platform & Module | Configured Electrical Range | Raw Counts @ Min (4 mA / 0 V) | Raw Counts @ Max (20 mA / 10 V) | Diagnostic Under/Overflow |
|---|---|---|---|---|
| Siemens S7-1200 / S7-1500 | 4–20 mA or 0–10 V | 0 | 27,648 | Underrange: -4,864 | Overrange: 32,511 |
| Siemens S7-300 / S7-400 | 4–20 mA or 0–10 V | 0 | 27,648 | Underflow: < -4,864 | Overflow: > 32,767 |
| Rockwell ControlLogix (1756-IF8) | 4–20 mA (Engineering Units) | 4,000 | 20,000 | Configurable alarm clamps in module profile |
| Rockwell ControlLogix / CompactLogix | 4–20 mA (High Resolution) | 0 | 32,767 | Raw signed 16-bit integer boundary |
| Rockwell MicroLogix / Micro800 | 4–20 mA or 0–10 V (12-bit) | 0 | 4,095 | 12-bit native DAC register limit |
| Schneider Modicon (M340 / M580) | 4–20 mA standard | 0 (or 4,000) | 10,000 | Normalized 0.01% resolution format |
| Omron CJ2 / CS1 / NX Series | 4–20 mA unipolar | 0 | 4,000 (or 8,000) | Configurable binary resolution mode |
Linear Scaling Equations & Math
Linear analog scaling translates an input integer register into a floating-point real engineering variable. The calculation relies on the two-point linear equation:
Engineering_Value = EU_Min + ((Raw_Input - Raw_Min) / (Raw_Max - Raw_Min)) * (EU_Max - EU_Min)
To reverse calculate what raw count you should expect at a specific process value (for testing software simulation rungs):
Expected_Raw_Counts = Raw_Min + ((Process_Target - EU_Min) / (EU_Max - EU_Min)) * (Raw_Max - Raw_Min)
Three Common PLC Scaling Traps in Field Commissioning
1. The 0–20 mA Hardware Channel Blind Spot
If an analog input card is physically configured in software for 0–20 mA, but connected to a 4–20 mA field transmitter, 4.0 mA corresponds to 20% of the raw count span (e.g., 5,530 counts in Siemens). Programmers often mask this error by simply setting Raw_Min = 5530 in ladder logic. When a field wire breaks, the loop current drops to 0.0 mA (0 counts). Because the channel is configured for 0–20 mA, the module does not flag an open-wire fault—instead reporting an erroneous sub-zero process measurement. Always configure the channel hardware parameters for 4–20 mA.
2. Integer Division Truncation
When implementing the scaling equation in structured text or ladder logic, executing (Raw_Input - Raw_Min) / (Raw_Max - Raw_Min) using integer variables will cause the division to truncate to zero for all inputs below full span. Always convert integer raw counts to floating-point (REAL) data types before performing division.
3. Non-Linear Processes (Tanks & Orifice Plates)
A linear scaling formula assumes a direct linear proportional relationship between signal and process value. Do not use linear scaling blocks for horizontal cylindrical tanks (which require polynomial strapping tables) or differential pressure flowmeters (which require square root extraction).
Related Field Guides & Troubleshooting
Explore step-by-step field diagnostic procedures for analog loops and PLC modules: