Overview
Siemens LOGO! 8 logic modules (catalog family 6ED1052-*08-*BA*) are widely deployed as compact controllers for HVAC, building automation, and small process skids. A recurring field issue in temperature and humidity applications is relay chatter at the switching threshold: the output relay toggles on, off, on, off in rapid succession as the process variable hovers around the setpoint, accelerating mechanical wear and frequently tripping the load downstream. The root cause is twofold: insufficient signal conditioning on the 4-20 mA analog input and a missing or undersized hysteresis on the analog comparator function block.
This reference documents a three-layer corrective approach—analog filtering, comparator hysteresis, and proper 4-20 mA scaling—implemented in LOGO!Soft Comfort V8.3 and later. The example uses the Titan TP-RS-RHT-MA-10K3 combined humidity/temperature transmitter and the Titan TPOS/50 temperature transmitter, both 4-20 mA loop-powered devices, wired into a LOGO! AM2 (6ED1055-1MA00-0BA2) analog input module. The same procedure applies to any LOGO! 8 base module, LOGO! 8.3, or LOGO! 8.4 with onboard analog inputs (AI1-AI4) configured for current mode.
For a comprehensive overview of the LOGO! platform, including supported firmware, expansion modules, and cloud connectivity, see the Siemens LOGO! product page. The hysteresis behavior of the analog comparator is documented in Siemens support article 24003057, and an implementation of artificial hysteresis on the analog comparator using two threshold triggers is covered in 6060228.
The Relay Chatter Problem: Symptoms and Field Signatures
Relay chatter on a LOGO! output manifests in three observable ways:
- Audible buzz: the mechanical relay emits a high-frequency buzz at the switching threshold, often louder than the normal click of single-cycle operation.
- Visible flicker on the load: a connected heater, fan, solenoid, or indicator LED flickers visibly while the process variable is within ±1 °C or ±1% RH of the setpoint.
- Premature relay wear: the relay contacts fail within weeks instead of the rated 100,000-cycle mechanical life, often welding partially closed.
The chatter pattern is deterministic: the relay stays energized for one LOGO! scan cycle (typically 10-50 ms), drops for one cycle, and repeats while the measured value is within the noise band of the setpoint. Outside that band, the relay behaves normally. The signature is therefore distinct from a wiring fault (which produces continuous chatter) or an EMI issue (which produces sporadic, large-amplitude noise spikes).
Figure 1 — Process variable trajectory crossing the setpoint. Without hysteresis, the relay energizes every time PV exceeds the setpoint and de-energizes every time it falls below, producing one cycle per scan.
Root Cause Analysis
Relay chatter in a LOGO! 8 system is almost always traceable to one of three primary causes, often in combination:
| Cause | Mechanism | Typical magnitude |
|---|---|---|
| Quantization noise on 4-20 mA ADC | The LOGO! AM2 module digitizes the current loop to 10 bits (1024 counts over 4-20 mA), giving a least-significant bit of approximately 16 µA. The 0.1 °C display resolution forces a full count change for any sub-0.1 °C move. | ±0.5 °C / ±0.5% RH worst case |
| Process noise and turbulence | Airflow fluctuations, stratification in ducts, and steam/humidity transients create a 0.2-1 °C / 1-3% RH noise band at the sensor. | ±1 °C / ±2% RH typical |
| Sensor self-heating and lead resistance | The Titan 4-20 mA transmitters dissipate 0.7-1.0 W at 24 V, warming the sensing element by 0.1-0.3 °C and adding low-frequency drift. | ±0.3 °C drift over 10 min |
When the analog comparator (function block B007) is configured with a hysteresis of zero, the comparator output changes state whenever the process variable crosses the setpoint in either direction. With a noise band larger than the comparator's intrinsic resolution, the output toggles continuously. The Siemens support article 24003057 documents that the analog comparator provides an optional hysteresis parameter, and 6060228 details a method to implement an artificial hysteresis using two threshold triggers when the native hysteresis is insufficient.
Prerequisites
Before implementing the fix, verify the following hardware and software prerequisites:
- LOGO! base module: LOGO! 8.3 (6ED1052-1MD08-0BA1) or LOGO! 8.4 (6ED1052-1MD08-0BA2). For LOGO! 7 compatibility, confirm the part number ends in -0BA1 or later.
- Analog input module: LOGO! AM2 (6ED1055-1MA00-0BA2) for 4-20 mA current loops, or use onboard AI1-AI4 on the base module (also configurable for 0-20 mA / 4-20 mA via LOGO!Soft Comfort hardware catalog).
- Sensor wiring: Titan TP-RS-RHT-MA-10K3 humidity/temperature transmitter (4-20 mA, two-wire loop-powered) and Titan TPOS/50 temperature transmitter (4-20 mA, two-wire loop-powered). Loop voltage 12-30 V DC; a 24 V DC supply is typical.
- Programming software: LOGO!Soft Comfort V8.3 (build V8.3.0 or later) for LOGO! 8.3 modules, V8.4 for LOGO! 8.4 modules. Download from the Siemens Industry Online Support portal.
- Display configuration: LOGO! onboard display or LOGO! TDE (6ED1055-4MH00-0BA0) external text display for setpoint entry and online value monitoring.
Wiring the 4-20 mA Loop to the LOGO! AM2
Loop-powered 4-20 mA transmitters must be wired in series with the DC supply and the LOGO! AM2 input. The AM2 module has two analog inputs (AI1 and AI2 on older modules, AI3/AI4/AI5/AI6/AI7/AI8 depending on slot position) and two common terminals (M and M). The current flows from the 24 V supply positive terminal, through the transmitter, into the AM2 AI terminal, and returns via the AM2 M terminal to the 24 V supply negative. Polarity matters: reverse-wiring produces a 0 mA reading and appears as -50 °C on a TP-RS-RHT-MA-10K3 temperature channel.
| Wire color (typical) | Signal | LOGO! AM2 terminal | External device |
|---|---|---|---|
| Red | Loop + (24 V DC) | — | PSU +24 V |
| Black / Blue | Loop - | M (common) | PSU 0 V |
| Red (sensor) | Sensor output + | AI3 (or AI5) | TP-RS-RHT-MA-10K3 / TPOS/50 + |
| Black (sensor) | Sensor output - | M (common) | Connected to PSU 0 V internally at sensor |
Use shielded twisted-pair cable (Belden 8761 or equivalent) for runs longer than 3 m, with the shield grounded at the LOGO! end only. Failure to ground the shield at one end only creates a ground loop that injects 50/60 Hz common-mode noise onto the loop, visible as a 2-3 count jitter on the raw ADC value.
Solution Architecture: Three-Layer Defense
Stable switching on a noisy process variable is achieved by combining three independent layers. Each layer addresses a different contributor to the chatter problem, and skipping any one of them typically leaves the system vulnerable.
Figure 2 — Three-layer signal chain. The 4-20 mA Titan transmitter feeds the LOGO! AM2 module, then the signal is conditioned by an amplifier + analog filter (Layer 1), evaluated by an analog comparator with native hysteresis (Layer 2), and optionally refined with an artificial hysteresis stage (Layer 3) before driving the output relay.
Layer 1: Signal Conditioning with Analog Filter and Average Blocks
The first layer smooths the noisy analog value before it reaches the comparator. LOGO!Soft Comfort provides two purpose-built blocks for this task, both located under the Special Functions → Analog menu.
| Parameter | Analog Filter (B010) | Analog Average (B011) |
|---|---|---|
| Function | First-order low-pass filter with time constant τ | Sliding arithmetic mean over N samples |
| Configurable parameter | Sampling time T_s (0.1-25.0 s) and filter coefficient (number of samples n = 1-32) | Number of samples n = 2-32; sampling time T_s = 0.1-25.0 s |
| Group delay | ≈ τ / 2, depends on n and T_s | ≈ (n × T_s) / 2 |
| Output type | Smoothed continuous value | Stepped continuous value, updated every T_s |
| Best fit | Slow thermal processes (temperature, humidity) | Faster loops or when deterministic latency is required |
| Recommended for this application | Yes — set T_s = 1.0 s, n = 8 | Yes — set n = 16, T_s = 0.5 s |
Recommended configuration for a Titan humidity/temperature loop:
- Insert the Analog Filter (B010) block immediately after the last Analog Amplifier (B009). Set sampling time T_s = 1.0 s and number of samples n = 8. This yields an effective time constant of roughly 4 s, sufficient to suppress the 0.2-1 °C turbulence noise described in the root-cause section without introducing perceptible control lag.
- If the LOGO!Soft Comfort project targets a fast fan or damper actuator (response time < 5 s), substitute the Analog Average (B011) block with n = 16 and T_s = 0.5 s. The average produces a deterministic 4-second window with a fixed 4-second worst-case lag.
Layer 2: Configuring Hysteresis on the Analog Comparator
The analog comparator (function block B007 in LOGO!Soft Comfort's block catalog) evaluates two analog inputs and produces a Boolean output. The block exposes a configurable hysteresis parameter (Δ) that creates a deadband around the setpoint. The output transitions high when the process variable exceeds (setpoint + Δ/2) and transitions low only when the process variable falls below (setpoint - Δ/2).
Step-by-step configuration in LOGO!Soft Comfort:
- Drag the Analog Comparator block from the Special Functions palette onto the diagram.
- Connect the filtered analog signal to input
AXand the setpoint (or a constant block) to inputAY. - In the block properties, set the comparison function to
AX > AY(energize relay on rising temperature or humidity). - Set the Hysteresis field to a value in the scaled engineering unit. Recommended starting value: 1-2% of the sensor's full scale.
- For the Titan TP-RS-RHT-MA-10K3 (0-100% RH), set Δ = 2.0% RH.
- For the Titan TPOS/50 (0-50 °C), set Δ = 1.0 °C.
- For the Titan TP-RS-RHT-MA-10K3 temperature channel (-50 to +70 °C, span 120 °C), set Δ = 2.0 °C.
Hysteresis sizing rule of thumb: Δ should be at least twice the peak-peak process noise measured with the sensor installed. A practical field method: log the raw analog value over 5 minutes with the LOGO!Soft Comfort online trend, measure peak-peak, and set Δ = 2 × peak-peak. For most HVAC applications this lands in the 1-3% range.
Figure 3 — Hysteresis transfer function of the LOGO! analog comparator. The solid line traces the rising-PV behavior; the dashed line traces the falling-PV behavior. The deadband between SP-Δ/2 and SP+Δ/2 prevents chatter.
Layer 3: Artificial Hysteresis via Threshold Triggers
When the native hysteresis of the analog comparator is insufficient—typically because the load demands a sub-1% setpoint resolution or the noise band is dynamic—an artificial hysteresis is constructed from two threshold trigger (B008) blocks. The technique is documented in Siemens support article 6060228 and is also illustrated in the LOGO! 8 KNX heater/fan control application example 109748588.
Cascade topology:
- First threshold trigger (B008) energizes at
SP + Δ/2— turns the output ON when PV rises above the upper threshold. - Second threshold trigger (B008) energizes at
SP - Δ/2— latches the output OFF when PV falls below the lower threshold. - Combine the two triggers with an
AND(B001) orSR(latching relay) block, depending on whether the load should be high-side or low-side dominant.
The advantage of this construction is that the upper and lower thresholds can be set independently and to arbitrary precision (the threshold trigger has a 1% intrinsic hysteresis on its own detection, which is additive to the artificial Δ). The disadvantage is that it consumes two additional function blocks per switching point. For most humidity/temperature loops the native comparator hysteresis of Layer 2 is sufficient; reserve Layer 3 for tightly tuned control loops where the setpoint cannot tolerate even a 1 °C deadband.
Titan Sensor Scaling and Linearization
The LOGO! AM2 module digitizes a 4-20 mA current loop to a raw integer value in the range 0-1000. To convert this raw value into engineering units (°C or % RH), insert an Analog Amplifier (B009) block and configure its Gain and Offset parameters. The transfer function is:
Engineering_Units = (Raw_Value / 1000) × Span + Min
Equivalently, the amplifier block computes Output = Gain × Input + Offset with:
| Channel | Sensor | Physical range | Gain (B009) | Offset (B009) | Verification points |
|---|---|---|---|---|---|
| Titan TP-RS-RHT-MA-10K3 (channel 1, 4-20 mA, two-wire loop) | |||||
| Humidity | RH output | 0-100% RH | 0.1 | 0 | 4 mA → 0% RH, 12 mA → 50% RH, 20 mA → 100% RH |
| Temperature | T output | -50 to +70 °C (span 120 °C) | 0.12 | -50 | 4 mA → -50 °C, 12 mA → 10 °C, 20 mA → +70 °C |
| Titan TPOS/50 (channel 2, 4-20 mA, two-wire loop) | |||||
| Temperature | T output | 0 to +50 °C (span 50 °C) | 0.05 | 0 | 4 mA → 0 °C, 12 mA → 25 °C, 20 mA → 50 °C |
To verify scaling in LOGO!Soft Comfort, connect the amplifier output to a Message Text function block configured to display the engineering unit value. Force a known current with a calibrator (4.000 mA, 12.000 mA, 20.000 mA) and confirm the displayed value matches the verification points in Table 2 within ±0.5 °C or ±0.5% RH. If the values are off, the most common cause is an incorrect AM2 input mode (voltage vs. current) in the hardware catalog—switch AI to "0-20 mA / 4-20 mA" mode rather than "0-10 V."
Step-by-Step Configuration in LOGO!Soft Comfort
- Create the project. Launch LOGO!Soft Comfort V8.3 or later, select File → New, and pick the target module from the hardware catalog (e.g., LOGO! 8.3 12/24 RCE or LOGO! 8.4 12/24 RCE).
- Add the AM2 module. In the network view, drag the LOGO! AM2 (6ED1055-1MA00-0BA2) onto the expansion slot. Assign AI3 and AI4 to the Titan TP-RS-RHT-MA-10K3 (humidity on AI3, temperature on AI4) and AI5 to the Titan TPOS/50.
- Configure AI mode. Right-click the AM2 module, select Properties, and set each used channel to 0-20 mA / 4-20 mA mode (NOT 0-10 V). The 4 mA offset is applied automatically.
- Add amplifier blocks. Drop one Analog Amplifier (B009) per channel. Set gain and offset per Table 2.
- Add filter blocks. Drop one Analog Filter (B010) per channel. Set T_s = 1.0 s and n = 8.
- Add comparator blocks. Drop one Analog Comparator (B007) per switching action. Set the comparison function (e.g., AX > AY), connect the filtered value to AX, and connect a constant or network input to AY as the setpoint. Set hysteresis per the values in Layer 2.
- Route to outputs. Connect each comparator output to a relay coil (Q1, Q2, Q3, etc.) on the base module. Optionally insert a NOT block to invert the logic (turn a fan off when the setpoint is reached instead of on).
- Add display messages. Insert Message Text blocks to show the live temperature and humidity on the LOGO! display or TDE. Use one decimal for °C, zero decimals for % RH.
- Simulate. Press F2 to start the LOGO!Soft Comfort simulator. Use the analog value input sliders to force the input current and verify scaling, comparator action, and hysteresis behavior before downloading.
- Download and run. Connect the LOGO! to the PC via Ethernet (LOGO! 8.3+) or USB (LOGO! 7) and click Tools → Transfer → PC → LOGO!. Switch the LOGO! to RUN mode and verify on the actual hardware.
Verification and Commissioning Checks
After commissioning, perform the following field verifications. Each check has a pass/fail criterion; a failure points to a specific troubleshooting action in the next section.
| # | Test | Procedure | Pass criterion | Fail action |
|---|---|---|---|---|
| 1 | Scaling accuracy | Inject 4.000 mA, 12.000 mA, 20.000 mA with a calibrator; record displayed value | Within ±0.5 °C or ±0.5% RH of nominal | Check AI mode (current vs. voltage), check amplifier gain/offset |
| 2 | Filter response | Step the calibrator from 4 mA to 20 mA; record time to settle within 1% of final | 5-15 s settling time (Layer 1 active) | Increase n or T_s on the filter block |
| 3 | Hysteresis band | Ramp the calibrator up through the setpoint; record turn-on current. Ramp down; record turn-off current. Difference is the hysteresis. | Difference matches configured Δ within ±5% | Check hysteresis parameter on B007; re-enter if it was modified during simulation |
| 4 | Chatter test | Set the calibrator to the setpoint current and hold for 5 minutes. Monitor Q1 in LOGO!Soft Comfort online mode. | Zero or one transition in 5 minutes | Increase Δ, or add Layer 3 artificial hysteresis |
| 5 | Display precision | View the LOGO! display; observe the least-significant digit over 30 s | Last digit stable (jitter ≤ 1 count) | Re-apply Layer 1 filter; check AM2 grounding |
| 6 | Archive hysteresis (optional) | If logging PV to the LOGO! cloud or SD card, configure the "Archive only upon change" parameter per 24056074 | Archive entries separated by ≥ Δ_Archive | Increase archive hysteresis; do not log on every scan |
Troubleshooting Matrix
| Symptom | Likely cause | Resolution |
|---|---|---|
| Relay still chatter after adding hysteresis | Noise band exceeds Δ; AM2 in voltage mode | Add Layer 1 filter; verify AM2 input mode is 4-20 mA; raise Δ to 2× peak-peak noise |
| Display reads +120 °C / +100% RH constantly | AM2 AI configured for 0-10 V; signal is actually 0-10 V from a mis-wired sensor | Switch AI mode to 0-20 mA / 4-20 mA; verify sensor is 4-20 mA type, not 0-10 V |
| Display shows correct value but comparator never fires | Sign error on amplifier offset; gain/offset swapped | Re-derive gain/offset from Table 2; for negative-going sensors, set offset first then check sign of gain |
| Chatter is intermittent, only on cold mornings | Sensor self-heating transient at low ambient | Increase filter n to 16; raise Δ to 3 °C for the affected channel only |
| Both channels of TP-RS-RHT-MA-10K3 show same value | Sensor is single-channel; loop is shorted or wired to wrong AI | Confirm sensor is the dual-output variant; check wiring diagram in Titan datasheet |
| LOGO!Soft Comfort will not let me enter Δ on the comparator | Block is the threshold trigger (B008) not comparator (B007) | Replace the block; the B008 threshold trigger has a fixed 1% intrinsic hysteresis that is not user-adjustable |
| Filter output never updates | Sampling time T_s = 0 is not allowed; or block not connected to scan | Set T_s ≥ 0.1 s; verify the filter block's enable input is high |
| SD card fills within hours | Archive "on every change" with no archive hysteresis | Set "Archive only upon change" with absolute or percentage hysteresis per 24056074 |
| Relay chatter only when another large load starts | EMI coupling on long analog cable runs | Re-route analog cable away from power cables; add ferrite on the loop; use shielded cable |
| Setpoint value drifts when using network input | Network input (NI) is not being updated; LOGO! is in STOP on client | Verify network connection; assign NI from a known source; check BM (broadcast mask) |
Best Practices and Field Notes
- Filter first, then hysteresis. The filter attenuates the noise that the hysteresis deadband is trying to ignore. Configuring hysteresis on an unfiltered signal is fighting upstream noise rather than the comparison itself.
- Size hysteresis to the load. A 2 °C hysteresis on a freezer compressor is acceptable; a 2 °C hysteresis on a precision incubator is not. For tight loops, prefer the Layer 3 artificial hysteresis topology from Siemens 6060228.
- Use percentage hysteresis for retransmission. If the setpoint is changed frequently or the span varies, configure the comparator hysteresis as a percentage of the full scale rather than an absolute engineering-unit value. LOGO!Soft Comfort V8.3+ supports percentage hysteresis natively in the comparator block.
- Decouple the analog ground. Tie the 4-20 mA loop negative terminal to the LOGO! AM2 common (M terminal) at the module, not at the sensor end. Ground loops on long cable runs add 50/60 Hz common-mode noise that shows up as a 2-3 count jitter on the raw value.
- Never disable the filter "to save scan time." The analog filter block consumes a single function block slot and a small number of CPU cycles. The cost is negligible compared to the cost of replacing a chattered relay in the field.
- Display precision matches sensor precision. A 10-bit ADC over 4-20 mA gives 16 µA resolution, which is roughly 0.1 °C for a 0-50 °C sensor. Showing two decimals (0.01 °C) is meaningless and visually distracting. One decimal is the correct precision for the LOGO! AM2.
- Archive hysteresis protects storage. When logging to the LOGO! cloud or SD card, configure the "Archive only upon change" parameter with a hysteresis value larger than the comparator hysteresis. This prevents the archive from filling with redundant near-setpoint values. See Siemens 24056074 for absolute-vs-percentage archive semantics.
- KNX integration for building automation. For multi-zone HVAC with KNX bus, refer to the LOGO! 8 KNX heater/CO2/RH/fan control application, which demonstrates the same three-layer architecture with the CMK2000 communication module.
- Use network inputs for setpoint changes. If the setpoint must be adjustable from an HMI, expose it as a network input (NI) on a LOGO! 8.3+ base module. This decouples the operator UI from the comparator configuration and reduces the risk of an operator overwriting the hysteresis parameter.
- Document the project. Always print the LOGO!Soft Comfort project documentation (File → Print) and store a copy in the panel. The printout shows the configured hysteresis, gain, and offset values and is the fastest reference for the next field service call.
Frequently Asked Questions
How do I add hysteresis to a LOGO! analog comparator?
Open the analog comparator (B007) block properties in LOGO!Soft Comfort and enter a value in the Hysteresis field. The value is in the same scaled engineering unit as the AX and AY inputs. A starting value of 1-2% of the sensor's full scale is typical—for a Titan TP-RS-RHT-MA-10K3 humidity channel, use 2.0% RH; for the temperature channel, use 2.0 °C.
What is the difference between the analog filter (B010) and analog average (B011) blocks?
B010 is a first-order low-pass filter with a configurable time constant derived from sampling time T_s and the filter coefficient n. B011 is a sliding arithmetic mean over n samples. Use B010 for slow thermal processes (typical setting T_s = 1.0 s, n = 8); use B011 for faster loops where deterministic group delay matters (typical setting n = 16, T_s = 0.5 s).
How do I scale a 4-20 mA sensor on a LOGO! AM2 module?
The AM2 internal ADC produces a raw value 0-1000 for 4-20 mA. Insert an Analog Amplifier (B009) block and set Gain = (Emax - Emin) / 1000 and Offset = Emin. For a Titan TPOS/50 (0-50 °C): Gain = 0.05, Offset = 0. For a Titan TP-RS-RHT-MA-10K3 temperature channel (-50 to +70 °C): Gain = 0.12, Offset = -50. Verify the AM2 input mode is set to 0-20 mA / 4-20 mA, not 0-10 V.
Why does the relay still chatter even with hysteresis configured?
The analog noise band is larger than the configured hysteresis. Insert an analog filter (B010) or average (B011) block immediately after the amplifier, then increase the comparator hysteresis to at least twice the measured peak-peak noise. Also confirm the AM2 input is in current mode (0-20 mA / 4-20 mA) and that the analog ground is tied to the AM2 M terminal at the module, not at the sensor.
Can I configure hysteresis on the LOGO! threshold trigger (B008)?
No. The threshold trigger B008 has a fixed 1% intrinsic hysteresis that is not user-adjustable. For adjustable hysteresis, use the analog comparator B007. For independently settable upper and lower thresholds (e.g., for cascade cooling/heating control), construct an artificial hysteresis from two B008 blocks per Siemens support article 6060228.
What archive hysteresis should I set for SD card logging?
For SD card or LOGO! Cloud logging, set the archive hysteresis to at least 2× the comparator hysteresis so the archive captures distinct setpoint transitions rather than noise. Use the absolute setting for fixed-range sensors and percentage setting for sensors with configurable spans, as documented in Siemens 24056074.