1. Problem Overview
The Siemens LOGO! 8 logic module combined with LOGO! Soft Comfort V8.3 is a compact programmable relay used on test benches, laboratory rigs, and pilot installations. The V8.3 demo version supports the full instruction set of LOGO! 8 (6ED1052-xxx08-0BA1 hardware families and later) and adds the message-text configuration, the UDF (User Defined Function) editor, and the web-based LOGO! Access Tool. Engineers building a small closed-loop test rig commonly hit four issues early on, all of which can be resolved without leaving the LOGO! programming environment.
This reference covers the four reported problems on a test-bench application:
- Decimal comma entry inside the math operator block.
- Holding one sensor's value on the LOGO! display while a second sensor is active.
- Driving a heating resistor up to a requested temperature setpoint.
- Re-energising a speed increment after the temperature setpoint is reached.
Each problem is broken down to root cause, a concrete solution with LOGO! block numbers, and a verification step. A combined block diagram, a diagnostic matrix, and a FAQ close the reference.
2. Hardware and Software Context
LOGO! 8 base modules are sold as 12/24 V DC, 24 V DC, or 230 V AC versions. The 12/24 V and 24 V variants expose onboard analog inputs AI1–AI4 (0–10 V) that can be configured for 4–20 mA using the bridge menu. Relay outputs Q1–Q4 are rated 10 A resistive / 3 A inductive at 250 V AC. Transistor outputs (6ED1052-2xx08-0BAx base modules) can source PWM up to 8 kHz with 24 V DC / 0.3 A per point and are the standard method for SSR-driven heating control. Digital I/O is expandable to Q1–Q16 through DM8 (6ED1055-1MB00-0BA2) and DM16 (6ED1055-1BM00-0BA2) modules.
LOGO! Soft Comfort V8.3 is the engineering software that programs, simulates, and transfers the program to the module via Ethernet (LOGO! 8 and later) or the legacy PC cable. The arithmetic instruction set inside V8.3 mirrors the firmware capability: it operates on 16-bit signed integers internally, although the editor and the on-device display allow you to display and enter values using a scaled "artificial decimal".
| Module family | Order code suffix | Outputs | PWM | Notes |
|---|---|---|---|---|
| LOGO! 8 (relay) | 6ED1052-1MD00-0BA1 | Q1–Q4 relay | No | Most common bench module |
| LOGO! 8 (transistor) | 6ED1052-2MD00-0BA1 | Q1–Q4 PNP | Yes | Use for SSR heating |
| LOGO! 8.3 (relay) | 6ED1052-1MD00-0BA3 | Q1–Q4 relay | No | Latest firmware, no functional change to logic |
| LOGO! AM2 RTD | 6ED1055-1MD00-0BA2 | AI extension | — | PT100/PT1000 input for temperature |
| LOGO! AM2 0BA1 | 6ED1055-1MA00-0BA1 | AI extension | — | Two 0–10 V / 4–20 mA inputs |
3. Problem 1: Decimal Comma in the Math Operator
3.1 Root Cause
LOGO! 8 firmware processes math instructions as 16-bit signed integers. The integer range is −32 768 to 32 767. There is no native floating-point data type, no FLOAT block, and no comma support in the math operator's input fields. The user's locale often uses a comma as the decimal separator (e.g. French 49,9833) which is what makes this confusing. Inside LOGO! Soft Comfort, the decimal separator is a period, not a comma. The block will reject the value or silently truncate to zero if the decimal point is entered as a comma.
3.2 Solution — Use an Artificial Decimal Scaling
The standard technique is the "artificial decimal" or "scaled integer" approach. Multiply the raw value by 10, 100, or 1000 (depending on the resolution you need), do the math, and divide on display.
- Identify the resolution required for the result (one, two, or three decimal places).
- Choose a scaling factor: 10 = one decimal, 100 = two decimals, 1000 = three decimals.
- Apply the scaling factor by either a constant or a parameter block before the math operator.
- If a result must be displayed in engineering units, divide the internal scaled integer by the same factor inside a separate math block before feeding it to the message text or analog output.
Example 1 — Constant 49.983 with three-decimal resolution.
- Internal representation:
49 983 - Scaling factor:
1000 - Math expression:
49 983 / 1000 = 49.983(display only) - Constant entry in Soft Comfort:
49983(no decimal point)
Example 2 — Multiply two analog inputs and display as V².
- AI1 =
12 345(mV) - AI2 =
9 876(mV) - Internal product:
121 925 820— overflow risk on 16-bit; see limits below.
3.3 Limits and Engineering Rules
- 16-bit signed range is −32 768 to 32 767.
- A scaled integer of 32 767 with a scaling factor of 1000 represents 32.767 in engineering units.
- For larger values, use the LOGO! 8 extended analog library (AI, AQ blocks 0–10 V = 0–1000 raw, 4–20 mA = 0–1000 raw) and treat the integer 0–1000 as the engineering range.
- When chaining two math instructions, the intermediate result is also 16-bit; a partial overflow is silently lost.
3.4 Verification
- Open the simulation in Soft Comfort: Tools → Simulation.
- Force AI1 to
12345and observe the result block — the integer field shows12345. - In the message text, add an "Analog" bar with 1 decimal place; verify the displayed value is 12.3.
- On the real module, set the AI input to 2.5 V (which LOGO! reports as
250) and confirm the constant block accepts it without truncating.
4. Problem 2: Hold a Sensor Value on Screen While Another Sensor Is Active
4.1 Root Cause
LOGO! message text or onboard display polls the live value of the analog block. When a second sensor (or any digital input) goes high, the message-text page can scroll, redraw, or be replaced by another page if the program is configured to switch pages on event. The user perceives the "first sensor value" as being lost, but in fact the underlying variable is unchanged — only the screen position changes. The issue is purely a display-handling issue, not a math issue.
4.2 Solution A — Latch the Message Text Page
- In LOGO! Soft Comfort V8.3, open the message text configuration (right-click → Properties on a message text block).
- Enable Sustain, or feed the page-select input from a Set/Reset (RS) flip-flop.
- Drive the RS flip-flop's SET input from the first sensor.
- Drive the RESET input from the second sensor.
- The page stays visible while the first sensor is high and only switches when the second sensor rises.
4.3 Solution B — Snapshot the Sensor Value into a Holding Variable
- Insert a math instruction configured as: input A = AI1 (live), input B = constant 0, operator = SUB or MOV, gain = 1.
- When the first sensor is active, set the operator to "use A" (move-through) and write to a retentive area (B001–B032) or a UDF output.
- When the second sensor goes high, freeze the move-through (set the operator to "use B = 0" or block the input with a NAND gate).
- The value in the variable is now held until a release condition is met.
4.4 Solution C — Use the LOGO! Built-in Latching Bit
- The RS flip-flop block (Bistable) in the digital instructions has a retention option.
- Use the first sensor as SET.
- Use the second sensor as RESET.
- Tap the Q output to a flag (M1–M27) or to the page-select input of the message text.
4.5 Verification
- In Simulation, force AI1 = 50.0, raise I1 (first sensor), confirm the message text shows 50.0.
- Raise I2 (second sensor) and confirm the value is still 50.0 on the held page.
- Lower I1 and raise I2 — confirm the page does not switch until reset is pulsed.
- On the real module, time the latch with a stopwatch — the page should not flicker for at least 10 seconds while both sensors are held active.
5. Problem 3: Drive a Heating Resistor to a Requested Temperature Setpoint
5.1 Root Cause
The control logic for the temperature setpoint is correct, but the heating resistor is not being driven because:
- The output chosen is a relay output (Q1, Q2...) but the heating element draws more than the relay rating (typical LOGO! 8 relay: 10 A resistive, 3 A inductive at 250 V AC).
- The output is fed from the wrong tag.
- The analog input is wired but not scaled to °C.
- The threshold trigger is referenced to the wrong analog gain.
5.2 Solution — Wire the Output Correctly and Use a Hysteresis Comparator
Step 1: Identify the heater's electrical specs.
- Voltage: 24 V DC, 230 V AC, or 400 V AC three-phase.
- Current: typically 1 A to 16 A for a bench resistor.
- Verify the LOGO! output rating matches (relay outputs max 10 A resistive).
Step 2: Wire a contactor or SSR.
- For DC heating: drive a solid-state relay (SSR) from a transistor output Q1 (24 V DC / 0.3 A max per point).
- For AC heating: drive a contactor coil from a relay output Q1.
- Never connect a 230 V AC heater directly to a transistor output.
Step 3: Configure the analog input.
- PT100 / PT1000 / thermocouple: requires the LOGO! AM2 RTD module (6ED1055-1MD00-0BA2) or the AM2 PT100 (6ED1055-1MD00-0BA1).
- 0–10 V transducer: connect to AI1–AI4 on the base module.
- Configure sensor type in Soft Comfort: Tools → Parameter VM Mapping → AI Configuration.
Step 4: Build the comparator with hysteresis.
- Drop an Analog Threshold Trigger (block B027) from the analog library.
- Set ON threshold = setpoint − hysteresis (e.g. 48 °C if setpoint is 50 °C, hysteresis 2 °C).
- Set OFF threshold = setpoint + hysteresis (e.g. 52 °C).
- Drive the output Q from the trigger.
- Optional: add a max-time watchdog using an off-delay (off-delay > 0 s and on-delay > 0 s) so the heater cannot latch on indefinitely.
Example FBD sequence:
[AI1: PT100] → [B027: Threshold trigger On=48, Off=52] → [Q1: SSR/Contactor coil] → [Heating resistor]
5.3 Verification
- In Simulation, force AI1 to 4700 (representing 47.0 °C after scaling). Q1 should turn on.
- Force AI1 to 5100 (51.0 °C). Q1 should turn off.
- Force AI1 to 4500 (45.0 °C). Q1 should turn on again.
- On the real module, verify the SSR LED illuminates when the temperature drops below 48 °C.
6. Problem 4: Re-energise the Speed Step After the Setpoint is Reached
6.1 Root Cause
LOGO! Soft Comfort supports two speed-control patterns: discrete (relay + contactor) and analog (transistor PWM to a VFD or DC drive). The "increase speed" logic usually fails because:
- The increment is not latched; the program re-evaluates the increment every scan and reverts.
- The increment is being applied to the wrong output.
- The setpoint-reached bit is not debounced and oscillates, causing the speed to step up and down.
6.2 Solution — Latch the "Setpoint Reached" Bit, Then Step Up the Speed
Step 1: Create a latched "setpoint reached" flag.
- Use an RS flip-flop (B001 block).
- SET input = the analog threshold trigger output from Problem 3 (high when temperature is in band).
- RESET input = a "Start/Stop" digital input or a manual reset.
- Q output = M1 (flag 1).
Step 2: Use the flag to step a counter.
- Drop a Up/Down Counter (B002 or B003) configured as Up Counter.
- Count input = M1 (the latched setpoint-reached bit).
- Reset = a manual reset.
- Threshold = 1 (so the first reach triggers Q).
Step 3: Map the counter output to the speed stage.
- Counter Q1 → M2 (Speed stage 2).
- Counter Q2 → M3 (Speed stage 3) — and so on.
- Use M2 to energise the second-speed contactor, or to write a new analog setpoint.
Step 4: For analog VFD control.
- Configure AQ1 (analog output, 0–10 V) with two-segment scaling: stage 1 (M1 = 0) → AQ1 = 2.5 V (low speed); stage 2 (M1 = 1) → AQ1 = 5.0 V (high speed).
- Build a math block: input A = constant stage value, input B = flag M2 multiplied by gain 250 (so 0 or 2.5 V offset).
- Add to constant baseline 250 (representing 2.5 V baseline).
[PT100 AI1] → [Threshold 48-52 °C] → [RS flip-flop SET]
|
Q
|
[Up Counter +1]
|
[Counter Q1] → [M2 flag] → [AQ1 +2.5 V offset] → [VFD speed reference]
6.3 Verification
- In Simulation, force AI1 to 4700, then 5100, then 4700 again. Confirm that M2 (Speed stage 2) latches high on the first reach and stays high until manual reset.
- Verify AQ1 increases by 2.5 V on the second reach.
- On the real module, monitor the VFD display to confirm the speed reference steps up correctly.
7. Combined Functional Block Diagram
For clarity, the four problems map to a single FBD chain:
- PT100/AI1 input scaled to °C.
- Math operator with artificial decimal.
- Message text page latched by RS flip-flop.
- Threshold trigger 48–52 °C.
- RS flip-flop setpoint-reached latch.
- Up counter → speed stage flag.
- Heater output Q1 (SSR) and speed output Q2 / AQ1.
8. Common Pitfalls and Engineering Caveats
8.1 Comma vs Period in Constants
Always enter constants as integers in the math operator. If your Windows regional setting uses comma, Soft Comfort still expects period in the simulator and a period-less integer in the actual block. There is no workaround for the runtime; only the editor allows the comma-aware display when scaling is enabled. Adjust the language settings under Tools → Options → Editor to "English (USA)" to suppress the comma altogether while developing.
8.2 16-bit Overflow
The internal result of a math instruction is also 16-bit signed. If you multiply 1 000 × 1 000 you get 1 000 000 — overflow. Reduce the resolution (use scaling 10 instead of 1000) or split the operation across two math blocks. Watch for chained math instructions in particular, where an intermediate overflow is invisible at the output.
8.3 Relay vs Transistor Output
LOGO! 8 base modules with relay outputs cannot PWM. For PWM heating, use a LOGO! 8 with transistor outputs (order code 6ED1052-2MD00-0BA8 etc.) or use a bang-bang control on a relay output (Problem 3 above). The PWM instruction B049 only works on transistor outputs and can be configured for 1 Hz to 8 kHz.
8.4 Retain Flag Setting
The latched setpoint-reached flag in Problem 4 must be marked "Retain = Yes" in the block properties, otherwise a power cycle resets it to 0. The retain attribute is configured per block in the block's Properties dialog.
8.5 Simulation vs Runtime Behaviour
The Soft Comfort V8.3 simulator runs the program cycle-by-cycle in software. Some analog behaviour (sensor noise, hysteresis timing, dead-band) is approximated. Always run a no-load test on the real hardware before energising the heater.
8.6 Scan Time and Relay Wear
Bang-bang control on a mechanical relay causes a contactor to cycle at low frequency. Mechanical contactors are rated for 100 000 to 1 000 000 operations. At a 5-second cycle this corresponds to 6 days to 60 days of continuous duty. For longer campaigns, use a SSR or add a software cycle counter with a maintenance alarm.
9. Firmware and Module Compatibility
LOGO! Soft Comfort V8.3 supports the following base modules (verify on the device's sticker):
- LOGO! 8 (6ED1052-xxx08-0BA1) with firmware FS04 and later.
- LOGO! 8.1 / 8.2 (6ED1052-xxx08-0BA2) with firmware FS01 and later.
- LOGO! 8.3 (6ED1052-xxx08-0BA3) — current.
Older LOGO! 0BA6 and 0BA7 modules are not supported by V8.3. The demo version of Soft Comfort is fully functional in simulation and for 30 days of program transfer to a real device. The .lsc file format is binary; the .lma (LAD) and .lld (FBD) text formats are also exportable. See the official Siemens LOGO! Soft Comfort V8.3 system manual for the full compatibility matrix.
| Feature | Available on LOGO! 8 | Available on LOGO! 8.1+ | Notes |
|---|---|---|---|
| Math operator with artificial decimal | Yes | Yes | Same 16-bit integer core |
| RS flip-flop with retain | Yes | Yes | Set retain in block properties |
| PWM output (transistor base) | Yes | Yes | 1 Hz to 8 kHz |
| AQ1 analog output | 0–10 V | 0–10 V / 4–20 mA | Module-dependent |
| Web-based Access Tool | Limited | Full | 8.1+ required for cloud features |
10. Project File and Peer-Review Best Practice
When sharing a LOGO! Soft Comfort project file (.lsc) for peer review, always:
- Open the project and rename all block labels to English (or bilingual) equivalents.
- Export the diagram as a PDF via File → Print → Selection, scaled to A4.
- Compress the project file using ZIP format, not RAR or 7z, because some peer-support tools strip RAR attachments.
- Include a short
README.txtfile with the LOGO! Soft Comfort version, the target module order code, and the I/O assignment table.
The .lsc file is fully self-contained and includes the simulation parameters, but it is binary. For long-term archival, also export the FBD ladder (.lld) and LAD diagram (.lma) which are plain-text and remain readable without the editor.
11. Commissioning Checklist and Diagnostic Matrix
| Step | Check | Expected result | Pass/Fail |
|---|---|---|---|
| 1 | Open the project in Soft Comfort V8.3 → Simulation | Program loads without error | — |
| 2 | Force each AI and DI; confirm visible response | All inputs mapped | — |
| 3 | Step the temperature input through 0, 25, 50, 75, 100 °C | Threshold triggers fire at expected values | — |
| 4 | Pulse the latched setpoint-reached bit | M2 latches on first pulse | — |
| 5 | Reset M2 via the manual reset input | M2 returns to 0, AQ1 falls back to baseline | — |
| 6 | On the real module, monitor Q1 with a multimeter | Heater SSR pulls in at 48 °C, drops out at 52 °C | — |
| 7 | Monitor AQ1 with a multimeter (DC V range) | 2.50 V at stage 1, 5.00 V at stage 2 | — |
| 8 | Cycle power to the LOGO! module | Retain flags stay at last value | — |
| 9 | Thermal fuse test (bench rig) | Fuse opens above 70 °C regardless of program | — |
11.1 Common Failure Modes
| Symptom | Likely cause | Fix |
|---|---|---|
| Math block shows 0 | Comma entered instead of period; constant too large | Re-enter as integer, scale externally |
| Page jumps to default when sensor 2 fires | Page-select driven by a continuous signal instead of RS latch | Add RS flip-flop to page-select input |
| Heater never turns on | Output wired to a relay output, but heater draws >10 A | Re-route to contactor coil or use SSR |
| Heater chatters at setpoint | Hysteresis band too small for sensor noise | Increase hysteresis to 2–5 °C |
| Speed does not step up | Counter reset is wired to the same input as count | Move reset to a separate manual input |
| AQ1 does not change with stage | AQ1 not enabled in module configuration | Configure AQ1 in Tools → Parameter VM Mapping |
| Retain flag resets on power cycle | Retain attribute not enabled on RS flip-flop | Enable retain in block properties |
Why does LOGO! 8 not accept 49.983 in the math operator?
LOGO! 8 firmware uses 16-bit signed integers internally (−32 768 to 32 767). The math operator has no floating-point path. Enter the value as the integer 49 983 and scale by 1000 inside a second math block, or display the result in the message text with two decimal places by using the scaled value with the artificial decimal.
Can the LOGO! onboard display show a latched value while another sensor is active?
Yes. Use an RS flip-flop (Bistable) to drive the message text page-select input. SET = first sensor, RESET = second sensor. The page is held while the first sensor is high and only switches when the second sensor is pulsed.
Can I drive a 230 V AC heating resistor from a LOGO! transistor output?
No. Transistor outputs are 24 V DC, 0.3 A. For 230 V AC, use a relay output to drive a contactor coil, or use a DC SSR on a 24 V DC supply with the relay output as the control. For PWM heating, use a 24 V DC SSR with a transistor output, and select a 6ED1052-2xx08-0BAx transistor-base module.
How do I keep the speed increment latched after the setpoint is reached?
Latch the setpoint-reached bit using an RS flip-flop, drive a counter with the latched bit, and map the counter output to a flag or to the analog output (AQ1) for a VFD reference. Mark the flag as Retain = Yes to survive a power cycle.
Can I export the LOGO! program as text and share it?
Yes. File → Export → LOGO! Diagram (LAD) or FBD. The .lma and .lld formats are plain text and can be included in a ZIP archive for peer review. The native .lsc project file is binary; ZIP the .lsc for full project sharing.