S7-1500 NTC Thermistor Input: Module Selection Guide
Direct connection of NTC thermistors to a SIMATIC S7-1500 PLC requires an analog input (AI) module that supports resistance measurement in the full range of the sensor's cold-to-hot curve. For a 6ES7511-1AK02-0AB0 CPU 1511 system, the AI 8xU/I/R/RTD/TC family is the correct target family. This guide covers the three S7-1500 AI module variants that can read NTC resistance, the resistance measurement ranges they actually support, the LGF_NonLinearInterpolation function for converting resistance to temperature, and the engineering constraints that appear when an NTC cold resistance exceeds the module's measurement range.
1. Problem Definition: NTC Resistance Exceeds Standard RTD Range
An NTC thermistor is a non-linear resistive sensor. Its resistance decreases as temperature increases. The Steinhart-Hart equation or a B-parameter equation models the curve:
1/T = 1/T0 + (1/B) * ln(R / R0)
Where:
- T = absolute temperature (K)
- T0 = reference temperature (typically 298.15 K / 25 °C)
- B = beta constant of the NTC (e.g., 3950 K)
- R = resistance at temperature T (Ω)
- R0 = resistance at reference temperature (Ω)
For the application described in the source thread, the relevant curve points are:
| Temperature (°C) | NTC Resistance (Ω) | Notes |
|---|---|---|
| -5 | 55,390 | Cold end of operating window |
| 0 | 32,560 | Approximate |
| 25 | 10,000 | Typical R25 for 10k NTC |
| 50 | 3,602 | Approximate |
| 75 | 1,479 | Approximate |
| 100 | 678 | Approximate |
| 130 | 300.9 | Hot end of operating window |
2. Prerequisites
Before starting the implementation, verify the following items:
- CPU: 6ES7511-1AK02-0AB0 (CPU 1511-1 PN) with firmware 2.0 or later. TIA Portal V15.1 or higher is required for the LGF library referenced below. Confirm the firmware in the device properties of the CPU.
- AI module slot: A free slot in the S7-1500 backplane. The AI 8xU/I/R/RTD/TC HF (6ES7531-7PF00-0AB0) requires a backplane with the appropriate front connector (push-in or screw-type).
- Front connector: 6ES7592-1AM00-0XB0 (screw-type) or 6ES7592-1BM00-0XB0 (push-in) for the AI 8 module.
- STEP 7 / TIA Portal: V16 or V17 for current LGF releases. Earlier LGF versions are compatible with V15.1.
- LGF library: Library of General Functions (LGF) for SIMATIC S7-1200 / S7-1500. Download the latest version from the Siemens support site and integrate it as a global library in TIA Portal.
- NTC datasheet: A resistance-versus-temperature table (R/T table) with at least 10 calibrated points across the target range. Higher point density at the curve knee improves interpolation accuracy.
3. S7-1500 Analog Input Module Candidates
Three S7-1500 AI modules can measure resistance and are documented in the SIMATIC S7-1500 S7-1500/ET 200MP system manual. All three support 2-wire, 3-wire, and 4-wire connection of resistive sensors.
| MLFB | Designation | Resolution | RTD / Resistance Ranges | TC Types | Recommended Use |
|---|---|---|---|---|---|
| 6ES7531-7QF00-0AB0 | AI 8xU/I/R/RTD BA | 16 bits | 150 Ω / 300 Ω / 600 Ω / 6 kΩ | None (no TC support) | Cost-optimized, basic NTC measurement in 6 kΩ range |
| 6ES7531-7KF00-0AB0 | AI 8xU/I/RTD/TC ST | 16 bits | 150 Ω / 300 Ω / 600 Ω / 6 kΩ | Type B, E, J, K, N, R, S, T | Standard applications, supports both RTD and TC |
| 6ES7531-7PF00-0AB0 | AI 8xU/U/R/RTD/TC HF | 16 bits (with oversampling) | 150 Ω / 300 Ω / 600 Ω / 6 kΩ | Type B, E, J, K, N, R, S, T | High-feature: diagnostic, hardware interrupt, oversampling, higher accuracy |
Confirm the exact resistance ranges from the official Siemens manual before commissioning. The relevant section is the AI 8xU/I/R/RTD/TC HF module manual entry in the S7-1500/ET 200MP system manual.
Reference: SIMATIC S7-1500 / ET 200MP Manual Collection (Siemens Industry Online Support)
4. Wiring the NTC to the AI Module
For the S7-1500 AI 8xU/I/R/RTD/TC family, the channel terminal assignment is identical across all three module variants. Pin assignment on the front connector for channel n:
| Terminal | Signal | NTC Lead |
|---|---|---|
| M+ | Sense + (high) | NTC lead 1 (force +) |
| M- | Sense - (low) | NTC lead 4 (force -) |
| IC+ | Constant current + (measure +) | NTC lead 2 (sense +) |
| IC- | Constant current - (measure -) | NTC lead 3 (sense -) |
Use 4-wire (Kelvin) connection whenever the lead resistance is non-negligible compared to the NTC's hot resistance. With 300.9 Ω at 130 °C, a 0.1 Ω lead resistance is acceptable, but at lower temperatures the 55 kΩ NTC makes 2-wire and 3-wire connections a poor choice due to lead-resistance-induced error.
Configure the channel in TIA Portal as follows:
- Set Measurement type to
Resistance(4-wire). - Set Resistance range to
6000 Ωfor NTCs below 6 kΩ across the operating range, or600 Ωif the temperature window stays above ~70 °C. - Set Smoothing to "Weak" or "Medium" for fast-changing processes; "Strong" for static temperature monitoring.
- Enable Diagnostics on the channel if wire-break detection is required.
5. Handling NTCs Above 6 kΩ
Because the S7-1500 AI module ceiling is 6 kΩ, the cold half of the 55 kΩ NTC curve cannot be read directly. The following three approaches solve this in practice.
5.1 Approach A: External resistance-to-current transmitter
Install a temperature transmitter at the NTC head that converts the NTC curve to a linearized 4–20 mA signal. The S7-1500 AI 8xI module (or any AI 8xU/I/R/RTD module configured for current) reads the 4–20 mA. The transmitter handles non-linearization.
Examples include:
- SIPART PS2 (6DR55xx) with NTC input option
- SITRANS TH100 / TH200 / TH300 / TH400 (7NG3x) for head-mounted NTC transmitters
5.2 Approach B: Voltage divider + voltage input
Place a precision reference resistor in series with the NTC and energize the divider with a stable excitation. Read the midpoint voltage with an AI module configured for voltage (0–10 V range).
For the 55 kΩ NTC, a reference resistor in the 10 kΩ to 50 kΩ range keeps the divider output in the 1–5 V band across the operating range. A low-drift reference resistor (0.1 %, 10 ppm/K) is mandatory; the calculation:
Vout = Vref * RNTC / (Rref + RNTC)
This avoids the cost of a dedicated transmitter but requires manual linearization in the PLC.
5.3 Approach C: SIPLUS HCS4200 for heating system applications
For heating-zone control with NTC sensors, the SIPLUS HCS4200 (6BK1942-0A00) is a PROFINET/PROFIBUS-capable I/O module specifically designed for NTC/PTC inputs in heating systems. It accepts the 55 kΩ cold resistance directly and exchanges the linearized temperature with the S7-1500 over PROFINET IO. This is the only solution that keeps the wiring direct to a Siemens module without adding a discrete transmitter per channel.
6. Software: LGF_NonLinearInterpolation
For approach B (and for any direct-resistance NTC inside the 6 kΩ range), the LGF_NonLinearInterpolation block from the Library of General Functions converts the AI module's resistance output to a temperature. The block performs linear interpolation across a table of N (x, y) points.
The LGF documentation chapter 4.12.3 describes the function signature:
// LGF_NonLinearInterpolation (FB)
// Input: xValue : LREAL // current x (e.g., resistance in ohms)
// Input: xArray : ARRAY[*] OF LREAL // x table (resistance values, ascending)
// Input: yArray : ARRAY[*] OF LREAL // y table (temperature values, °C)
// Input: numPoints : INT // number of (x,y) pairs
// Output: yValue : LREAL // interpolated temperature (°C)
// Output: error : BOOL
// Output: status : WORD // error code
Build the lookup table from the NTC datasheet. Use at least 10 calibration points; 20 to 30 points produce a much better fit through the curve's knee region near 25 °C.
6.1 Building the table in a TIA Portal data block
DATA_BLOCK "NTC_RT_Table"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
STRUCT
xResistance : ARRAY[1..20] OF LREAL := 300.9, 678.0, 1479.0,
3602.0, 10000.0, 32560.0,
55390.0, 0,0,0,0,0,0,0,0,0,0,0,0,0;
yTemperature : ARRAY[1..20] OF LREAL := 130.0, 100.0, 75.0,
50.0, 25.0, 0.0,
-5.0, 0,0,0,0,0,0,0,0,0,0,0,0,0;
numPoints : INT := 7;
END_STRUCT;
END_DATA_BLOCK
6.2 Calling the LGF block in a cyclic OB
// In OB1 (or a faster cyclic OB such as OB30)
"iLGF_NonLinearInterpolation_DB"(xValue := "AI_HF".Channels[0].%AIW * 0.001,
// Scaling: 0–27648 = 0–6 V; 6 V / 0.6 mA = 10 kΩ/V
// For the HF module in 6000 Ω range, see manual
xArray := "NTC_RT_Table".xResistance,
yArray := "NTC_RT_Table".yTemperature,
numPoints := "NTC_RT_Table".numPoints,
yValue => "DB_Temperature".Temp[0],
error => "DB_Temperature".Error[0],
status => "DB_Temperature".Status[0]);
For exact analog-to-resistance scaling, refer to the AI module's manual section "Representation of measured values". Each resistance range has a dedicated scaling factor. The 6 kΩ range on the 6ES7531-7PF00-0AB0 module maps 0 to 27648 to 0 to 6000 Ω.
7. Commissioning Procedure
- Insert the AI module in TIA Portal device view. Assign the module to the CPU 1511's PROFINET IO system.
- Configure each used channel as "Resistance 4-wire" with the range matching the NTC hot resistance. For 300.9 Ω at 130 °C, set 600 Ω for headroom.
- Compile the hardware configuration and download to the CPU 1511.
- Wire the NTC in 4-wire configuration. Torque the front connector to 0.6–0.8 N·m.
- Power up. Read the raw value in the module's tag table. At 25 °C, the value should be near 10 kΩ — but if the 6ES7531 module is in the 6 kΩ range, the value will saturate (27648) at temperatures below ~10 °C. Verify the saturation behavior with a precision decade resistance box.
- Import the LGF library and create the DB for the R/T table.
- Wire the LGF_NonLinearInterpolation block into a cyclic OB. Set numPoints to the actual count of populated array entries.
- Apply three known resistance values (use a calibrated decade box, 0.05 % accuracy) at -5 °C, 25 °C, and 130 °C equivalent. Confirm the block output matches the datasheet temperature within ±0.5 °C.
- Enable diagnostic interrupts for wire break. A cut NTC lead should generate a diagnostic entry in the CPU's diagnostic buffer.
8. Verification and Acceptance Tests
Acceptance test procedure for a production deployment:
- Range check: Apply a 6000 Ω reference (decade box). Confirm 27648 ± 5 LSB at the AI tag.
- Low-end check: Apply 300.9 Ω. Confirm 1382 ± 5 LSB (300.9 / 6000 * 27648 = 1385).
- Midpoint check: Apply 3602 Ω. Confirm 16595 ± 10 LSB.
- Temperature output check: At each of the three reference points above, log the LGF output. Acceptable deviation: ±0.5 °C for the 6ES7531-7PF00-0AB0 HF module, ±1.0 °C for the ST and BA variants.
- Diagnostic test: Open one NTC lead. The CPU's diagnostic buffer should log "Wire break" within 1 second. The LGF block should set the error output true.
- Crosstalk test: With one channel at 50 kΩ, verify that adjacent channels stay within ±1 LSB of their previous reading.
9. Troubleshooting Matrix
| Symptom | Root Cause | Remedy |
|---|---|---|
| AIW saturates at 27648 at low temperatures | NTC resistance exceeds 6 kΩ range | Switch to approach A, B, or C in Section 5 |
| Temperature reads ~25 °C constantly | Wrong resistance range (150 Ω selected) | Select 6000 Ω range in TIA Portal channel config |
| Wire break diagnostic missing | Diagnostics not enabled on channel | Enable "Wire break" diagnostic in channel properties |
| LGF block returns status != 0 | xArray not sorted ascending, or numPoints mismatch | Sort table ascending and set numPoints to actual count |
| Reading drifts with cable length | 2-wire connection used for low-resistance sensors | Rewire in 4-wire (Kelvin) configuration |
| Inter-channel crosstalk | Shared ground, long parallel runs | Use shielded twisted pair, ground shield at one end |
| Temperature error > 5 °C at 100 °C | Self-heating of NTC due to AI module's measuring current | Reduce smoothing, switch to HF module with lower excitation current |
10. Standards and Reference Material
- IEC 60751 — Industrial platinum resistance thermistors and platinum temperature sensors. Reference for RTD behavior (not directly applicable to NTC but cited for measuring-current limits).
- Siemens S7-1500/ET 200MP system manual — Primary reference for AI module configuration.
- Siemens LGF documentation chapter 4.12.3 — Primary reference for the non-linear interpolation function.
11. Frequently Asked Questions
Can the S7-1500 AI 8xU/I/R/RTD/TC HF module read an NTC with 55 kΩ cold resistance?
No. The maximum resistance range on every S7-1500 AI module (BA, ST, and HF) is 6 kΩ. An NTC with 55 kΩ at -5 °C will saturate the analog input below ~10 °C. Use a temperature transmitter (4–20 mA), a voltage-divider with a voltage AI, or the SIPLUS HCS4200 for high-resistance NTCs.
Which S7-1500 AI module is the best choice for an NTC inside the 6 kΩ range?
The 6ES7531-7PF00-0AB0 (AI 8xU/U/R/RTD/TC HF) is the preferred module when accuracy matters. It supports 4-wire connection, hardware interrupts, diagnostic interrupts, and oversampling, and has a specified basic error limit tighter than the BA and ST variants. For cost-sensitive installations without thermocouple inputs, the 6ES7531-7QF00-0AB0 BA is acceptable.
How is the AI module's raw value converted to ohms for the LGF table?
The AI module's input word (0 to 27648) maps linearly to the selected resistance range. For the 6 kΩ range: R = (raw value / 27648) × 6000. For the 600 Ω range: R = (raw value / 27648) × 600. The exact scaling factors are listed in the "Representation of measured values" section of the AI module's manual.
How many calibration points should the LGF_NonLinearInterpolation table contain?
Use a minimum of 10 points. For NTCs with a strong curve knee (typical β = 3950 K devices), 20 to 30 points distributed along the curve give the best fit. Cluster more points around 0–50 °C where the curve changes most rapidly. Out-of-order or duplicate x-values must be removed; the LGF block does not sort the array internally.
Does the LGF library work with the CPU 1511 (6ES7511-1AK02-0AB0)?
Yes. The LGF library targets the entire S7-1200 and S7-1500 range. The CPU 1511 must run firmware 2.0 or later, and TIA Portal V15.1 or later is required. Import the LGF library as a global library and copy the LGF_NonLinearInterpolation FB into the project.