BLOG / PLC

S7-1200/1500 Analog Scaling Explained: Why 27648, and How to Convert 4–20 mA Correctly

15 Temmuz 2026 S7-1500TIA PortalAnalog4-20mA

If you have ever wired a pressure transmitter to an S7 analog input and wondered why your raw value tops out at 27648 instead of a nice round number, this post is for you.

Where 27648 comes from

Siemens analog input modules convert the electrical signal to a 16-bit integer. The nominal measuring range is mapped to 0…27648 (unipolar, e.g. 0–10 V or 4–20 mA) or −27648…+27648 (bipolar, e.g. ±10 V). The value 27648 = 0x6C00 leaves headroom above the nominal range: the module can report up to 32511 as overrange before flagging a fault at 32767. That headroom is why the scale isn’t simply 0…32767 — Siemens reserves the top band for diagnostics.

SignalRaw valueMeaning
4 mA0Range start
20 mA27648Range end
> 20 mA27649…32511Overrange (still measurable)
~≥ 22.8 mA32767 (16#7FFF)Fault / wire break value
< 4 mA−1…−4864Underrange
~≤ 1.2 mA−32768Wire break (with diagnostics enabled)

The standard scaling pattern in TIA Portal

The classic two-step recipe uses the built-in instructions:

NORM_X : raw (0…27648)  →  normalized REAL (0.0…1.0)
SCALE_X: normalized     →  engineering units (MIN…MAX)

For a 0–16 bar transmitter on a 4–20 mA input:

#norm  := NORM_X(MIN := 0, VALUE := #rawInput, MAX := 27648);
#value := SCALE_X(MIN := 0.0, VALUE := #norm, MAX := 16.0); // bar

Two practical notes field experience keeps re-teaching:

  1. Clamp or alarm on out-of-range raw values before scaling. A broken wire reads 32767, which scales to ~18.96 bar on our 16-bar example — a value that looks plausible to an operator. Compare the raw value against 27648 + margin and raise a sensor fault instead of displaying fiction.
  2. Do the reverse for analog outputs. The same pair in the opposite order (NORM_X on engineering units, SCALE_X to 0…27648) drives a 4–20 mA output. Don’t hand-roll the math with magic numbers scattered through the block — one library FC for scaling, reused everywhere, keeps commissioning sane.

When you need an offset live zero

Some legacy transmitters are 0–20 mA. On the wiring side they look identical, but 4 mA of “live zero” is what lets the PLC distinguish zero pressure from dead sensor. If you have the choice when specifying instruments: always 4–20 mA. The diagnostic value alone pays for itself the first night shift a cable gets crushed.

FAQ

Why does my raw value sit around −4864 with nothing connected? That’s the underrange limit for a 4–20 mA input at 0 mA — the module is telling you no current is flowing. With channel diagnostics enabled you’ll also get a wire-break event.

Does the same scaling apply to S7-300/400? Yes — 27648 has been the Siemens nominal span since the S7-300 era. The older FC105 SCALE from the Standard Library implements the same math that NORM_X/SCALE_X do in TIA Portal.

What about high-precision inputs? HF/HS modules still use the same nominal span; resolution changes, the mapping doesn’t.


Zone Otomasyon designs and commissions Siemens control systems for industrial lines and vessels. Stuck on a scaling or sensor-diagnostics problem? Ask us — first response is usually same-day.