Problem Overview
A common commissioning issue on the Siemens LOGO! 8 platform is the silent failure of a message text block to render the state of digital outputs on the device's built-in LCD, even though the Soft Comfort V8.x simulation shows them correctly. In a representative incident:
- Hardware: LOGO! 8 24RCE (6ED1052-1CC08-0BA1) base module with one LOGO! AM2 (6ED1055-1MA00-0BA2) analog input expansion.
- Program: A counter block driven by Q1 and Q2, plus a message text block expected to print the live state of Q1 and Q2 alongside other telemetry.
- Observed: Soft Comfort renders the I/O values in the message text preview. The same program downloaded to the physical LOGO! renders every other line of the message text correctly but leaves the Q1/Q2 cells visibly empty.
Two well-documented constraints, both firmware features rather than defects, combine to produce the empty cells:
- Display geometry — the LOGO! 8 base-unit LCD is fixed at 6 lines × 16 visible characters. The Ticker attribute extends each line buffer to 32 characters and scrolls the line horizontally, but anything past column 16 is hidden until the ticker has run for at least one full scroll period. A placeholder dropped at column 17 or later is invisible to the operator unless the ticker is enabled and the line has scrolled.
- Operand type — message text blocks accept only enumerated I/O status names, bar graphs, counter/timer values, and arithmetic results as placeholders. A raw digital Q operand cannot be inserted into a text field; it can only be referenced through its named I/O identifier, a pre-scaled analog flag, or an arithmetic instruction that coerces the boolean to an integer.
Both behaviors are documented in the LOGO! 8 system manual and in the Soft Comfort V8.x online help under "Message Text Configuration", available through the Siemens Industry Online Support portal at support.industry.siemens.com. This article consolidates the two constraints into one diagnostic procedure and three resolution paths.
Hardware and Software Inventory
| Item | MLFB | Firmware / Version | Relevance to the fault |
|---|---|---|---|
| LOGO! 8 24RCE base module | 6ED1052-1CC08-0BA1 | FW V8.0 or later (V8.2 recommended) | Hosts the message text block and drives the 6-line × 16-character STN LCD. |
| LOGO! AM2 (analog input) | 6ED1055-1MA00-0BA2 | Tied to base firmware | Two analog inputs (PT100 / 0–10 V / 0–20 mA). No role in the fault; included to confirm the symptom persists regardless of expansion count. |
| LOGO! AM2 AQ (AI+AO superset) | 6ED1055-1MA02-0BA2 | Tied to base firmware | Pin-compatible successor with 2 AI + 2 AO; verify before replacement. |
| LOGO! Soft Comfort | 6ED1058-0BA02-0YA1 (DVD) / free download | V8.0, V8.1, V8.2, V8.3+ | Authoring tool. The "I/O Status Name" placeholder and the Show-0 preference are complete from V8.2 onward. |
| PC link cable | Ethernet (onboard for the 24RCE) or LOGO! USB cable 6ED1057-1AA00-0BA0 | — | Carries PC⇄LOGO program transfer; mismatch produces download-time errors, not LCD rendering issues. |
Verify the active MLFB and firmware revision against the Siemens Industry Online Support portal at support.industry.siemens.com before ordering spares or staging firmware upgrades; the AM2 has been superseded by AM2 AQ on some current shipping lots.
Display Geometry and Ticker Behavior
The LOGO! 8 base unit (12/24RCE, 24RCE, 230RCE) integrates a 6-line STN LCD with a native visible width of 16 characters per line. When the message text editor enables the Ticker attribute, each line buffer doubles to 32 characters and the firmware scrolls the line horizontally so cells 17 through 32 pass through the visible 16. The ticker is global per message text block; you cannot enable it for individual lines.
The practical implication: if a placeholder for Q1 or Q2 is dropped at character 17 or later, the operator never sees the value through the visible window unless the ticker is enabled and the line has had time to scroll. With the ticker disabled, the placeholders sit silently in the off-screen buffer and the only reliable on-device indicator becomes the dedicated I/O STATUS menu (top-level ESC → "I/O STATUS"), where every input, output, flag, and analog variable is shown by its configured I/O name regardless of message text contents.
Operand Restrictions Inside a Message Text
| Placeholder type | Allowed? | Typical use case | Behavior with 0 vs 1 / value |
|---|---|---|---|
| Direct Q1 / Q2 / digital I/O operand | No | — | Editor refuses; if forced via back-door, renders blank on device. |
| I/O Status Name (digital I/O) | Yes | Display on/off state by configured name (≤4 chars). | Shows the I/O name when state=1; shows 0 (or blank if "Show 0" is suppressed) when 0. |
| I/O Status Name (analog AI) | Yes | Display engineering-unit value of PT100 / 0–10 V / 0–20 mA. | Scales per analog input config; configured prefix + numeric value. |
| Bar graph (analog only) | Yes | Visual level on AI / AQ / AM / VW tag. | Horizontal bar from low-scale to high-scale; height 1 or 2 cells. |
| Counter / Timer current value | Yes (integer) | Pulse count or remaining time. | Printed as decimal integer; no leading zero pad. |
| Arithmetic instruction output | Yes (integer) | Computed Q sum, scaled boolean → integer. | Integer with sign and configured decimal places. |
| Message text variable (V) | Yes | Free-form text from VM mapping (V8.x). | Up to 16 chars of variable text per V slot. |
The editor enforces most of these restrictions. The greyed-out toolbar entries in Soft Comfort V8.x (View → Toolbars → Message Text) make the contract explicit: only "I/O Status Name", "Bar Graph", "Analog Input", "Counter / Timer Value", and "Message Text Variable" appear as valid insertions. A raw Q-tag icon does not exist by design.
Solution 1 — I/O Status Name
The I/O status name is the canonical mechanism for surfacing the on/off state of a digital output inside a message text frame. It exploits the I/O name table that Soft Comfort V8.x maintains for every input, output, flag, and analog variable in the project. Configure it once per project; the names then propagate to the LOGO! display and the LOGO! web server (V8.1+).
Configuration in Soft Comfort
- Project tree → right-click I/O Names → Edit. The dialog lists every symbolic identifier Soft Comfort can render.
- Locate Q1 and Q2 in the Outputs block. Default firmware names are "Q1" and "Q2" until the user overrides them.
- For each, set the Display Name to a ≤4-character string readable on a 6 × 16 LCD. Examples:
PMP1,VLVE,RN1,RN2. Exceeding four characters causes firmware truncation and space padding. - Save the project and re-open the Message Text block. With the text cursor inside the line where the Q-state belongs, choose Insert → I/O Status Name (or the toolbar button). Pick Q1, then Q2 from the tree.
- The placeholder "Q1" (or the configured display name) now appears in the text. When Q1 is on, the placeholder shows the configured name; when Q1 is off, it shows "0" (zero) or blank depending on the "Show 0" preference in the message text dialog.
- Repeat for Q2 in the same line or a separate line, taking care to keep each placeholder starting within columns 1–16 of its line if the ticker is disabled.
Behavior Summary
| Q1 state | Placeholder renders |
|---|---|
| 0 (OFF) | "0" or blank (configurable via Show 0) |
| 1 (ON) | Configured display name (e.g., "PMP1") |
If "Show 0" is disabled and Q1 is off, the placeholder renders as spaces, which can look identical to a hidden cell. Always leave "Show 0" enabled during commissioning and only suppress it after the operator is trained on what an absent name means.
Solution 2 — Bar Graph via Scaled Analog Flag
The bar graph placeholder in message text is analog-only; it does not accept a digital operand directly. To coerce a Q-bit into a bar-graph-friendly signal, multiply the boolean by 100 in an arithmetic instruction and store the result in an analog marker (AM) slot that the editor treats as an integer.
- Add an Arithmetic Instruction block (Soft Comfort: drag from the analog function palette).
- Configure inputs:
Operand A = Q1(digital, type BOOL)Operator = ×Operand B = constant 100 - Route the arithmetic output to
AM1(analog marker). The block converts the boolean to integer 0 or 100. - In the message text block, insert a Bar Graph placeholder. Configure:
Source: AM1
Min: 0
Max: 100
Axis Position: bottom
Bar Height: 1 cell - Save and download. With Q1=1 the bar fills to the right edge; with Q1=0 the bar collapses to the baseline.
Solution 3 — Arithmetic Result and Counter Values
For applications that already use a counter driven by Q1 and Q2 (the incident under discussion included a "count how many times Q1 and Q2 switch" use case), the counter's current value is itself a directly renderable message-text placeholder. Place a numeric placeholder bound to the counter and the device prints the count as a signed integer.
Recommended Approach for a Boolean Visible as 0 / 1
- Keep the existing counter block unchanged.
- Add a one-shot pulse that increments a second counter (C2) on every transition of Q1; do the same for Q2 → C3.
- Render the parity of C2 mod 2 as the indicator. The arithmetic block "
C2 mod 2" yields 0 when the count is even and 1 when odd, which directly equals the present state of Q1 regardless of how many transitions preceded. - Place an arithmetic-output placeholder in the message text with two decimal places suppressed, so the operator sees just "0" or "1".
The practical advantage of this method is debuggability on the device itself: the I/O STATUS menu shows the counter value live, so the field operator can correlate the visible integer with the underlying count without a PC.
End-to-End Configuration Procedure
- Open the LOGO! Soft Comfort V8.x project. Confirm the base model is set to LOGO! 8 24RCE (or a display-equipped variant). Programs targeting a CE base (no display) drop the symptom entirely because there is no LCD; verify before debugging.
- Project Tree → Program → Message Texts. Open the existing message text block.
- Set the Activation input. Two modes exist: level-triggered (message is active while the trigger signal is high) and edge-triggered (message latches on a rising edge and acknowledges via the front-panel OK button). For a status display following Q1/Q2 continuously, use level-triggered.
- Set Line Count (1–6). Each line is rendered when both data and the activation condition allow.
- If any line needs to reference placeholders past column 16, enable Ticker at the message-text level. The ticker is global per block; it scrolls every line that exceeds 16 chars at the firmware-configured cadence (default ~1 second per char-shift).
- Set Show 0 = enabled for each placeholder if the operator needs to distinguish an OFF state from a fault. Suppress "0" only after the operator is familiar with the screen.
- Insert placeholders. Toolbar button "I/O Status Name" opens a tree to pick Q1/Q2 by their I/O display name. Toolbar button "Bar Graph" opens analog source selection.
- Validate in Soft Comfort by pressing F5 (Start Simulation). The simulation pane is character-identical to the LOGO! LCD for placeholders that are valid in this firmware revision.
- Transfer → PC → LOGO!. On the LOGO! unit, the front panel shows the message text only if the block is active; if not, navigate the system menu to verify the program is in RUN mode.
Device-Side Commissioning and Verification
- Confirm RUN state. The green RUN LED is solid, the red ERROR LED is dark. If the error LED is solid or flashing, the firmware has rejected the download; investigate before re-rendering message text.
- Confirm the message text is active. Use the four-way navigation to cycle through "Program → Card → Setup → I/O STATUS". When the message text is active the LCD displays it; when not, the LCD returns to the configured default screen. The active message text takes precedence over all other on-device screens except a fault.
- Force Q1 = 1 via the simulation input. From Soft Comfort, Tools → Simulate Inputs. Toggle the input that drives the Q1 coil. Watch the LCD: the I/O status name placeholder should flip from "0" to the configured name.
- Force Q1 = 0 and confirm the placeholder reverses. If Show 0 is enabled, the placeholder shows "0"; if disabled, it shows blank.
- Check the I/O STATUS screen. Press ESC from the main screen, navigate to "I/O STATUS", and scroll to Q1/Q2. The status screen is independent of message text and is the ground truth.
- Cycle the backlight. Press ESC from the message text with no menu selection to wake the screen. If the backlight has timed out (Setup → Backlight → Mode = OFF after 60 s default), the LCD may simply be asleep while the message text is still being executed — this is a different "I don't see anything" symptom and resolves by configuring Mode = ON1 / ON2.
Diagnostic Matrix
| Observed symptom | Most likely cause | Verify by | Corrective action |
|---|---|---|---|
| Soft Comfort shows Q state; device shows blank | Direct Q operand inserted (not supported) | Open text block; check for raw "Q1" string in cell content | Replace with Insert → I/O Status Name placeholder. |
| Soft Comfort shows Q state; device shows nothing on that line | Q placeholder past column 16 with ticker disabled | Count cells in the line; check Ticker attribute | Enable Ticker or reposition placeholder into cells 1–16. |
| Soft Comfort shows Q=1 name; device shows "0" indefinitely | Q is not driven by any block in RUN mode | I/O STATUS menu on device | Trace Q coil; verify counter / output block logic. |
| All message texts invisible on device, simulation OK | Backlight mode OFF and timeout elapsed | Press any front-panel key | Setup → Backlight → Mode = ON1 / ON2. |
| All message texts blank on device; CE variant installed | CE variant has no built-in display | Check MLFB on device nameplate | Replace with display-equipped variant or use TDE. |
| Message text on screen but no placeholders render | Character set mismatch (Standard vs Alt) | Setup → CharSet on device | Match Soft Comfort character set under Tools → Options. |
| Bar graph placeholder works; I/O status name does not | I/O name field empty in I/O Names dialog | Open I/O Names dialog; filter for Q1 / Q2 | Assign a 1–4 character display name. |
| Counter value renders but reports 0 always | Counter reset on every scan; no event ever seen | I/O STATUS → counter → value | Verify input edge source; raise edge with simulation tool. |
| Placeholders show stale values after power cycle | Persistent M flag retains last state from prior run | I/O STATUS → M / AM flags | Reset the relevant M/AM block at start-up. |
Firmware Compatibility and Field Edge Cases
Soft Comfort V8.0 introduced the modern message-text editor and the I/O status name. V8.1 added the LOGO! web server, where placeholders render with HTML/CSS geometry rather than the LCD 6 × 16 grid. V8.2 added improved bar graph axis alignment and the "Show 0" preference. A project authored with pre-V8.0 Soft Comfort downloaded to a LOGO! 8 base is rejected at compile time; that is not the present symptom.
LOGO! 8 base firmware has been V8.x throughout active production; behavior differences between V8.0 and V8.3 firmware are confined to the web server rendering and the LWE (LOGO! Web Editor) project sync. The 6 × 16 LCD geometry has been unchanged. Confirm the active revision under the LOGO! main menu → Diagnostics → FW (or on the start-screen text) before assuming the display geometry has shifted.
- LOGO! 8 CE variants (no display): programs targeting a CE base can include message text blocks but nothing is rendered on the device. Use the LOGO! TDE (6ED1055-4MH00-0BA0) for local visualization, or the LOGO! Web Server accessible via Ethernet.
- Multiple active message texts: the LOGO! 8 firmware renders only one message text at a time. If two activate simultaneously, the lowest block number wins (priority 1 is highest). This can mask a placeholder rendering correctly while the operator believes it is broken.
- ACK vs level-triggered: a message text configured as edge-triggered with ACK requires the operator to press OK to clear. Until clearance, the placeholder content is frozen; "Show 0" preference does not update while the block is waiting for ACK.
- Persistent M / AM markers: markers marked persistent retain state across power cycles. A Q coil coming out of the program (e.g., via a retained relay output) can leave the I/O status name placeholder showing a "1" until the coil is explicitly reset.
- LWE upload path: when using LOGO! Web Editor (V8.1+) the placeholder types match Soft Comfort, but the LWE hides the "CharSet" preference. Projects uploaded through LWE may render alt-character placeholders incorrectly on the LCD until the project's CharSet is synchronized through Soft Comfort.
FAQ
Why does Soft Comfort show my Q1/Q2 state in the message text but my LOGO! 8 device shows nothing in those cells?
The LOGO! 8 message-text editor does not accept a raw digital operand such as Q1 or Q2. Insert the I/O Status Name placeholder (Toolbar → "I/O Status Name") and bind it to Q1/Q2. Configure a 1–4 character display name under Project → I/O Names. If your placeholder starts past column 16, enable the Ticker attribute on the message text block or reposition the placeholder into the visible 16 cells.
What are the visible dimensions of the LOGO! 8 base-unit LCD?
6 lines × 16 characters per line = 96 characters. With the Ticker enabled, each line buffer extends to 32 characters and the firmware scrolls horizontally at a fixed cadence (default 1 second per character shift) to expose cells 17–32.
Can I show a bar graph of a digital output in a message text?
Only after coercing it to an analog value. Multiply the Q-bit by 100 in an Arithmetic Instruction block and route the result to an analog marker (AM1). Insert a Bar Graph placeholder sourced from AM1 with min=0, max=100. Q=1 fills the bar to the right; Q=0 collapses it to the baseline.
What is the difference between "I/O STATUS" on the device and an I/O Status Name in a message text?
I/O STATUS is a top-level menu (ESC → I/O STATUS) that exposes every I/O, flag, and analog variable in the program by its configured name. It is independent of message text and shows ground truth regardless of placeholder errors. The I/O Status Name placeholder is the in-frame rendering of a single I/O value inside the message-text buffer.
Does the LOGO! TDE have a different display geometry from the LOGO! 8 base unit?
Both have 6 lines × 16 visible characters. The TDE extends each per-line buffer to 80 characters with a ticker that scrolls horizontally. The base-unit LCD buffer remains at 32 characters with the ticker. Programs authored for the base unit run unchanged on the TDE; the inverse is also true provided the program does not depend on the TDE-only character set.
The Q placeholder shows the correct name in Soft Comfort but "0" forever on the device — what does that mean?
It means Q is not actually driven high in the running program. Open the I/O STATUS menu on the device (ESC → I/O STATUS) and confirm the Q-state. If the on-device I/O STATUS also reports 0, the Q coil is not energized by any block — re-trace the ladder logic feeding the Q coil and confirm the upstream logic is reaching the output.