Overview
This reference covers a complete temperature control program for a Siemens LOGO! 8 (6ED1052-xxx08-0BA1 or newer firmware) used in a ventilation / air-handling application. The system must maintain a room temperature of 20 °C by default, switch to a boost setpoint of 40 °C on a digital command, override to maximum valve output on a frost alarm, and clamp the supply air temperature to a safe limit using a second PT100 sensor installed in the supply duct. The controlled actuator is a 0–10 V proportional motor valve driven by a LOGO! analog output.
LOGO! processes analog values internally on a normalized scale of 0–1000, where 0 corresponds to 0 V (or 0 mA) and 1000 corresponds to 10 V (or 20 mA) at the analog output terminals. All PI blocks, multiplexers, comparators, and ramp blocks work in this normalized range. The PT100 inputs of the AM2 RTD module also deliver 0–1000, mapped to the configured temperature range in the LOGO! Soft Comfort (LSC) block parameters.
Prerequisites
- LOGO! 8 base module (e.g., 6ED1052-1MD08-0BA2 with relay outputs, or 6ED1052-2MD08-0BA2 with transistor outputs) running firmware FS04 or later. The 0BA8 generation is required for the AM2/AM2 RTD modules and analog ramp blocks used in this application.
- LOGO! Soft Comfort V8.4 or later for program development. Available from the Siemens Industry Online Support portal.
- One LOGO! AM2 RTD module (6ED1055-1MA00-0BA2) accepting two PT100 sensors directly, or an AM2 module (6ED1055-1MA00-0BA0) with external PT100 transmitters. The AM2 RTD provides direct 2-wire/3-wire PT100 input on two channels and reports the value in °C, °F, or normalized 0–1000.
- One LOGO! AM2 analog output module (6ED1055-1MA00-0BA0) with two 0–10 V outputs, or use the base-module analog output on 0BA8 versions that include it (see module datasheet).
- One 24 V DC power supply, two PT100 class A sensors, shielded 3-wire sensor cable, and a proportional motor actuator with 0–10 V input.
Hardware Topology
The recommended stack for this ventilation application is left-to-right on the DIN rail:
- LOGO! 8 base module (CPU + display, slot 0).
- LOGO! AM2 RTD (6ED1055-1MA00-0BA2) — PT100 room sensor on AI1, PT100 supply-duct sensor on AI2.
- LOGO! AM2 (6ED1055-1MA00-0BA0) — AO1 drives the 0–10 V motor valve.
- LOGO! DM8 24R or DM16 — DI for "boost setpoint enable" (I1) and "frost alarm" (I2); DO for valve position feedback or alarm lamp if needed.
Block Architecture in LOGO! Soft Comfort
The control logic is built from five functional groups wired into a single program:
- PT100 acquisition and scaling — AM2 RTD inputs AI1 and AI2 deliver 0–1000 values scaled to the configured temperature span. Configure AI1 = -50 to +200 °C with sensor type PT100/3-wire, and AI2 the same. The block output is a real-time temperature word that can be displayed on the LOGO! built-in display or external TDE.
- Room PI controller — One PI block (B30) operating on AI1. Setpoint is selected later by the analog multiplexer. Output is normalized 0–1000 representing 0–10 V at the motor valve.
- Analog Multiplexer for setpoint switching — Use the Analog Multiplexer block (B25) to feed either 20 °C (scaled to the 0–1000 value for the configured sensor range) or 40 °C into the PI controller's setpoint input. A digital input "boost enable" drives the selector (S) pin of the multiplexer.
- Anti-freeze override — A digital input "frost alarm" selects a second analog multiplexer path that forces the analog output to 1000 (= 10 V = valve fully open) regardless of PI state. A SR flip-flop latches the alarm until acknowledged.
- Supply-air temperature limiter with analog ramp — A second PI controller (B30) regulates the supply-duct PT100 (AI2) against a fixed high limit (e.g., 45 °C). Its output is combined with the room controller output through a minimum or maximum selector, or through a dedicated analog multiplexer that overrides the room controller output when AI2 exceeds the duct limit. An Analog Ramp block (B33) provides soft-start of the boost setpoint change to avoid thermal shock to the heating coil.
Step-by-Step: Building the Dual-Setpoint Logic
Step 1 — Configure the AM2 RTD inputs
- Open LOGO! Soft Comfort and place the network.
- From the catalog, drag an Analog Input block (AI) onto the diagram and assign it to slot 1, channel 1 (AM2 RTD AI1).
- Set sensor type to PT100, 3-wire, and the measurement range to -50 to +200 °C. The block will output a value in 0.1 °C steps when configured as temperature, or 0–1000 when configured as a normalized value. For PI control in the 0–1000 domain, enable normalization in the block parameters.
- Repeat for AI2 on the same module for the supply-duct PT100.
Step 2 — Build the setpoint multiplexer
- Place an Analog Multiplexer block (catalog → Analog → Multiplexer, B25). The 0BA8 generation supports up to 8 inputs; you need 3 inputs for this design (room setpoint 20 °C, boost setpoint 40 °C, fixed override 1000).
- Convert the desired setpoint temperatures into the 0–1000 internal range. For a sensor configured from -50 to +200 °C (span 250 °C), the linear scaling is:
Setpoint_word = (Setpoint_°C - (-50)) / 250 * 1000 = (Setpoint_°C + 50) * 4
For 20 °C this yields 280, for 40 °C this yields 360, for the anti-freeze full-open 1000 is used directly. - Place two Analog Constant blocks with values 280 and 360 wired to MUX inputs A and B.
- Wire the digital input "boost enable" (I1) to the selector input (S) of the multiplexer. When I1 = 0, the MUX passes 280 (20 °C). When I1 = 1, it passes 360 (40 °C).
- Wire the MUX output to the SP (setpoint) input of the PI block.
Step 3 — Configure the room PI controller
- Place a PI Controller block (B30) from the catalog.
- Assign the room PT100 (AI1) to the PV (process value) input and the MUX output to the SP input.
- Set the output range to 0–1000 (representing 0–10 V at the analog output).
- Start with conservative tuning: Kp = 1.0, Ti = 60 s, Direction = positive (heating). For a ventilation coil with a 30–90 s response time, Kp = 1.5–2.5 with Ti = 90–120 s typically gives a stable response without oscillation.
- Sample time: leave at the default 500 ms unless you have a particularly noisy sensor, in which case 1 s is appropriate.
Step 4 — Add anti-freeze override
- Place a second Analog Multiplexer block (B26) downstream of the room PI output.
- Input A = PI block output. Input B = 1000 (the constant 10 V full-open signal).
- Wire the latched frost alarm to the selector input of B26. When the frost digital input is active, B26 passes 1000 to the analog output AQ1 regardless of PI state.
- Implement the frost latch using an SR flip-flop (B01): Set = frost DI (I2), Reset = acknowledge button (I3) or auto-reset once the sensor warms above 5 °C (use a comparator on AI1). Without latching, a chattering frost sensor would let the PI resume control while the coil is still iced.
Step 5 — Add supply-air temperature limiter with soft-start ramp
- Wire the MUX (B25) output through an Analog Ramp block (B33) before it reaches the PI setpoint. The ramp's rate-of-change limit (configured as 0–1000 units per second, or 0–1000 per minute in the block parameters) prevents a sudden 20 °C → 40 °C step that would slam the heating coil valve open and overshoot the supply-air limit.
- Set the ramp's maximum rise to 5 °C/minute (in normalized units, ~20/min on a 250 °C span). The 40 °C boost will then take 4 minutes to reach, giving the duct sensor time to react.
- Place a second PI block (B30) for the supply-duct PT100 (AI2) versus a fixed limit of 45 °C. Configure it as a tracking controller with output range 0–1000, Kp = 2.0, Ti = 30 s, Direction = positive.
- Use a third Analog Multiplexer (B27) to gate the supply-duct PI: when AI2 < 45 °C the MUX passes the room PI output; when AI2 ≥ 45 °C it passes the supply-duct PI output, which will pull the valve closed. The threshold is implemented with a comparator (B07) on AI2 with threshold 450 (mapped from 45 °C).
- Final stage: place an Analog Output block wired to the AM2 output channel 1. The block's input is the MUX B27 output, range 0–1000 = 0–10 V.
LOGO! Internal Scaling Reference
| Engineering Value | Normalized Word (0–1000) | Output Voltage | Output Current |
|---|---|---|---|
| 0 | 0 | 0.0 V | 0 / 4 mA |
| 25% | 250 | 2.5 V | 8 mA |
| 50% | 500 | 5.0 V | 12 mA |
| 75% | 750 | 7.5 V | 16 mA |
| 100% (full open) | 1000 | 10.0 V | 20 mA |
The same normalized 0–1000 word is used by the PI block output, the analog multiplexer, the analog ramp, the comparator thresholds, and the analog output block. This is why the 0BA8 program can be designed entirely in normalized space and then verified end-to-end with a multimeter on the AM2 output terminals.
PT100 Wiring and Module Configuration
| Parameter | Recommended Value | Notes |
|---|---|---|
| Sensor type | PT100, 3-wire | Compensates lead resistance. 2-wire is acceptable for short pigtails under 3 m. |
| Measurement range | -50 to +200 °C | Covers all expected room, duct, and frost conditions. The wider span reduces resolution to 0.25 °C per LSB but is more robust to wiring errors. |
| Filter | Enabled, 5 samples | Reduces noise on long cable runs. Disable for fast-response applications. |
| Sensor failure behavior | Output to 0 or 1000 | Configure to 0 so a failed sensor drives the valve to 0% (fail-safe for over-temperature), and let the anti-freeze DI provide the complementary protection. |
Verification Procedure
- Online monitor in LOGO! Soft Comfort: Connect to the LOGO! via Ethernet, switch to online mode, and observe AQ1, AI1, AI2, MUX1_out, PI1_out, MUX3_out in real time. Force I1 = 0 and confirm the room PI output drives AQ1 toward 0% with a 20 °C simulated PT100 input.
- Step response test: Apply a 0 °C step to AI1 (or heat the PT100 simulator) and observe AQ1 rise to 1000 within the expected settling time, then return to the steady-state value once AI1 reaches setpoint. A correctly tuned loop will overshoot 5–15% and settle in 2–3 time constants (2 * Ti = 240 s for the values above).
- Setpoint switch test: Toggle I1 from 0 to 1 and verify the MUX output transitions from 280 to 360 over the configured ramp time (4 minutes at 5 °C/min). Confirm AQ1 follows the new setpoint without oscillation.
- Anti-freeze test: Activate I2 and verify AQ1 jumps to 1000 within 1 scan cycle (≤ 250 ms at default cycle time) and remains latched until the reset button is pressed.
- Supply-air limiter test: Force AI2 to 50 °C and verify AQ1 clamps below the value that would drive the duct temperature higher, regardless of room setpoint.
- Analog output check: Measure AQ1 terminals with a multimeter. 1000 → 10.00 V ± 0.1 V; 500 → 5.00 V; 0 → 0.00 V. If the reading is off, the AM2 calibration or 24 V supply is suspect — not the program.
Troubleshooting Matrix
| Symptom | Probable Cause | Diagnostic | Resolution |
|---|---|---|---|
| Valve does not move at all | AM2 not powered, output not configured, motor actuator 24 V missing | Check 24 V at AM2 L+/M terminals; check AQ block bound to correct slot/channel | Power the AM2 from the LOGO! bus; rebind AQ1 to slot 2 channel 1 |
| Valve fully open all the time | Frost DI stuck, sensor shorted, MUX selector wired wrong | Read I2 in online monitor; check MUX B26 selector logic | Clear frost latch; verify sensor wiring; add normally-closed contact in parallel with I2 to detect stuck wiring |
| PI oscillates strongly | Ti too low, Kp too high, scan time too long | Reduce Kp to 0.5, increase Ti to 180 s, log response over 10 min | Retune using Ziegler-Nichols open-loop step test on the real coil |
| Boost setpoint has no effect | I1 wired to wrong MUX selector, MUX inputs swapped | Force I1 = 1 in online monitor; watch MUX1 output | Re-wire I1 to S of B25; confirm 280 and 360 constants on the right pins |
| PT100 reading -50 °C constantly | Open circuit on sensor, 3-wire not connected | Check resistance across PT100 with multimeter, should be ~108 Ω at 20 °C | Re-land 3-wire connections; check AM2 RTD configuration matches wiring |
| Ramp does not start | Analog Ramp enable input not driven, level offset wrong | Check enable input; verify ramp is configured in 0–1000 mode, not as a digital block | Tie enable to logical 1 if a permanent ramp is required |
| Supply-air limiter does not clamp | Comparator threshold inverted, MUX B27 selector wired wrong | Force AI2 = 500 and check comparator B07 output; watch B27 output | Swap comparator output to active high above 45 °C; verify B27 selector wiring |
Program Download and Commissioning
- Save the LSC project and use PC → LOGO! to transfer via Ethernet. The LOGO! must be in STOP mode or accept RUN-mode download (FS04+ supports online edit).
- Switch the LOGO! to RUN and confirm the heartbeat LED is solid green and the error LED is off. Any SF (system fault) LED indicates an AM2 configuration error or missing module — check the module list against the actual hardware stack.
- Walk through the verification procedure above before connecting the actuator to the heating coil. Bench-test with a 0–10 V dummy load first to confirm scaling.
- Document the final Kp, Ti, ramp rate, setpoints, and override thresholds on the cabinet door or in the LSC project header comment. These values are often the only information the next technician will have.
Extension to Other Control Strategies
The same multiplexer / PI / ramp structure scales to a wide range of HVAC tasks. For a cooling application, configure the PI block direction as negative so the output increases as the process variable falls below setpoint. For a dual-coil system (heating + cooling) use two PI blocks and a third analog multiplexer to select the appropriate output based on the difference between setpoint and process variable. For weather-compensated control, subtract an outdoor PT100 reading (scaled) from the room setpoint before feeding the MUX, and the boost input can be repurposed as a "night setback" enable. None of these require additional modules — they only change the constants and wiring inside the existing program.
How do I scale a temperature setpoint to the LOGO! 0–1000 internal range?
Use the linear formula Word = (°C - MinSpan) / (MaxSpan - MinSpan) * 1000. For a PT100 configured from -50 °C to +200 °C, 20 °C becomes 280 and 40 °C becomes 360. Enter these values into two Analog Constant blocks and feed them to an Analog Multiplexer selected by a digital input.
Can two PI controllers share one analog output on LOGO! 8?
Yes, but not directly. Use an Analog Multiplexer downstream of the PI outputs to select which controller drives the AQ block at any given time, or use a min/max selection if you need the lower or higher of two outputs (typical for heating/cooling blending). The multiplexer selector is a digital signal driven by your control logic.
What does the anti-freeze override actually do to the LOGO! program?
The frost digital input latches an SR flip-flop, which selects a second input of an analog multiplexer to force 1000 (10 V full-open) to the motor valve. This overrides every other function including the PI controller, the setpoint multiplexer, and the supply-air limiter until the operator acknowledges the alarm. This is the correct fail-safe pattern for hydronic heating coils where ice damage is more expensive than overheating.
Why use an Analog Ramp before the PI setpoint?
A ramp block limits the rate of change of the setpoint so a step from 20 °C to 40 °C does not reach the PI in one scan. Without the ramp, the proportional term immediately commands 100% valve, the supply air overshoots the duct limit, and the limiter clamps hard, causing oscillation. A 5 °C/minute ramp on the setpoint gives the duct sensor time to react and the limiter time to engage smoothly.
Which LOGO! modules do I need for two PT100 sensors and one 0–10 V output?
One AM2 RTD module (6ED1055-1MA00-0BA2) accepts two PT100 sensors directly on AI1 and AI2. One AM2 module (6ED1055-1MA00-0BA0) provides two 0–10 V outputs. If the 0BA8 base module has an integrated analog output (0BA8 versions ending in -1MD08-0BA2 have transistor outputs only, no analog out), use the AM2 for the valve. Add a DM8 for the digital inputs and outputs.