S7-300 FB41 FB58 Temperature Runaway: Heater Zone Diagnosis Guide

David Krause19 min read
PID ControlSiemensTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Diagnosing S7-300 FB41/FB58 Temperature Runaway on Extruder Heater Zones

On an extrusion line using a Siemens S7-300 CPU 315-2 DP with FB58 (TCONT_CP) controlling a bank of heater zones through solid-state relays, Zone 1 climbs to 268 °C against an 180 °C setpoint even though the FB58 output has commanded the heater off and the cooling fan on the zone is running. Autotune through the connected MP377 12" Key panel does not stabilise the loop, and replacing the thermocouple has not changed the symptom. This article walks through the field-proven diagnostic tree used to find the root cause when a closed PID loop appears to be "stuck on" while the HMI shows the SSR output as OFF.

The dominant fault in this exact symptom pattern is almost never the PID block — it is the field side. The PID controller is reporting that it has commanded the output to zero. The SSR, the heater, the thermocouple, or the thermal path back to adjacent zones is failing to honour that command. The rest of this guide walks through every link in that chain, in the order in which they should be ruled out, with the parameter-level checks and field tests that convert a "PID is broken" suspicion into a verifiable root cause. The FB41 / FB58 block reference is documented in the Siemens Standard PID Control manual available at Siemens Industry Online Support.

1. Symptom Decomposition

The reported symptom has three separable sub-observations. They must each be confirmed independently before the diagnostic tree is entered, because a misread of any one of them pushes the engineer toward the wrong branch.

Sub-observation Expected if PID is healthy Field check
PV (zone 1) reads 268 °C with SP 180 °C Large positive error, controller saturates Cross-check with handheld thermocouple probe at the same physical location
Cooling fan on zone 1 is running Heat removal is active Visual + amps on fan contactor; verify air flow direction
Heater output is OFF but PV still rises Impossible if heater, SSR, and TC are all correct Read FB58 output QPULSE / LMN_PER; measure current on heater feeder
Critical sanity check: If the PV keeps climbing with the controller output at zero, the cooling fan running, and the heater truly de-energised, the laws of thermodynamics are violated. Either (a) the controller output is not zero, (b) the heater is not actually de-energised, (c) the PV reading is wrong, or (d) heat is arriving from a different source (a neighbouring zone, the barrel walls, a co-located motor). Exactly one of these four must be the failure mode. The diagnostic tree below hunts them in the order most often seen on extruder installations.

2. Root-Cause Matrix

# Root cause Typical symptom signature Diagnostic signature
1 SSR short-circuit (output triac failed) PV climbs after setpoint reached; cooler zones fine if same SSR family; heating continues even when FB58 QPULSE = 0 Measure line-to-load on heater leg with FB58 output forced off; clamp meter shows mains voltage present at heater with controller at 0 %
2 Thermocouple polarity reversed in TC head PV reads approximately opposite of reality; overshoots when zone is supposed to be cooling Disconnect TC wires and measure resistance to ground; short one leg, watch PV response direction
3 Wrong thermocouple type configured in HW Config PV offset roughly proportional to temperature; reading drifts with ambient Open HW Config, AI module, channel 0; compare configured TC type to actual probe
4 Missing or wrong cold-junction compensation Reading tracks room temperature when TC shorted at terminal Short TC input at module terminal; reading should equal local ambient. If reading is 0 °C or fixed offset, CJC is broken
5 FB58 wired to wrong digital output / output card channel Same QPULSE drives a different load Force QPULSE from STEP 7 watch table; observe LED on the SSR input card
6 PWM pulse period PFREQ too long for thermal mass PV oscillates with period close to PFREQ Trend QPULSE duty and PV; look for matching period
7 Adjacent zone heater running at 100 % with poor insulation Zone 1 PV is pulled by neighbour Power off zone 2 and 3, observe zone 1 PV; if it drops with neighbours cold, leakage is dominant
8 Heater element shorted to ground or partial winding short High current draw on one phase; PV tracks uncommanded Clamp meter on each heater leg; compare to nameplate FLA

3. Diagnostic Flowchart

Start: PV climbing with FB58 output at 0 % and cooling fan running? Measure heater feeder current with clamp while FB58 LMN = 0 % (watch table) Current > 50 mA? YES - SSR shorted or wrong output wired NO - SSR off as commanded. Continue to thermocouple checks. Short thermocouple at SM 331 terminal block. Observe PV in HMI for 30 s. PV ≈ ambient? NO - CJC broken / wrong TC type. Check HW Config. YES - TC chain OK. Power off neighbouring zones and observe zone 1 PV trend. PV falls? NO - heater element insulation / ground fault YES - thermal leakage from neighbours. Add insulation / reduce neighbour duty cycles.

The flowchart above is the actual decision tree to walk on site. Every box is a measurement or test that takes less than two minutes to perform. The most common failure path is the first YES branch — SSR short — and the article walks through how to confirm and fix it.

4. Step-by-Step Diagnostic Procedure

4.1 Force FB58 to 0 % and observe the heater feeder

Open the FB58 instance DB in STEP 7 (or the equivalent on the MP377), navigate to the SP_INT input and write 0.0. If the operator interface exposes a manual output, set MAN_ON = TRUE and MAN = 0.0 instead — this is cleaner because it forces the output to zero without the controller re-asserting it. While doing this, have a second engineer with a Fluke 376 or similar true-RMS clamp meter on each phase feeding the zone-1 heater bank.

FB58 signal DB offset (typical) Force value Verify
SP_INT DBX14.0 REAL 0.0 SP_INT = 0.0 in VAT
MAN_ON DBX22.0 BOOL TRUE Controller in manual
MAN DBX24.0 REAL 0.0 LMN = 0.0 within 1 cycle
QPULSE DBX60.0 BOOL FALSE Output LED off on DO card

Observe the clamp meter reading. With the heater cold, a clamp meter on a resistive element carrying current will show a steady RMS current equal to nameplate FLA. If the meter shows any current greater than 50 mA (typical SSR off-state leakage is 5–15 mA), the SSR is leaking or shorted. A hard short will show full line current.

Heater element FLA check: A typical 2 kW, 230 V single-phase band heater draws I = 2000 / 230 = 8.7 A. A 6 kW, 415 V three-phase delta heater draws I = 6000 / (sqrt(3) * 415) = 8.35 A per phase. Use these numbers as sanity checks against the clamp reading. Always label whether the rating is single-phase or three-phase before trusting the comparison.

4.2 Confirm SSR integrity

With the FB58 output still forced to zero and QPULSE = FALSE, de-energise the heater feeder upstream and isolate the SSR. Use a true-RMS multimeter on the load side of the SSR (heater side), with the control side de-energised. A healthy SSR shows open-circuit (> 1 MΩ) between its two main terminals. A shorted SSR reads below 50 Ω or even dead short because the triac is destroyed. Replace the SSR if the resistance is below 1 kΩ with the control input de-energised.

If the SSR is a panel-mount unit with a built-in heatsink and thermal pad, also check that the thermal pad is intact and that the heatsink is not running hotter than 70 °C under load — an overheated SSR derates rapidly and eventually fails short.

4.3 If the SSR checks good - verify the thermocouple chain

If the SSR is intact but PV still climbs, the fault is on the measurement side. Cross-check the PV reading with a calibrated handheld reference probe (Fluke 52-II, WIKA CTH7000, or similar) taped to the same heater band. A deviation of more than 5 °C between the FB58 PV and the reference probe at steady state points at the SM 331 channel, not at the controller.

Test Procedure Healthy response Faulty response
Shorted TC input Place a copper short across the TC terminals at the SM 331 PV reads local ambient (within +/- 2 °C) PV reads 0 °C, fixed offset, or wildly fluctuating — CJC or wiring fault
Open TC input Disconnect TC, leave input floating PV reads full-scale high (over-range) PV holds last value — input burnout detection disabled in HW Config
Reversed polarity Reverse TC leads at module terminal PV swings negative of expected PV inverted vs. reference probe
Wrong TC type Compare HW Config TC type to actual probe Match Mismatch (e.g. type K probe configured as type J) — PV drifts with temperature

The SM 331 AI8x12bit module referenced (6ES7331-7KF02-0AB0) supports thermocouple types J, K, T, N, E, R, S, B only when configured for TC mode in HW Config. The 12-bit resolution gives roughly 8 mV per LSB, which over a type-K span of 0–1370 °C is about 7 °C per LSB at low temperatures and 0.5 °C per LSB at high temperatures. For tight PID control on extruder zones (typically +/- 2 °C), this resolution is the absolute minimum and is one of the reasons an FB58 loop on a 7KF module can behave noisily. Where the application permits, replace it with an SM 331 AI8x16bit thermocouple module (6ES7331-7PF11-0AB0) — the 16-bit resolution drops the LSB to roughly 0.1 °C over the type-K span.

For the exact HW Config menu path and parameter ranges on the 6ES7331-7KF02-0AB0, refer to the SM 331 manual in the Siemens Industry Online Support portal, search under "SM 331".

4.4 If thermocouple checks good - look at FB58 wiring

The FB58 (TCONT_CP) instance has three outputs that are easy to confuse on a first commissioning:

  • LMN — the analogue manipulated variable, 0.0 to 100.0 %
  • LMN_PER — the same variable scaled to the peripheral range of an analogue output card
  • QPULSE — the pulse-width modulated Boolean output intended for a digital output driving an SSR

If QPULSE is wired to the SSR but the FB58 instance has been inadvertently reconfigured to output through LMN_PER to a non-existent analogue card, the QPULSE line will never assert. Equally, if LMN_PER is wired to the wrong word and QPULSE never gets updated, the SSR will not fire even though the controller thinks it is commanding heat.

Open the FB58 instance in STEP 7 and confirm that:

  1. The instance DB is the one referenced by OB35 (or whichever cyclic interrupt the project uses for the controller).
  2. The output QPULSE is mapped to the correct output byte/bit of the digital output module driving the SSR.
  3. CYCLE matches the OB35 period (typically 1000 ms for thermal loops).
  4. PFREQ is set to a sensible value (1–10 s for thermal masses of 1–10 kW).

The full FB58 interface is documented in the Siemens Standard PID Control manual, available under the documentation section of the Siemens Industry Online Support.

4.5 FB58 parameter audit for a zone in runaway

If the loop itself is misbehaving (PV oscillates, or PV holds high while output is well below 100 %), the following parameter checks apply. Most are caught at autotune, but autotune assumes the plant is in a representative state — if zone 1 was at 268 °C during autotune, the autotuner was probably trying to identify cooling rather than heating dynamics and the resulting GAIN / TI / TD are wrong for the normal operating point.

FB58 input Data type Field-recommended value What goes wrong if wrong
PV_IN / PV_PER REAL / INT Wire PV_PER to the AI channel word; set PV_FAC and PV_OFF for scaling If PV_PER scaling is wrong, FB58 sees a fake error and overdrives the output
SP_INT REAL In degrees C, same engineering unit as PV Mismatched units produce huge errors (e.g. SP_INT in C, PV in 0.1 C units)
GAIN REAL 0.5 to 5.0 for typical band heaters Too high: oscillation; too low: sluggish, overshoot
TI REAL 30 s to 300 s for extruder bands Too short: oscillation; too long: integral windup, slow recovery
TD REAL 0 (often disabled for thermal) Derivative amplifies noise on TC inputs
DEADB_W REAL 0.5 to 2.0 °C Too tight: chattering; too loose: offset
PFREQ REAL 1.0 s to 10.0 s for 1–10 kW bands PFREQ >> thermal time constant: long-period oscillation; PFREQ << SSR min cycle: SSR overstressed
CYCLE REAL Match OB35 period, typically 1.0 s Wrong cycle: PID calculation error, can saturate
I_ITL_ON BOOL FALSE for cold start Resetting integral at every start hides windup until first disturbance
DISV REAL 0.0 (no disturbance feedforward) If tied to line speed with wrong sign, controller fights itself

For the original FB41 CONT_C block (sometimes referenced in older S7-300 projects), the input list is shorter but the scaling rules are identical. The Standard PID Control documentation covers both blocks side-by-side, including the migration notes for projects that started life on FB41 and have since been reworked onto FB58.

5. Wiring and Field Verification

After the controller-side checks, the field-side wiring is the next place to look. Three patterns account for the majority of field-side faults:

5.1 SSR control polarity

Industrial SSRs have a DC control input that is polarity-sensitive on about 70 % of models. The standard pinout is + on terminal 3 and - on terminal 4 (for a Crydom / Sensata / Carlo Gavazzi panel-mount unit). Reversing the polarity on a polarity-sensitive SSR leaves the input LED forward-biased the wrong way and the SSR will not switch — but in a marginal case where the LED still partially conducts, the SSR may latch on intermittently with no controller command. Verify the SSR data sheet and confirm with a multimeter on the control terminals.

5.2 SSR dv/dt or back-EMF latch-up

On highly inductive heater loads (e.g. mica-insulated band heaters with long cable runs), the line-side dv/dt at SSR turn-off can re-trigger the triac. Symptom is a heater that comes on by itself a fraction of a second after the controller turns it off. The cure is an RC snubber (typically 100 Ω + 0.1 µF across the SSR main terminals) or a zero-cross SSR with built-in snubber. A snubberless / back-to-back SCR SSR should not be used on inductive loads without external snubbing.

5.3 Heater-to-ground leakage

On ceramic-insulated band heaters, ageing can allow the element to contact the body through degraded insulation. With the heater feeder open, meg the heater element to ground at 500 V. A healthy heater shows > 1 MΩ to ground. A failing heater shows tens to hundreds of kΩ to ground, which can produce enough leakage current through a poor ground reference to keep the band warm.

6. Adjacent-Zone Thermal Leakage

Extruder barrels are long steel cylinders with multiple band heaters clamped around them. Even with each zone's band electrically isolated, heat conducts axially along the barrel wall. On a 30:1 L/D extruder running 5 zones, zone 1 at 180 °C and zone 5 at 220 °C can leak 30–50 W from zone 5 into the steel mass around zone 1, requiring the zone 1 controller to command a small negative bias to hold setpoint.

If a zone that was supposed to be running at 50 % duty is being driven by leakage alone, the cooling fan will have negligible effect (forced air over a band heater sitting on a barrel at 230 °C cannot move enough heat), and the PV will sit above setpoint regardless of FB58 output. The diagnostic is to power off the neighbouring zones, wait for the barrel to equilibrate, and observe whether zone 1 PV approaches ambient or at least approaches a lower steady state. If PV falls significantly, the answer is more aggressive insulation between zones (ceramic fibre spacers) or independent heater zoning rather than a control fix.

7. SSR Substitution and Re-Commissioning

Assuming the dominant fault is the SSR short-circuit, the replacement procedure is:

  1. Lock out / tag out the heater feeder and the SSR control circuit.
  2. Confirm zero energy on both sides of the SSR with a multimeter.
  3. Remove control wiring (note polarity on a label).
  4. Remove load wiring (line side and load side — many SSRs are reversible but verify from the data sheet).
  5. Unbolt the SSR from the heatsink, clean the mounting surface with isopropyl alcohol, apply fresh thermal compound (Wakefield Type 120 or equivalent, 0.05 mm thick).
  6. Mount replacement SSR — same rating or higher; confirm voltage and current rating exceed the heater nameplate by at least 25 %.
  7. Reconnect control wiring with correct polarity; reconnect load wiring.
  8. Remove lockout; bring controller back to auto; observe QPULSE in the VAT to confirm activity.
  9. Run zone 1 from cold to setpoint and confirm PV tracks SP within +/- 2 °C.

Thermal compound and mounting torque matter: a poorly mounted SSR runs 20–30 °C hotter at the junction, which is exactly the operating region where SSR lifetime halves for every 10 °C rise.

8. Verification Checklist

Check Pass criterion Method
SSR off-state leakage < 50 mA at 230 V / 415 V Clamp meter on heater leg with FB58 output = 0 %
FB58 output with PV at setpoint QPULSE duty cycles 30–70 % Trend QPULSE in HMI for 5 minutes
PV - SP steady-state error |PV - SP| < 2 °C Trend PV and SP on HMI
Step response 10 °C step settles within 60–180 s with < 5 % overshoot Change SP by 10 °C from HMI, observe trend
Cooling performance PV drops >= 1 °C per minute with controller saturated at 0 % Force FB58 to 0 %, observe trend
TC chain integrity PV reads ambient when TC shorted at module terminal Test at terminal block
Adjacent-zone leakage PV drops by > 5 °C when neighbours powered off Power cycle test

9. Preventive Maintenance

SSR failures are the dominant field-side fault in PID-controlled extruders. A scheduled replacement based on operating hours is dramatically cheaper than an unscheduled outage:

Item Interval Action
SSR visual inspection Quarterly Discolouration, smell, heatsink dust
SSR thermal pad inspection Annually Verify thermal compound intact, torque to spec
SSR scheduled replacement 3–5 years or 30,000 hours Proactive swap before failure
Thermocouple replacement Annual Type-K probe, spring-loaded head
Cold-junction verification Annual Short TC input at module, verify PV = ambient
PID step-response test Semi-annually 10 °C SP step, log PV / QPULSE trend
Backup of FB58 instance DBs On every program change STEP 7 upload to project archive

10. FB41 vs FB58 - When Each Block Applies

Both FB41 (CONT_C) and FB58 (TCONT_CP) sit in the Standard PID Control library that ships with STEP 7 V5.x. FB58 supersedes FB41 for thermal loops because it integrates the pulse generator that an SSR needs. FB41 still has its place when the final control element is continuous (a thyristor power controller with 0–10 V or 4–20 mA setpoint) because it outputs LMN as an analogue value rather than as QPULSE.

Block Best fit Output type PWM generation
FB41 CONT_C Continuous actuator (thyristor, variable speed drive) LMN (REAL 0–100 %) and LMN_PER (peripheral) None — external PWM needed
FB58 TCONT_CP Discrete actuator (SSR, contactor) LMN, LMN_PER, QPULSE Built-in pulse generator with PFREQ

If the project is on FB41 but the load is an SSR, the typical workaround is to write LMN_PER to a PID_PulseGen-equivalent logic and then to a digital output. This works but is more code to maintain and more failure modes to debug. Migrating to FB58 when the controller output side is SSR-based removes the workaround entirely.

11. Frequently Asked Questions

Why does my temperature keep rising even when the heater output is OFF and the cooling fan is running?

Three possibilities exist. First, the SSR is short-circuited and continues to pass current to the heater despite the controller command — the most common failure. Second, the thermocouple or its cold-junction compensation is reading incorrectly, so the controller is actually commanding heat while the HMI shows the output as zero. Third, the heat is arriving from a neighbouring zone through the barrel wall, in which case the zone's own heater may genuinely be off but the temperature still cannot fall because of conduction. Verify with a clamp meter on the heater feeder while the FB58 output is forced to zero.

How do I confirm an SSR is short-circuited without removing it?

Force the FB58 output to zero (set MAN_ON = TRUE, MAN = 0.0 in the instance DB) and measure the heater feeder current with a true-RMS clamp meter. A healthy SSR in the off state passes only the off-state leakage of the SSR (typically 5–15 mA). A shorted SSR passes full line current. For a definitive check, isolate the SSR with upstream lockout and measure resistance between the two main terminals with the control de-energised; a healthy SSR reads open (> 1 MΩ) while a failed unit reads a short or near-short.

Why does the FB58 autotune not stabilise the loop?

Autotune identifies the plant dynamics from a controlled step response. If the zone was already in a runaway state during autotune (PV much higher than SP, controller saturated at 0 %), the autotuner may have characterised the cooling dynamics rather than the heating dynamics. The result is a controller tuned for a regime the loop never operates in. Always bring the zone to a representative operating point (within +/- 20 °C of SP) before invoking autotune, and never autotune while a hardware fault is present — the autotuner will happily tune to a faulty plant and embed the fault in the parameters.

What is the difference between FB41 and FB58 for an extruder temperature loop?

FB41 (CONT_C) is a generic continuous PID controller with an analogue output (LMN / LMN_PER). FB58 (TCONT_CP) is the temperature-controller-specific variant with an integrated PWM pulse generator that produces a Boolean QPULSE output suited to an SSR. For band heaters switched by SSR — which is the typical extruder configuration — FB58 is the correct choice because it handles the discrete actuator directly. FB41 is the right choice when the actuator is a thyristor power controller with an analogue setpoint input.

My AI8x12bit module is giving noisy readings - is that related?

The SM 331 6ES7331-7KF02-0AB0 has a 12-bit plus sign ADC. Over the type-K thermocouple span of 0–1370 °C that is roughly 7 °C per LSB at low temperatures, which is well above the noise floor of a type-K junction but does limit how tightly the loop can hold setpoint. If the application requires tighter than +/- 2 °C control, replacing the module with an SM 331 AI8x16bit thermocouple module (6ES7331-7PF11-0AB0) drops the LSB to around 0.1 °C and resolves the resolution limitation. Always confirm the exact module variant in HW Config against the part number on the front panel sticker before specifying a replacement.

Can a single failed SSR cause adjacent zones to drift?

Yes. A shorted SSR keeps its heater bank running at full power regardless of controller commands. The thermal energy is conducted along the barrel wall and raises the surrounding zone readings. The neighbouring controllers see a higher than expected PV and command less heat, but their actual heater elements are running at the expected duty. From the outside it can look like a control loop problem when it is actually a hardware failure on one upstream SSR. Always check the heater feeder current on every zone before assuming a control problem.

Back to blog