Siemens LOGO! Soft Comfort V8.3: Resolving 4 Programming Problems

David Krause17 min read
HMI ProgrammingSiemensTroubleshooting
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

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:

  1. Decimal comma entry inside the math operator block.
  2. Holding one sensor's value on the LOGO! display while a second sensor is active.
  3. Driving a heating resistor up to a requested temperature setpoint.
  4. 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.

  1. Identify the resolution required for the result (one, two, or three decimal places).
  2. Choose a scaling factor: 10 = one decimal, 100 = two decimals, 1000 = three decimals.
  3. Apply the scaling factor by either a constant or a parameter block before the math operator.
  4. 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

  1. Open the simulation in Soft Comfort: Tools → Simulation.
  2. Force AI1 to 12345 and observe the result block — the integer field shows 12345.
  3. In the message text, add an "Analog" bar with 1 decimal place; verify the displayed value is 12.3.
  4. 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

  1. In LOGO! Soft Comfort V8.3, open the message text configuration (right-click → Properties on a message text block).
  2. Enable Sustain, or feed the page-select input from a Set/Reset (RS) flip-flop.
  3. Drive the RS flip-flop's SET input from the first sensor.
  4. Drive the RESET input from the second sensor.
  5. 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

  1. Insert a math instruction configured as: input A = AI1 (live), input B = constant 0, operator = SUB or MOV, gain = 1.
  2. 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.
  3. 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).
  4. 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

  1. The RS flip-flop block (Bistable) in the digital instructions has a retention option.
  2. Use the first sensor as SET.
  3. Use the second sensor as RESET.
  4. Tap the Q output to a flag (M1–M27) or to the page-select input of the message text.

4.5 Verification

  1. In Simulation, force AI1 = 50.0, raise I1 (first sensor), confirm the message text shows 50.0.
  2. Raise I2 (second sensor) and confirm the value is still 50.0 on the held page.
  3. Lower I1 and raise I2 — confirm the page does not switch until reset is pulsed.
  4. 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.

  1. Drop an Analog Threshold Trigger (block B027) from the analog library.
  2. Set ON threshold = setpoint − hysteresis (e.g. 48 °C if setpoint is 50 °C, hysteresis 2 °C).
  3. Set OFF threshold = setpoint + hysteresis (e.g. 52 °C).
  4. Drive the output Q from the trigger.
  5. 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

  1. In Simulation, force AI1 to 4700 (representing 47.0 °C after scaling). Q1 should turn on.
  2. Force AI1 to 5100 (51.0 °C). Q1 should turn off.
  3. Force AI1 to 4500 (45.0 °C). Q1 should turn on again.
  4. On the real module, verify the SSR LED illuminates when the temperature drops below 48 °C.
Safety: Any heating application that could exceed 60 °C on a test bench must include an independent thermal fuse in series with the heater. Do not rely solely on the LOGO! program for over-temperature protection.

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.

  1. Use an RS flip-flop (B001 block).
  2. SET input = the analog threshold trigger output from Problem 3 (high when temperature is in band).
  3. RESET input = a "Start/Stop" digital input or a manual reset.
  4. Q output = M1 (flag 1).

Step 2: Use the flag to step a counter.

  1. Drop a Up/Down Counter (B002 or B003) configured as Up Counter.
  2. Count input = M1 (the latched setpoint-reached bit).
  3. Reset = a manual reset.
  4. Threshold = 1 (so the first reach triggers Q).

Step 3: Map the counter output to the speed stage.

  1. Counter Q1 → M2 (Speed stage 2).
  2. Counter Q2 → M3 (Speed stage 3) — and so on.
  3. Use M2 to energise the second-speed contactor, or to write a new analog setpoint.

Step 4: For analog VFD control.

  1. 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).
  2. Build a math block: input A = constant stage value, input B = flag M2 multiplied by gain 250 (so 0 or 2.5 V offset).
  3. 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

  1. 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.
  2. Verify AQ1 increases by 2.5 V on the second reach.
  3. 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:

  1. PT100/AI1 input scaled to °C.
  2. Math operator with artificial decimal.
  3. Message text page latched by RS flip-flop.
  4. Threshold trigger 48–52 °C.
  5. RS flip-flop setpoint-reached latch.
  6. Up counter → speed stage flag.
  7. Heater output Q1 (SSR) and speed output Q2 / AQ1.
PT100 / AI1 Threshold 48-52 °C RS flip-flop latch Heater Q1 (SSR) Up counter +1 M2 flag → speed stage 2

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:

  1. Open the project and rename all block labels to English (or bilingual) equivalents.
  2. Export the diagram as a PDF via File → Print → Selection, scaled to A4.
  3. Compress the project file using ZIP format, not RAR or 7z, because some peer-support tools strip RAR attachments.
  4. Include a short README.txt file 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.

Back to blog