Siemens PLC · NORM_X / SCALE_X · WinCC Trends

Analog Scaling in Siemens PLC & Building Real-Time Trends in WinCC

Convert raw analog input data into engineering units in the PLC, then carry the validated value into WinCC for live visualization, historical logging and trend analysis.

NORM_X & SCALE_X Engineering-unit validation WinCC Tag Logging Real-time & historical trends

Learning Overview

Part 1: PLC analog scalingPart 2: WinCC acquisition & archivePart 3: Trend commissioningEstimated time: 140 minutes

Prerequisites / What You’ll Need

  • TIA Portal with S7-1200/S7-1500 or compatible test project
  • Configured analog input channel or simulated raw value
  • WinCC connection to the PLC
  • Known transmitter engineering range and module measuring range
Engineering rule

Scale the physical signal once, preferably in the PLC, and expose a named engineering-unit value to WinCC. Avoid repeating different scaling formulas in PLC, HMI scripts and reports.

  • Confirm the analog module measuring range before assuming a raw range.
  • Use NORM_X to normalize the configured raw span and SCALE_X to convert it to engineering units.
  • Trend the engineering value, not an unexplained raw count, unless raw diagnostics are intentionally required.
  • Choose archive cycle based on process dynamics and reporting need, not the fastest possible interval.

Practical WinCC Engineering Guide

This technical guide focuses on NORM_X SCALE_X, analog scaling Siemens PLC and hands-on Siemens PLC / SCADA commissioning practices.

1. Analog Signal Path: Sensor → PLC → WinCC

The complete path is Transmitter → Analog Input Module → Raw PLC Value → Normalized Value → Engineering Unit → WinCC Tag → Archive → Trend. Each stage should have a documented range. If the transmitter is 0–100 °C, the SCADA engineer should not have to guess what a raw value such as 13824 means.

2. Confirm Raw Range and Module Configuration

Many Siemens analog examples use a nominal raw range of 0…27648 for a unipolar configured measuring range. However, diagnostic overrange/underrange behavior and exact representation depend on the module and selected range. Always check the hardware configuration and module documentation for the channel you are commissioning.

Do not hard-code 27648 blindly. The scaling constants must match the configured channel range and signal type.

3. Normalize the Raw Value with NORM_X

NORM_X converts a value between a defined minimum and maximum into a normalized REAL value, typically 0.0 to 1.0 for an in-range signal.

// Example: raw input represented from 0 to 27648
#Normalized := NORM_X(
    MIN   := 0,
    VALUE := #AI_Raw,
    MAX   := 27648
);

Monitor the normalized value online. At approximately half scale, it should be close to 0.5. If it is negative or above 1.0 under normal conditions, verify wiring, measuring range and constants before continuing.

4. Convert to Engineering Units with SCALE_X

SCALE_X maps the normalized value to the required engineering range. For a 0–100 °C process:

#Temp_C := SCALE_X(
    MIN   := 0.0,
    VALUE := #Normalized,
    MAX   := 100.0
);

For a pressure transmitter of 0–16 bar, change the engineering limits to 0.0 and 16.0. Keep the engineering unit in the tag name or documentation so a later SCADA/report engineer does not misinterpret the number.

5. Add Validation, Limits and Signal Fault Handling

Scaling is only one part of analog engineering. Add plausibility checks and decide what WinCC should display if the input channel reports a diagnostic condition.

#AI_Valid := (#AI_Raw >= #RawValidMin) AND (#AI_Raw <= #RawValidMax);

IF #AI_Valid THEN
    #Temp_QualityOK := TRUE;
    #Temp_PV := SCALE_X(MIN := 0.0, VALUE := #Normalized, MAX := 100.0);
ELSE
    #Temp_QualityOK := FALSE;
END_IF;

The exact diagnostic strategy should use the module status available in your hardware. The key point is to expose a separate quality/validity status instead of silently presenting a faulty signal as a believable process value.

6. Map the Engineering Value to WinCC

Create a WinCC process tag mapped to the final engineering value, such as Furnace.Temp_PV_C, and if useful a second Boolean such as Furnace.Temp_QualityOK. Use the engineering tag for numeric displays, alarms and trends.

WinCC tagPurposeArchive?
Temp_PV_CActual process temperatureYes
Temp_SP_COperator/process setpointOften yes
Temp_QualityOKSignal validityEvent/diagnostic as required
AI_RawRaw diagnostic valueUsually no, unless troubleshooting requires it

7. Configure WinCC Tag Logging / Historical Acquisition

In WinCC Classic, historical process values are configured through Tag Logging archives. In TIA-integrated WinCC products, configure historical tags/archive acquisition using the tools available in that generation. Define the acquisition mode and cycle from process requirements.

  • Fast-changing motion/process loops may need sub-second or short-cycle visualization.
  • Slow furnace temperature may be adequately archived every few seconds.
  • Production reports may use event-based or longer-cycle values.
  • Do not archive every tag at the fastest rate “just in case”.

8. Build the Real-Time Trend in WinCC

  1. Insert the appropriate trend control on a diagnostic/process screen.
  2. Add Temp_PV_C as the primary pen.
  3. Add Temp_SP_C as a second pen for setpoint comparison.
  4. Select online/live or archived data source as required.
  5. Configure Y-axis engineering range and units.
  6. Choose a meaningful time window.
  7. Verify cursor/readout functions for commissioning.

A useful trend tells a process story. For temperature control, plotting PV and SP together is more valuable than plotting PV alone.

9. Sampling, Archive Size and Performance

Archive load is approximately proportional to tag count and acquisition frequency. A 250 ms archive cycle generates four samples per second per tag, while a 5 s cycle generates one sample every five seconds. Choose the cycle from process dynamics, investigation needs and retention requirements.

Good practice

Use a fast live display where needed, but do not assume the historical archive must use the same frequency. Separate operator visualization needs from long-term historian/reporting requirements.

10. Troubleshooting Analog Scaling and WinCC Trends

SymptomLikely causeCheck
PV always 0Raw input/connection issuePLC online raw value and channel diagnostics
PV wrong by constant factorWrong engineering rangeSCALE_X MIN/MAX
PV reaches only part of rangeWrong raw span/module rangeChannel configuration and NORM_X limits
WinCC value correct, trend emptyArchive/pen configuration issueHistorical tag, acquisition, time range
Trend has excessive dataArchive cycle too fastProcess dynamics vs logging frequency

11. Hands-On Lab: Temperature PV + SP Trend

Simulate a raw value from 0 to 27648, scale it to 0–100 °C with NORM_X and SCALE_X, map the engineering value to WinCC, archive PV and SP, and display both on a trend. Step the setpoint and observe process response.

Siemens Analog Scaling + WinCC Trend Lab

Hands-on lab
Before you start
  • Use a training or test system, not a live production plant.
  • Document the starting PLC/WinCC state and expected result.
  • Verify communication and backups before applying engineering changes.
1

Verify raw signal

Monitor the analog raw input and channel status.

Raw value follows the simulated/physical signal.
2

Scale in PLC

Apply NORM_X and SCALE_X using documented ranges.

Engineering value matches reference points.
3

Archive in WinCC

Create historical acquisition for PV and SP.

Archive receives time-stamped values.
4

Commission the trend

Plot PV and SP with correct units/time range.

Trend clearly shows process response and setpoint changes.

Lab Manual: From Transmitter to WinCC Trend in Six Stages

This lab turns the sections above into the six-stage pattern of the series, with the scaling written in both ladder and SCL.

Lab manual flow: field input to tested HMI screenSix stages: field device and PLC tag, input mapping to DB_IO, PLC logic, HMI tags, graphics linking, and perform and test.1Field + tags%IW114 PT6014–20 mA2Input mappingNORM_X / SCALE_X→ DB_IO bar3Logicvalidity, limitLAD + SCL4WinCC tagsReal, symbolicS7-1500 channel5Tag Loggingarchive, trendOnlineTrendControl6Perform + testSimulatorbreak, limitAddress rule for every lesson: %I only in FC_InputMapping, %Q only in FC_OutputMapping, symbolic DB members everywhere else – including the HMI.
Six-stage lab flow used in every lesson of the Softwell lab manual series.

Stage 1 – Field wiring and PLC tag

PLC tagAddressTypeDevice / comment
PT601_Raw%IW114IntPressure 4–20 mA = 0 – 16 bar, wire-break diagnostics on

Stage 2 – Input mapping and scaling in ladder and SCL

Ladder network: NORM_X and SCALE_X boxes for PT601Network 1 — PT601: raw → NORM_X → SCALE_X → "DB_IO".PT601_bar (only when the signal is valid)Network 1 — PT601: raw → NORM_X → SCALE_X → "DB_IO".PT601_bar (only when the signal is valid)PT601_Valid"DB_IO"NORM_X Int→RealMIN := 0VALUE := "PT601_Raw"MAX := 27648OUT → #normSCALE_X Real→RealMIN := 0.0VALUE := #normMAX := 16.0OUT → "DB_IO".PT601_bar
Ladder: NORM_X and SCALE_X boxes, enabled only for a valid signal.

The same in SCL:

// FC_InputMapping – SCL equivalent of the ladder network
"DB_IO".PT601_Valid := "PT601_Raw" >= -4864 AND "PT601_Raw" <= 32511;
IF "DB_IO".PT601_Valid THEN
    "DB_IO".PT601_bar := SCALE_X(MIN := 0.0, MAX := 16.0,
                         VALUE := NORM_X(MIN := 0, VALUE := "PT601_Raw", MAX := 27648));
END_IF;
"DB_Alarm".PT601_High := "DB_IO".PT601_Valid AND "DB_IO".PT601_bar > 12.0;   // limit also usable in WinCC

Stage 3 – Logic: validity and limit

The validity bit stops a wire break from being archived as 0 bar, and the limit bit can feed the PLC alarm word – see WinCC alarm management. Analog scaling theory: PLC analog input scaling.

Stage 4 – Link PLC tags to WinCC

In Tag Management add the SIMATIC S7-1200, S7-1500 Channel, create a connection with the CPU IP address, then use AS Symbols to load the PLC symbols and drag the DB members you need into a tag group. The DB members must have Accessible from HMI ticked in TIA Portal. Names and menus can differ slightly between WinCC versions.

WinCC tagData typeConnection / addressUsed by
DB_IO_PT601_barFloating-point 32-bitsymbolicArchive PVA_Pressure, I/O field
DB_IO_PT601_ValidBinarysymbolicQuality display

Stage 5 – Tag Logging and trend graphics

Create process value archive PVA_Pressure with acquisition 1 s and archiving 2 s (mean), place a WinCC OnlineTrendControl on Pressure.pdl with the archived tag, a fixed 0 – 16 bar value axis and a limit line at 12 bar. Cycle and compression choices are compared in WinCC Tag Logging and trends.

Stage 6Perform and Test: Scaled Pressure into a WinCC Trend

Move the 4–20 mA signal, change the WinCC archiving cycle and break the wire. The PLC scales and validates; WinCC archives and draws only valid engineering values.

Transmitter and PLC
WinCC Runtime · OnlineTrendControl
Pressure.pdlPVA_Pressure
RawPT601

Frequently Asked Questions

What do NORM_X and SCALE_X do in Siemens PLCs?

NORM_X converts a value from a defined raw range into a normalized value. SCALE_X converts that normalized value into the required engineering range.

Is 0 to 27648 always the Siemens analog raw range?

No. It is a common nominal example for certain configured ranges. Confirm the actual module and measuring-range representation before using scaling constants.

Should WinCC trend the raw value or engineering value?

Normally trend the validated engineering-unit value. Archive raw data only when it has a defined diagnostic purpose.

Why does my WinCC trend show no historical data?

Check historical tag configuration, acquisition cycle, Runtime archive activation, pen data source and selected time range.

Should the WinCC archive cycle equal the PLC scan time?

No. Archive frequency should be based on process dynamics and analysis requirements, not the PLC scan cycle.

Verified learning pathway

Discuss SQL Fundamentals and Automation Training

Explore practical SQL Server, PLC/SCADA integration and industrial data training options.

Content reviewed: 4 August 2026

☎ Call WhatsApp ✉ Email Enquire Now