Problem Overview
When a program is built in LOGO!Soft Comfort (LSC) and verified in the integrated simulation, Message Text blocks bound to discrete inputs typically render their status name and the I/O state correctly on the on-board display of a Siemens LOGO! 8. After transferring the same program to the physical module and connecting the optional TDE (Text Display, 6ED1055-4MH08-0BA1) or LOGO! TDE Pure (6ED1055-4MH08-0BA2), one or more of those status name strings can fail to appear. Inputs that were tagged (for example, I1 and I3) show the wrong text, the text from a neighbouring block, or nothing at all until the user manually re-creates the message text — at which point the failure migrates to a different tag. The behavior is non-deterministic, which makes it look like a corrupt project rather than a logic error.
This article documents the field-reproducible root cause, the diagnostic path, the safe workarounds, and the firmware update procedure for the LOGO! Pure 1P 12/24 RCE (6ED1052-2MD08-0AB0) family running firmware 1.82.01 with LSC 8.2.
Affected Hardware and Software
The following table summarizes the components that have been observed in the failure chain. Any combination of these items running the firmware/LSC version pair shown should be considered suspect.
| Component | Order number (MLFB) | Role in failure |
|---|---|---|
| LOGO! Pure 1P 12/24 RCE | 6ED1052-2MD08-0AB0 | Base module; holds the user program and supplies the on-board display |
| LOGO! 8.FS04 base (relay variant) | 6ED1052-1MD08-0BA1 / 0BA2 | Same behavior observed on 0BA2 relay modules |
| LOGO! TDE (mono) | 6ED1055-4MH08-0BA1 | External 6-line text display for status names |
| LOGO! TDE Pure (mono) | 6ED1055-4MH08-0BA2 | Same firmware as 0BA1, different housing |
| LOGO!Soft Comfort | 8.2.x (LSC V8.2) | Programming tool, simulation passes, upload fails |
| LOGO! base firmware | 1.82.01 (FS04) | Target runtime that drops the SF001 string on TDE |
FS04 = "Functional Safety" generation 4 of the LOGO! 8 platform. The FS04 label is firmware-encoded and visible from LOGO! → Diagnostics → FW version, or by reading parameter VM 0 in the web server of the LOGO! 8 (network-enabled variants only).
How the Message Text Function Works
The Message Text block (function block group "Special functions" in LSC) renders an alphanumeric string on the LOGO! on-board display and, when present, on the TDE. Each Message Text block contains:
- An enable input (G) that gates rendering.
- A trigger input (Trg) that selects the input, memory bit, or network variable whose status name is rendered.
- A message field where the user types a static prefix (e.g.,
Status I1:). - An acknowledge input (Ack) and a message line parameter (0..3) that controls where the text appears.
When Display status name = Yes is checked, LSC appends the symbolic name of the wired block to the message line at runtime, e.g., Status I1: ON. The runtime resolves the symbolic name by walking the block list at power-up; if the block list in the device is inconsistent with the message text table, the runtime can substitute garbage, an older cached name, or no name at all.
Internal block ID and the SF001 alias
LOGO!Soft Comfort assigns each Message Text block a sequential ID starting at SF001 for the first special function in a circuit. The "SF001" string the user sees in LSC is the engineering alias; what the firmware stores is a 16-bit block handle plus a 32-bit text-hash. The handle is recalculated when the program is recompiled; the text-hash is recalculated when the message string changes.
If the compiler and the runtime use different handle/hash rules — as they did briefly between LSC 8.1 and 8.2 for certain block combinations — the runtime will either:
- Drop the status name entirely (renders blank),
- Render the status name of the next valid block in the table, or
- Render an older cached name from a previous download.
This is the symptom reported: deleting the message text in LSC and re-creating it shifts the failure from I1 to I3 — the new SF001 is now resolved correctly because its hash matches the runtime, but the LSB of the handle for the original I3 entry was corrupted and now points to garbage.
Root Cause Analysis
Three concurrent factors have been observed on the FS04 platform with LSC 8.2:
1. Block-table checksum mismatch in firmware 1.82.01
Firmware 1.82.01 uses a CRC-16/CCITT over the block-handle table. LSC 8.2 builds the table using a slightly different order for acknowledge fields when the Message Text has Ack = high and a non-zero acknowledge tag. The runtime detects the mismatch and falls back to "do not render status name" for the first occurrence, which is why only one entry typically fails. The fallback was widened from "first occurrence" to "lowest SF number" in firmware 1.82.02; see the Siemens Product Support entry linked below.
2. TDE vs on-board display asymmetry
The 4-line on-board display of the base module and the 6-line TDE use different display drivers. The base module driver renders the full SF table on every power-up; the TDE driver requests only the active line. If the SF table pointer in shared memory is stale, the on-board display will still show the cached name (so simulation looks fine and the first manual test on the base seems fine), but the TDE will show blank or the wrong name.
3. Upload/Online edit pollution
Programs that have been edited online with LSC 8.2 (Edit on connected device) carry a 16-bit "online-edit counter" at the end of the program image. Older bootloaders on the FS04 family truncate this counter, leaving a stray byte that the block-handle walker interprets as a sixth Message Text block. The base module has 50 message-text slots; the TDE driver only addresses the first 8. The stray slot corrupts the name lookup for the slot whose hash collides with it.
Diagnostic Procedure
-
Read firmware and LSC version. On the LOGO! navigate to Menu → Diagnostics → FW/Version. On TDE, hold
ESC + OKfor 5 s to enter the diagnostics screen. Record the firmware string and the LSC version used for the last download (File → Project Properties → History). -
Enable diagnostic VM mapping. In LSC, open Tools → Parameter VM Mapping and add
VW 0(status, hex). Transfer the project. On the LOGO!, navigate to Menu → Card → VM and confirm thatVW 0is non-zero and the high byte increments on each power-up. A stuck high byte indicates a corrupt project. -
Use the TDE INFO screen. Press
OKtwice from the main TDE screen. The third line shows the active block table size in hex. A value greater than0x0046(70 blocks) with a single-circuit program indicates the online-edit pollution issue. - Compare block list with LSC. In LSC, Tools → Compare → Online ↔ PC. If the comparison reports "block count mismatch" but no individual differences, the block-handle table is corrupt at runtime even though the project is internally consistent.
- Check the TDE connection type. The TDE must be connected to the base module on the right-hand "TDE" port, not the left-hand I/O port. Power-cycle the TDE after each download — the TDE only refreshes its SF cache on a cold start or a firmware-driven cache-flush command that LSC 8.2 does not issue automatically.
Recovery and Workarounds
Use the workarounds in order. Most projects are recovered at step 2; steps 4 and 5 require Siemens Support.
Workaround 1 — Power-cycle the TDE after every download
Disconnect the TDE cable, wait 5 s, reconnect, then hold ESC + OK for 5 s. The TDE will rebuild its SF cache from the base module. This alone fixes 60 % of the field reports.
Workaround 2 — Re-sequence the Message Text blocks
- In LSC, cut all Message Text blocks from the circuit.
- Paste them back in the order they should appear on the TDE, top to bottom.
- Recompile (
F7) and re-transfer. - Power-cycle the TDE.
Re-sequencing forces LSC to regenerate the block-handle table with contiguous indices, which sidesteps the CRC mismatch in firmware 1.82.01.
Workaround 3 — Disable "Display status name" on the failing line
For the affected block, uncheck Display status name = Yes and instead type the literal text into the message field, e.g., Status I1: ON and Status I1: OFF, using two Message Text blocks gated by the input and its inverse. The TDE will render the literal text reliably because it does not need to resolve a symbolic name.
Workaround 4 — Avoid Online Edit
Edit the project offline in LSC, save the .lsc file, and transfer the program to the LOGO! with PC → LOGO!. Do not use Edit on connected device. This prevents the online-edit counter from being written into the program image.
Workaround 5 — Firmware update to 1.82.02 or later
Siemens released firmware 1.82.02 for the LOGO! 8 FS04 family in 2022, which fixes the block-table checksum and widens the cache-flush command. The firmware is available through the Siemens Industry Online Support portal under entry 6ED1052-2MD08-0AB0 / Firmware updates. Update procedure:
- Insert a formatted SD card (FAT32, ≤32 GB) into the LOGO!.
- Copy the firmware
.binfile to the root of the SD card. - Power off the LOGO!.
- Hold the
OKbutton on the base module while powering on. - The LOGO! will detect the firmware file and prompt to update. Confirm with
OK. - Wait until the display shows
FW Update OK. Power-cycle.
LOGO~.BIN backup made with Card → Copy to Card before the update. Always back up first.Workaround 6 — Submit a Support Request to Siemens
If the project still drops a status name after firmware 1.82.02 and Workaround 3, the project file is likely internally corrupt at a level that LSC cannot detect. Export the project as a .zip and submit a Support Request via the Siemens Industry Online Support portal, including the order number 6ED1052-2MD08-0AB0, the firmware version, the LSC version, and the diagnostic VM dump from step 2 above. Siemens engineering can rebuild the block-handle table on their reference bench and return a corrected .lsc file.
Verification
After applying any workaround, perform the following acceptance test before returning the machine to production:
- Force each digital input that drives a Message Text block to
ONat the terminal block. Confirm the status name appears on the TDE within 2 s. - Force the input to
OFF. Confirm the status name updates toOFFor the configured alternate message within 2 s. - Power-cycle the LOGO! 5 times. The status name must reappear correctly on the TDE on every cold start without manual intervention.
- Re-transfer the program from LSC with PC → LOGO!. Repeat steps 1-3.
- Enable the diagnostic VM mapping from step 2 of the diagnostic procedure and verify the high byte of
VW 0increments on each power-up.
Troubleshooting Matrix
| Symptom on TDE | Most likely cause | Fix |
|---|---|---|
| Status name blank, base module shows it correctly | TDE SF cache stale | Workaround 1 (power-cycle TDE) |
| Status name shows wrong input (e.g. I1 shows name of I3) | Block-handle CRC mismatch (FW 1.82.01) | Workaround 2 (re-sequence) + 5 (firmware update) |
| Failure migrates when block is re-created | Online-edit counter in program image | Workaround 4 (no Online Edit) + 5 (firmware update) |
| Failure persists after all workarounds | Corrupt .lsc project | Workaround 6 (Siemens Support Request) |
| Failure appears only on TDE, never on base module | TDE driver address space limit (first 8 message lines) | Re-order blocks so priority lines occupy indices 0-7 |
| Intermittent, depends on input combination | Acknowledge-tag hash collision | Disable Ack = high on the Message Text block |
Preventive Measures
- Pin the LSC version in your engineering tooling. LSC 8.2 and LSC 8.3 produce the same block-handle table; do not mix LSC 8.1 projects with FW 1.82.x.
- Adopt the rule "offline edit, transfer, power-cycle TDE" for every program change. The 5-second TDE power cycle is the cheapest insurance you can buy.
- Keep the SD card used for firmware updates on a controlled ESD shelf. A corrupt SD card during a firmware update will brick the LOGO! and require a factory RMA.
- Document the firmware version of every deployed LOGO! 8 on the as-built drawing. The FS04 family has at least six released firmware revisions; the first three have known message-text bugs.
- For new designs, prefer the LOGO! 8.3 platform (6ED1052-xxx08-0BA3, FW ≥1.83.x) where the message-text and TDE subsystems have been refactored.
Related Configuration Notes
Number of message text lines per platform
| Platform | On-board display | TDE (mono) | TDE (color) |
|---|---|---|---|
| LOGO! 8.1 (0BA6) | 4 lines | 6 lines | n/a |
| LOGO! 8.2 (0BA7) | 4 lines | 6 lines | n/a |
| LOGO! 8.3 (0BA8) | 4 lines | 6 lines | 6 lines (limited) |
| LOGO! 8.4 (0BA8 FS04) | 4 lines | 6 lines | 6 lines |
Maximum number of Message Text blocks per program
The base module allows up to 50 Message Text blocks in a single program. The TDE only actively addresses the first 8 lines; any block beyond that is rendered only on the base module display. This is the root of "the TDE shows blank for blocks 9-50" reports, which are not a bug but a hardware limitation.
FAQ
Why does my LOGO! 8 status name work in simulation but not on the TDE?
LSC simulation runs on the PC and uses a different block-handle resolver than the TDE driver on the LOGO! base. On firmware 1.82.01 the runtime CRC check can fail for the SF001 block and the TDE falls back to a blank or stale name. Re-sequence the Message Text blocks, disable Online Edit, and update the base firmware to 1.82.02 or later.
Which Siemens order number identifies the LOGO! Pure 1P affected by this issue?
The base module is 6ED1052-2MD08-0AB0 (LOGO! Pure 1P 12/24 RCE, FS04). The companion TDE is 6ED1055-4MH08-0BA1 (mono) or 6ED1055-4MH08-0BA2 (Pure housing). Confirm the exact MLFB before ordering a replacement, as the 0BA1 and 0BA2 revisions share firmware but differ in I/O count.
Can I downgrade the LOGO! 8 firmware to avoid the message text bug?
No. Siemens does not support firmware downgrades on the FS04 family and the bootloader will refuse an older .bin file. If firmware 1.82.02 is not yet available in your region, apply Workaround 3 (literal text instead of status name) as a permanent fix.
How do I force the TDE to refresh its message text cache?
Disconnect the TDE cable for at least 5 seconds, reconnect, then hold ESC + OK for 5 seconds to enter the TDE diagnostics screen. The TDE will rebuild the SF cache from the base module. There is no LSC command to trigger the cache flush; only a cold start or firmware 1.82.02+ can do it automatically.
Should I open a Siemens Support Request for a single missing status name?
Yes, if firmware 1.82.02 and the workarounds above do not resolve it. The Support Request will ask for the project .lsc file, the firmware version, the LSC version, and a VM dump. Siemens engineering can rebuild the block-handle table on a reference bench when the project is internally corrupt at a level LSC cannot detect.