Field context: Pt100 RTD inputs land on a Siemens PLC through one of two paths — a dedicated Siemens RTD signal module that converts the ohmic resistance directly into a digital raw value, or a third-party transmitter that linearises the sensor into a 4–20 mA loop and feeds a standard analogue input. Each path has different wiring rules, different error budgets, and different scaling math. This reference covers the direct-RTD path in depth because it is the path commissioning engineers use when tight accuracy, low noise, and IEC 60751 traceability matter.
Pt100 Operating Principle and IEC 60751 Characteristics
The Pt100 is a platinum resistance temperature detector with a nominal resistance of 100.00 Ω at 0 °C. The temperature-to-resistance curve is defined by IEC 60751, which specifies a temperature coefficient of resistance (TCR) of 0.003851 Ω/Ω/°C (the "385" curve). Above 0 °C the resistance grows almost linearly; below 0 °C the curve has a slight quadratic bow but is still close to linear over the typical industrial span.
Reference resistance table
| Temperature (°C) | Resistance (Ω) | Notes |
|---|---|---|
| -50 | 80.31 | Lower limit, Class B industrial probes |
| -20 | 92.16 | Cold-store / chilled-water |
| 0 | 100.00 | Calibration point |
| 25 | 109.73 | Typical ambient |
| 100 | 138.51 | Hot water / sterilisation |
| 200 | 175.86 | Steam / bearing housings |
| 400 | 247.09 | Process heaters |
| 600 | 313.71 | Upper end of class-A element capability |
For field cross-checks, the Fluke PT100 calculator generates the full callendar-Van Dusen table for any temperature in the IEC 60751 span.
IEC 60751 tolerance classes
| Class | Tolerance (°C) | Typical application |
|---|---|---|
| AA (1/3 DIN) | ±(0.10 + 0.0017|t|) | Laboratory, calibration reference |
| A | ±(0.15 + 0.002|t|) | Process control, HVAC fine loops |
| B | ±(0.30 + 0.005|t|) | General industrial (most stocked probes) |
| C | ±(0.60 + 0.010|t|) | Non-critical indication |
Siemens Module Selection by PLC Family
Each Siemens PLC family has at least one dedicated RTD signal module. These modules contain an internal constant-current source that excites the Pt100 and an ADC that linearises the ohm reading into a 16-bit integer that is placed into the process image. There is no external transmitter in this path.
Direct-RTD module catalogue
| PLC family | Module | MLFB / part number | Channels | Wiring | Resolution |
|---|---|---|---|---|---|
| S7-200 | EM 231 RTD | 6ES7 231-7PD22-0XA0 | 2 or 4 | 2/3-wire | 0.1 °C |
| S7-300 | SM 331 | 6ES7 331-7KF02-0AB0 | 8 | 2/3/4-wire | 0.1 °C |
| S7-400 | SM 431 | 6ES7 431-7KF10-0AB0 | 8 | 2/3/4-wire | 0.1 °C |
| S7-1200 | SB 1231 RTD | 6ES7 231-5PA30-0XB0 | 1 | 2/3-wire | 0.1 °C |
| S7-1200 | SM 1231 RTD | 6ES7 231-5PD32-0XB0 | 4 | 2/3-wire | 0.1 °C |
| S7-1500 | AI 4xRTD/TC | 6ES7 531-7PF00-0AB0 | 4 | 2/3/4-wire | 0.1 °C |
Configuration manuals and module manuals are available on Siemens Industry Online Support. Search the MLFB above to retrieve the matching function manual, including the diagnostic record layout and the wiring diagrams.
Hardware Configuration in TIA Portal and STEP 7
The wiring path and the raw-value encoding are configured per channel on the module's properties dialog. Configuration differs slightly between the two tool families but the parameter names are similar.
STEP 7 (S7-300/400) configuration steps
- Open the hardware configuration (HW Config) and drag the SM module into the rack at the correct slot.
- Double-click the module and switch to the Inputs tab.
- For each channel used, set:
- Measurement type: RTD (resistance)
- Temperature coefficient: Pt 100 (385) — this selects the IEC 60751 linearisation table inside the module firmware
- Wire connection: 2-wire, 3-wire, or 4-wire per the installed probe
- Temperature unit: °C (recommended — the raw value will then read in 0.1 °C units)
- Smoothing: leave at default unless the loop is noisy; an 8-sample average is a good starting point for slow process loops
- Compile and download the hardware configuration to the CPU.
TIA Portal (S7-1200/1500) configuration steps
- Open the device view, click the RTD module, and open Properties > Analog inputs > Channels.
- Set Measurement type = Resistance temperature detector.
- Set RTD type = Pt 100 (385) climatic / standard.
- Set Wire break detection = enabled (strongly recommended — it forces the raw value to a defined overflow when the probe opens).
- Set Temperature coefficient = 0.003851.
- Set Smoothing to one of the predefined filter strengths (none / weak / medium / strong).
- Compile and download.
1000. Always select Temperature °C unless you specifically need the ohm value for calibration logging.
Sensor Wiring Topologies: 2-Wire vs 3-Wire vs 4-Wire
The wiring topology determines how lead resistance is cancelled. With long cable runs the copper leads add 2–4 Ω per conductor, which can introduce several degrees of error if not compensated. Siemens RTD modules support the three standard topologies.
Topology comparison
| Topology | Lead wires used | Lead-resistance error | Best for |
|---|---|---|---|
| 2-wire | 2 | Full lead resistance appears in measurement | Short runs (< 3 m), low accuracy |
| 3-wire | 3 | Compensated if leads are equal length and identical gauge | Most industrial applications, mid accuracy |
| 4-wire | 4 | Lead resistance fully cancelled (Kelvin measurement) | Long runs, lab-class accuracy |
SVG: 2-wire / 3-wire / 4-wire topology
For the 4-wire (Kelvin) topology, two force leads (IC+, IC-) carry the excitation current and two sense leads (M+, M-) carry virtually no current. The module measures only the voltage drop across the element, completely eliminating lead-resistance error.
Raw Value Encoding and Degree Scaling Formula
When the channel is configured for Pt 100 °C, the Siemens RTD module outputs a signed 16-bit integer with one tenth of a degree per bit (0.1 °C / LSB). The encoding follows the standard Siemens analogue-input convention.
Encoding table
| Physical input | Raw value (decimal) | Raw value (hex) |
|---|---|---|
| 0 °C | 0 | 0x0000 |
| 25.5 °C | 255 | 0x00FF |
| 100.0 °C | 1000 | 0x03E8 |
| -10.0 °C | -100 | 0xFF9C |
| Wire break / overflow | 32767 | 0x7FFF |
Scaling formula
The conversion from raw integer to engineering units is a direct division. Unlike a 4–20 mA input there is no offset, no gain to set, and no range selector — the module firmware does the linearisation.
T (°C) = RawValue ÷ 10.0
For a raw value of 255 the engineering value is 255 / 10.0 = 25.5 °C. For a raw value of -100 the result is -10.0 °C. The ÷ 10.0 (note the floating-point divisor) is what prevents the integer math from dropping the tenths digit.
SCL/ST Programming Example for Raw-to-Engineering Conversion
Strip the raw value out of the process image, perform the scaling, and push the result to a tag that the rest of the program can read. The block below is structured text that compiles on S7-1200, S7-1500, and S7-300/400 (with minor syntax adjustment for the latter two).
// SCL — Function block: PT100_Scale
// Inputs: iRaw (INT), iWireBreakBypass (BOOL)
// Output: rTemperature (REAL), bFault (BOOL)
#bFault := FALSE;
IF #iWireBreakBypass = FALSE AND #iRaw = 32767 THEN
#bFault := TRUE;
#rTemperature := 0.0;
RETURN;
END_IF;
// Sign-extend to 32 bits before dividing to keep negative values correct
#rTemperature := INT_TO_REAL(#iRaw) / 10.0;
For STEP 7 V5.x on the S7-300/400 the equivalent ladder rung is:
// Network 1 — read PT100 raw from PIW and convert
L PIW 304 // SM 331 channel 0, slot 4
ITD // integer to double integer
DTR // double integer to real
L 1.000000e+001 // divisor = 10.0
/R // real division
T MD 100 // engineering value, 0.1 °C units → °C
// Network 2 — wire-break detection
L PIW 304
L 32767 // overflow constant
==I
= M 10.0 // fault flag
Putting it into a Cyclic OB
- Call
PT100_Scalefrom OB1 (S7-300/400) or Main (S7-1200/1500) unconditionally. - Wire
iRawto the corresponding%IWtag (e.g.IW64for the first SM 331 channel in slot 4). - Route the resulting
rTemperatureinto a global DB tag (DB1.PT100_01_DEG_C) so HMI, alarms, and the controller block all read the same scaled value. - Pass
bFaultinto a standardCTRL_PIDor alarm block so a wire-break event shuts down the loop or raises an HMI fault page.
Alternative Path: 4–20 mA Transmitters and External Converters
Where the cable run is long (more than ~50 m), where there is significant electrical noise, or where the same probe feeds multiple instruments, an in-head transmitter such as a Weidmüller ACT20P, Phoenix Contact MINI MCR, or WAGO 857 is normally installed. The transmitter linearises the ohm value into a 4–20 mA loop, and a standard Siemens analogue input (SM 331 AI, SB 1231 AI, AI 8 of the S7-1500) reads the loop.
Transmitter scaling formula
T (°C) = ((RawValue − 0) / 27648) × (Tmax − Tmin) + Tmin
Example: Pt100 with 4–20 mA transmitter set to 0–200 °C
| Process temperature | Loop current | Raw integer (4–20 mA on ±20 mA range) | Engineering value |
|---|---|---|---|
| 0 °C | 4.000 mA | 0 | 0.0 °C |
| 50 °C | 8.000 mA | 6912 | 50.0 °C |
| 100 °C | 12.000 mA | 13824 | 100.0 °C |
| 150 °C | 16.000 mA | 20736 | 150.0 °C |
| 200 °C | 20.000 mA | 27648 | 200.0 °C |
| Open loop | ~0 mA | -32768 or <0 | Fault |
Note that this path is not the same as the direct-RTD path. The raw-to-degree scaling is a two-step process: raw → % of span → °C, and the constants depend entirely on how the transmitter was ranged. Get those numbers wrong and the controller will read -50 °C at 100 °C actual.
SCL block for 4–20 mA transmitter
// SCL — Function block: PT100_mA_Scale
// Inputs: iRaw (INT), rTmin (REAL), rTmax (REAL)
// Output: rTemperature (REAL), bFault (BOOL)
#bFault := FALSE;
IF #iRaw < 0 OR #iRaw = 32767 THEN
#bFault := TRUE;
#rTemperature := 0.0;
RETURN;
END_IF;
#rTemperature := (INT_TO_REAL(#iRaw) / 27648.0)
* (#rTmax - #rTmin) + #rTmin;
Diagnostics, Fault LEDs, and Error Codes
Siemens RTD modules set channel-level diagnostic flags when the probe wiring is compromised. The exact flag name varies by family but the underlying conditions are consistent.
Diagnostic event mapping
| Fault | Typical cause | Module reaction | Raw value |
|---|---|---|---|
| Wire break | Probe lead broken, terminal loose | Channel fault LED + diagnostic interrupt (if enabled) |
32767 (overflow) |
| Short circuit | Probe element shorted, cable pinched | Channel fault LED + diagnostic interrupt |
-32768 (underflow) |
| Over-range | Temperature above configured limit | Overflow flag set in PIW | 32767 |
| Under-range | Temperature below configured limit | Underflow flag set in PIW | -32768 |
| Configuration mismatch | Hardware config in PG differs from plugged module | Module SF LED on; CPU goes STOP | — |
| No excitation current | Constant-current source failed (rare) | All channels read zero or drift | ≈0 across all channels |
Diagnostic interrupts are evaluated in the module's diagnostic FB. On S7-300/400 the block is OB82 (diagnostic interrupt OB); on S7-1200/1500 the diagnostic event is surfaced through Diagnostics instructions or via GET_DIAG.
32767). A short circuit produces a negative overflow (-32768). When writing HMI scripts, treat anything outside -30000 … +30000 as a probe fault and replace with a dashed display rather than a numeric value.
Commissioning and Verification Procedure
After hardware configuration is downloaded, walk through the following sequence before handing the loop to operations. Each step has a pass criterion that must be met before moving on.
Pre-power checks
- Verify the probe MLFB and class match the design specification.
- Confirm wiring topology in the panel matches the channel configuration (2/3/4-wire).
- With the module powered down, measure the resistance at the terminals with a calibrated ohmmeter; compare to the IEC 60751 table at ambient.
- Verify shield is grounded at one end only — typically at the cabinet ground bar, not at the probe.
Live commissioning
- Power the rack. Confirm the channel fault LED is off and the SF LED on the module is off.
- Force the input on a watchdog tag to the raw value of
0and observe the scaled reading — it must display exactly 0.0 °C. - Apply a calibration source (a decade box or a calibrator such as the Fluke 754) to the terminals at 100.00 Ω; the scaled reading must display
0.0 °C ± 0.1 °C. - Apply 138.51 Ω; the reading must display
100.0 °C ± 0.1 °C. - If the readings are off, check whether the module is set to °C or °F (a 1.8× error usually means °F is active).
- Apply
Open(simulate wire break); the raw value must read32767and the fault flag must set. - Apply
Short(simulate short circuit); the raw value must read-32768and the fault flag must set.
End-to-end verification
- From HMI, observe the live temperature trace for at least 10 minutes. Drift greater than ±0.2 °C indicates noise — increase the module's smoothing filter or check for VFD-bearing cables running parallel to the probe lead.
- Trigger a controlled temperature change (e.g. ice-bath to boiling-water bath) and confirm the reading tracks the expected curve.
- Sign the calibration record with date, ambient, source values, and observed values.
Troubleshooting Matrix
| Symptom | Probable cause | Diagnostic step | Remedy |
|---|---|---|---|
| Reading stuck at 0.0 °C | Raw value = 0; module configured for °F but loop is in °C, or wrong channel being read | Inspect the PIW value in the watch table | Switch module to °C, or remap the PIW to the correct channel |
| Reading always -10 °C to -20 °C | Wire break on 3-wire M- lead, or module in 4-wire mode with only 3 wires connected | Read raw value; 32767 indicates open circuit on a properly configured 4-wire channel | Switch channel configuration to 3-wire and rewire accordingly |
| Reading drifts with cable movement | Loose terminal, broken conductor inside insulation, or shared cable tray with VFD | Wiggle test at the terminals; observe raw value with chart recorder | Re-terminate, replace probe, or reroute cable away from VFD and use shielded twisted pair |
| Reading +3 °C high at 100 °C actual | 2-wire connection but long leads | Verify wiring topology in HW Config | Switch to 3-wire and re-pull cable, or use 4-wire |
| Reading fluctuates ±0.5 °C continuously | Noise pickup, smoothing off, or 50/60 Hz mains pickup | Check smoothing setting; check shield termination | Set smoothing to medium; ground shield at cabinet end only; route probe cable in its own conduit |
| Reading inverted (high temperature shows low) | Compensation leads swapped (3-wire) or sense leads reversed (4-wire) | Compare IC+, M+, M- terminal assignments to the manual wiring diagram | Reconnect leads per the manual diagram for the specific MLFB |
| Reading +1.8× expected value | Channel in °F while reading in °C | Verify temperature unit in HW Config / TIA Portal channel properties | Change unit to °C |
| Channel shows 32767 immediately after start-up | Probe not yet connected, or wire break | Inspect terminal block | Connect probe, verify screw torque |
| All channels read zero | Module not fully seated, or backplane bus error | Check module SF LED; reseat module | Re-seat module, power cycle, replace if SF persists |
Field-Proven Caveats and Best Practices
- Always enable wire-break detection. It costs nothing in CPU scan time and turns a hidden failure mode into a controlled alarm.
- Specify the probe class to match the process. A class-B Pt100 is fine for HVAC; a class-A Pt100 is required for sterilisers and CIP loops.
- Use shielded, twisted-pair probe cable for any run longer than 5 m. Ground the shield at the cabinet end only.
- Keep probe cable at least 200 mm away from VFD output cables. VFD common-mode noise easily injects several ohms into a long probe lead, producing temperature swings of several degrees.
- Avoid the 2-wire topology in production. Use it only for bench-test setups where lead length is negligible.
- Use a transmitter when the run exceeds 50 m or when multiple instruments must read the same probe.
- Validate the scaling constant against a known reference before turning the loop to auto. A wrong scaling direction (inverted) is the single most common commissioning bug.
- Document the channel assignment and the probe MLFB on the panel drawing. Six months later nobody remembers which PIW goes to which thermowell.
- Use 3-wire at minimum, 4-wire for any loop tighter than ±1.0 °C. Class A probes are wasted if the lead resistance is not cancelled.
Frequently Asked Questions
What raw value represents 0.0 °C on a Siemens RTD module?
A raw value of 0 represents 0.0 °C when the channel is configured for Pt 100 °C. The encoding is 0.1 °C per LSB, so 255 = 25.5 °C, 1000 = 100.0 °C, and -100 = -10.0 °C. A value of 32767 indicates wire break or over-range.
Do I need a separate transmitter for a Pt100 on a Siemens S7-1200?
No. The S7-1200 SM 1231 RTD (6ES7 231-5PD32-0XB0) and SB 1231 RTD (6ES7 231-5PA30-0XB0) read Pt100 sensors directly with 0.1 °C resolution. A 4–20 mA transmitter is only required when the cable run is long, the environment is electrically noisy, or multiple instruments share the probe.
Why is my Pt100 reading several degrees high at process temperature?
The most common cause is uncompensated lead resistance on a 2-wire connection. Each metre of 24 AWG copper lead adds about 0.08 Ω, which is roughly 0.21 °C. Switch the channel configuration to 3-wire and rewire, or use 4-wire for runs longer than 10 m.
Can I mix Pt100 and Pt1000 probes on the same Siemens RTD module?
Yes, on modules that support both types (SM 331 6ES7 331-7KF02-0AB0, SM 431 6ES7 431-7KF10-0AB0, and the S7-1500 AI 4xRTD/TC). The channel configuration is set per channel, so different probe types can coexist on the same module as long as each channel is configured for its specific RTD type.
How do I detect a Pt100 wire break in the PLC program?
Read the raw input word and compare it to 32767 (overflow). When wire-break detection is enabled on the channel, an open circuit forces the raw value to 32767 and sets the channel diagnostic flag. A short circuit produces -32768. Treat both as a probe fault and apply de-bounce if your alarm logic would otherwise chatter.
What is the difference between a Pt100 climatic range probe and a standard industrial probe?
A climatic-range probe typically covers -50 °C to +200 °C with class A tolerance, while a standard industrial probe covers the same span but with class B tolerance. For HVAC, building automation, and outdoor weather stations a climatic-range probe is preferred; for general process loops a class B industrial probe is acceptable.