1. Problem Summary
A Siemens LOGO! logic module driving an external LOGO! TD (Text Display) or LOGO! TDE shows the integrated onboard display correctly, but the external TD/TDE screen leaves one or more configured text message screens blank (or reverts immediately to the next message). The on-board LOGO! display works as designed; the TD panel does not render the message. Simulation in LOGO!Soft Comfort shows the message as expected, but after the program is downloaded to the physical LOGO!, the TD screen refuses to draw that message.
This behavior has been reproduced on LOGO! base modules paired with a stand-alone LOGO! TD (part of the 0BA6 / 0BA7 generation, often referred to informally as "LOGO! 7") and on systems where the LOGO! 0BA8 base module communicates with a 0BA8-series TDE. The failure is not random: it correlates directly with the block numbers referenced inside the text message body, not with the LOGO! project file or the wiring of the unit.
2. Root Cause Analysis
The LOGO! runtime maintains a fixed-size internal index for the text-message interpreter. Every analog/digital block in a LOGO! program is assigned a sequential block number when the ladder/FBD is built. The text-message function block displays the value of one or more of these blocks using the Bxxx notation in the message body, e.g. B059, B184, or B326.
On the older LOGO! TD firmware (and on early revisions of the LOGO! 0BA6/0BA7 base module firmware that drives it), the text-message interpreter is built to resolve block references in the range B001 through B200 only. Block numbers above 200 are valid blocks in the program and are executed correctly by the LOGO! CPU, but the TD's message rendering routine cannot dereference them. When the TD parser encounters B201 or higher inside a message string, it discards the entire message and advances to the next configured message or the idle screen. The base module's own display, which uses a different parser, may still draw the message because its internal buffer is sized differently.
The hard cut-off at 200 is therefore a text-message-block-reference limitation, not a program-size limitation. A LOGO! program can legally contain 400+ function blocks, but a text message body may only safely reference blocks with index ≤ 200 if the connected TD is on the affected firmware generation.
3. Affected Hardware and Firmware
Use the table below to triage which combination you are likely working with. Always confirm by reading the device label and the firmware info screen before applying the workaround.
| LOGO! base module | Order number (MLFB) | External display | Typical firmware tag | Block-reference ceiling in text messages |
|---|---|---|---|---|
| LOGO! 0BA6 (LOGO! 6 / "7") | 6ED1052-xxx06-0BA0 family | LOGO! TD 0BA6 | early FS revisions | 200 |
| LOGO! 0BA7 ("LOGO! 7") | 6ED1052-xxx07-0BA0 family | LOGO! TD 0BA6/0BA7 | FS:01 / FS:02 / early FS:03 | 200 on most early TDs |
| LOGO! 0BA8 standard | 6ED1052-xxx08-0BA0 family | LOGO! TDE 0BA8 | FS:03 and later | raises with newer firmware; see release notes |
| LOGO! 8.FS4 (0BA8 Std) | 6ED1052-1MD08-0BA1 etc. | LOGO! TDE 0BA8 | FS:04 / FS:05 | supports a significantly larger block index set |
| LOGO! 8.3 (0BA8 high-end) | 6ED1052-1HX08-0BA1 etc. | LOGO! TDE 0BA8 | FS:03 / FS:04 | supports full block range |
4. Diagnosing the Issue
Run the following checks in order. Each step is non-destructive and can be performed on the live machine.
4.1 Confirm firmware revisions
- On the LOGO! base module, navigate to
LOGO! > Diagnostics > FW Versionand record the base module firmware (e.g.FS:02,FS:03,FS:04). - If a TD/TDE is attached, navigate the same menu on the TD and record the display firmware.
- Cross-check against the latest available firmware on the Siemens Industry Online Support portal for your specific MLFB numbers.
4.2 Reproduce in simulation
- Open the project in LOGO!Soft Comfort and run the simulation (F2 or the toolbar simulator).
- Trigger the conditions for the suspect text message and confirm the message text and block values render correctly in the simulated TD panel.
- If simulation shows the message but the physical TD does not, the parser limit is the leading suspect. If simulation also fails, fix the ladder logic first; the 200-block issue is not your root cause.
4.3 Inspect the message body
- Open each text-message function block in the FBD editor.
- Note the
Bxxxtokens embedded in the message string. - Sort the tokens by index. If any block number is greater than 200, the message is at risk on TD firmware that enforces the 200-cap.
4.4 Binary test the boundary
- Duplicate the suspect text message.
- Replace the high-numbered block reference (e.g.
B326) with a low-numbered block (e.g.B059) that carries the same signal value, or with a constant. - Download to hardware. If the modified message now displays, the block-reference ceiling is confirmed.
5. Solution: Reorder Blocks So All Referenced Indices Are ≤ 200
The cleanest fix is to ensure that any block whose value is rendered inside a text message has an index of 200 or less. LOGO!Soft Comfort assigns block numbers in the order blocks are created; you cannot directly renumber an existing block, but you can replace the high-numbered block with a logically equivalent low-numbered one. The original poster in the source confirmed this approach as the working remedy.
5.1 Workaround A: Reuse a low-indexed mirror block
- Identify the high-numbered block (e.g.
B326) referenced in the message. - Insert a low-numbered analogue/flag block in the upper region of the FBD (block index ≤ 200) and wire the same input signal to it.
- Replace
B326with the new low-indexed block inside the text message body. - Recompile and download. The TD should now render the message.
5.2 Workaround B: Re-architect with a flag/analog flag relay
- Insert an Analog Flag or Digital Flag block near the top of the FBD (these consume early block numbers).
- Feed the value you want to display into the flag.
- Reference the flag's low index from the text message.
- Use the original high-indexed block in your control logic and the flag purely for display purposes.
5.3 Workaround C: Split the message
- If a single message contains multiple high-indexed references, split the message into two alternating messages, each containing only low-indexed references.
- Use message priority and the message-enable conditions to alternate between them on the TD.
5.4 Workaround D: Upgrade firmware or hardware
- Confirm on Siemens Industry Online Support whether a newer firmware for the TD or for the LOGO! base raises the block-reference ceiling.
- If supported, perform the firmware update with LOGO!Soft Comfort in online mode, or via the SD card procedure documented in the LOGO! System Manual.
- Re-test with the original high-indexed block references. If the new firmware accepts them, the workaround reordering is no longer required.
.lsc file first.
6. Step-by-Step Recovery Procedure
The procedure below consolidates the diagnosis and the reorder workaround into a single field-recovery workflow.
-
Capture the project. Connect the LOGO! to LOGO!Soft Comfort in online mode and upload the program. Save it as
.lsc. This guarantees you can always roll back. -
Audit the text messages. Open each text-message function block and list every
Bxxxreference. Sort and flag any reference with index > 200. - Classify the message. For each offending message, mark whether the high-indexed reference is the only one, or one of several. Single-reference messages are easier to fix; multi-reference messages may need splitting (Workaround C).
- Insert replacement blocks. For each high-indexed reference, add an Analog Flag (for analog values) or Digital Flag (for boolean values) early in the FBD so it consumes a low block number (≤ 200). Wire the original signal to it.
-
Update the text message body. Replace
Bxxx(where xxx > 200) with the new flag'sBxxxtoken. - Compile in simulation. Run the LOGO!Soft Comfort simulator and confirm the message renders. Check the block values change as expected when you force inputs.
- Download to hardware. Stop the LOGO! (or use the online edit feature if available), download the modified program, and restart.
- Verify on the TD. Walk through the operator scenario. Confirm the message appears on both the base-module display and the external TD panel.
- Document the change. Annotate the FBD with comments explaining the flag mirrors, and update the maintenance log so the next engineer does not undo the reordering.
7. Verification Checklist
| Check | Method | Expected result |
|---|---|---|
| All message references ≤ 200 | Inspect every text-message block in FBD editor | No Bxxx with xxx > 200 in any message body |
| Simulation shows all messages | Run LOGO!Soft Comfort simulator and trigger every message | Each message renders with correct values |
| Hardware base module shows all messages | Onboard display of LOGO! | All messages render |
| Hardware TD shows all messages | External LOGO! TD/TDE panel | All messages render; no blank screens; no skipped messages |
| Block values update live | Force input transitions while message is on screen | Displayed values track the actual signal in real time |
| Message priority and acknoledge behavior unchanged | Operator test | Priority ordering, acknowledgement, and clearing match the original design |
| Project backup present | Check .lsc file or SD card |
A restorable copy of the final program exists on external media |
8. Prevention and Engineering Practices
-
Reserve low indices for display targets. When starting a new LOGO! program, place the blocks that will be displayed in text messages first, so they are automatically assigned low
Bxxxnumbers. Add control logic that is not displayed afterwards. - Use Analog/Digital Flags as display buffers. Routing displayed signals through a flag early in the FBD isolates the display path from the control path and keeps the indices low.
- Cap the FBD at 200 functional blocks on legacy targets. If a project must run on a LOGO! with the legacy TD limitation, plan the program so the total functional block count stays near 200. Beyond that, almost every text message will eventually collide with the cap.
- Maintain a TD firmware matrix. Document which LOGO! and which TD firmware versions are deployed in the plant, and which block-reference ceiling each combination supports. This avoids re-learning the limit at every new install.
- Test on hardware early. LOGO!Soft Comfort simulation does not enforce the TD block-reference limit. Always validate the project on the physical TD before signing off commissioning.
9. Common Pitfalls
- Assuming simulation parity. Simulation does not implement the TD's parser ceiling, so a program that simulates cleanly can still fail on hardware. The base-module display may also pass while the TD fails, because the two screens have different parsers.
- Adding a new function block pushes a display target above 200. A maintenance edit that inserts a block before an existing display target can shift the target's index above the cap and silently break the message. Always re-audit block indices after any insertion.
- Treating the TD as a passive LCD. The LOGO! TD is an active, firmware-driven device. Its message behavior depends on the firmware revision, not just on the program content.
- Confusing message count with block count. The 200-block limit refers to the block numbers referenced inside a single text message, not to the number of messages in the program, nor to the maximum number of messages the LOGO! can hold.
- Forgetting the SD card / battery implications. Some firmware updates or program changes erase retentive flags or the real-time clock. Verify the operational state of retentive data after a program rewrite.
10. Related Symptoms and How to Distinguish Them
| Symptom | Probable cause | How to verify |
|---|---|---|
| One specific text message is missing on the TD but present on the base module | Block-reference cap (this article) | Inspect Bxxx tokens; check against 200 |
| All text messages missing on the TD, base module shows them all | TD cable fault, wrong menu, or TD firmware corruption | Swap cable, check TD menu, reflash TD |
| All text messages missing on both screens | Message enable condition not met, or message priority configuration error | Check enable input, priority settings, acknowledge behavior |
| TD shows wrong values for displayed blocks | Wrong block referenced, or value scaling not applied | Cross-check with the actual block parameter in the FBD |
| TD flickers or shows garbage | Electrical noise on the TD interface cable | Inspect routing, separation from VFD cables, shield grounding |
| TD shows the message briefly then advances | Message acknowledgement logic causes immediate clear | Inspect the acknowledge tag and the message clear behavior |
11. Reference: LOGO! Text Message Block Reference Syntax
The text message body supports a small set of inline tokens. Understanding the syntax makes it easier to keep references low-indexed.
-
Bxxx— raw value of blockxxx(boolean or numeric, depending on the block type). -
Bar001— bar graph of analog block 001. -
TimeOfDay,Date— on-board clock placeholders. - Cursor keys
OK,ESC,<,>— control flow placeholders for operator input on the TD.
For numeric or analog values, the Bxxx token is the only way to display a live block value. There is no high-level "show variable X" construct; you must reference the actual block index. This is exactly why a high block index can silently disable a message on legacy TD firmware.
Why does my LOGO! TD not show a text message that the on-board display shows correctly?
The on-board LOGO! display and the external LOGO! TD use different text-message parsers. On older TD firmware the parser is hard-capped at block index 200, so any Bxxx reference above 200 in a message body causes the TD to skip the message. Replace those references with low-indexed analog or digital flag mirrors and re-download.
How can I confirm the 200-block ceiling on my specific LOGO! TD?
Open the TD menu, navigate to Diagnostics > FW Version and record the firmware tag. Cross-check it with the latest release notes for your MLFB on the Siemens Industry Online Support portal. Then duplicate the suspect message in LOGO!Soft Comfort, swap a high-indexed reference for a low-indexed one, download, and test on hardware. If the modified message renders, the cap is the cause.
Can I renumber an existing LOGO! function block?
No. Block numbers are assigned in the order the FBD is built and cannot be edited directly. The supported workaround is to insert a logically equivalent low-indexed block (typically an Analog or Digital Flag) and reference that new block in the text message. The original high-indexed block can remain in the control logic.
Does LOGO!Soft Comfort simulation reproduce the TD block-number limit?
No. The PC simulator does not enforce the TD's 200-block cap; a program can simulate cleanly and still fail on the physical TD. Treat simulation as a logic test only, and always verify the final program on the actual hardware TD before commissioning.
Will a firmware update remove the 200-block ceiling on the LOGO! TD?
Later firmware revisions for the 0BA8-series LOGO! and TDE raise or remove the ceiling. For older 0BA6/0BA7 TDs, firmware updates are limited and many units cannot be field-flashed. Check the LOGO! System Manual and the firmware release notes for your specific MLFB before assuming an update is available or supported.