Overview
The Siemens LOGO! logic relay family combines a small programmable logic controller (PLC) with an integrated display on the base module and an optional external LOGO! TD (Text Display). Together they form a menu-driven human-machine interface (HMI) that can replace a panel meter, a small operator panel, or a single-line status display in cost-sensitive installations. The LOGO! base module's display is character-based (4 lines × 12 characters on 0BA6/0BA7 and 6 lines × 16 characters on 0BA8 with the LOGO! TDE) and the LOGO! TD provides the same character grid plus four programmable function keys (F1, F2, F3, F4) that can be assigned as digital inputs or used to scroll user-defined message texts.
This article documents how to build custom sub-menus, parameter-set screens, status pages, and bar-graph HMIs on LOGO! generations 0BA6, 0BA7, and 0BA8 using the Message Text function block (block number B33 in the LOGO! block library), the LOGO! Soft Comfort engineering environment, and the F-keys of the LOGO! TD. The procedures apply to any base module in the family including the LOGO! 230RC, 230RCE, 12/24RC, 24RC, and 24CE variants; power-supply rating is irrelevant to the message-text logic but does affect which digital inputs accept mains-voltage (230 V AC) signals versus 24 V DC signals.
The reference implementation included below covers a four-screen lighting control sub-menu (On/Off, Timer, Dimmer, Status) driven from the LOGO! TD. All parameter numbers, flag names, and block identifiers match the LOGO! Soft Comfort v8.x block library for hardware generation 0BA8 and remain backward compatible to 0BA6/0BA7 with the noted limitations in the memory budget table.
Hardware Prerequisites
Before writing a single line of function-block-diagram (FBD) logic, confirm that the physical hardware can support the intended menu structure.
| Component | 0BA6 (6th gen) | 0BA7 (7th gen) | 0BA8 (8th gen) |
|---|---|---|---|
| Base module example | LOGO! 230RC (6ED1052-1FB00-0BA6) | LOGO! 230RCE (6ED1052-1FB00-0BA7) | LOGO! 230RCE (6ED1052-1FB00-0BA8) |
| Integrated display | Built-in 4×12 char | Built-in 4×12 char | Built-in 6×16 char (TDE color) |
| External TD option | LOGO! TD (6ED1055-1HB00-0BA6) | LOGO! TD (6ED1055-1HB00-0BA7) | LOGO! TDE (6ED1055-1MH00-0BA8) |
| Function keys on TD | F1, F2, F3, F4 | F1, F2, F3, F4 | F1, F2, F3, F4 + ESC, OK |
| Function keys as inputs | F1-F4 mapped to I7, I8, I9, I10 via TD | I7-I10 | I7-I10 (F1-F4), I11/I12 (ESC/OK) |
| Total program blocks | 200 | 400 | 400 |
| Maximum Message Texts (B33) | 50 | 50 | 50 |
| Analog inputs | 0 (none on 230V variant) | 0 | 0 (use AM2 RTD module) |
| Ethernet / Web server | No | No | Yes (built-in on -0BA8) |
| SD card slot | No | No | Yes |
| Real-time clock | Yes (230RC variant) | Yes | Yes |
Two key physical limits must be respected:
- Block budget. A 0BA6 base module accepts a maximum of 200 blocks per program (this includes digital, analog, counter, timer, message-text, and special-function blocks). On 0BA7 and 0BA8 the budget doubles to 400 blocks. Each Message Text block counts as one block regardless of how many lines it occupies.
- Message-text budget. The LOGO! block library supports up to 50 Message Text blocks (block ID 33) per program, regardless of generation. Designers planning more than 50 distinct on-screen pages must consolidate state into parameter-mapped message texts or use the LOGO! 8 web server for additional HMI screens.
LOGO! Soft Comfort Setup
Download and install LOGO! Soft Comfort v8.x from the Siemens Product Support portal. The current build (v8.3 and later) supports 0BA6, 0BA7, and 0BA8 targets from a single installation.
- Launch LOGO! Soft Comfort and create a new project (File → New).
- Select the target device: Tools → Select Hardware → LOGO! ... 0BAx. This exposes the correct block palette and pin count for your physical module.
- Open Tools → Ethernet Connections (0BA8 only) and configure the IP address, subnet mask, and gateway. Default IP after factory reset is 192.168.0.1.
- Verify the project tree contains Program, User Library, and Webserver nodes. The Webserver node appears only when the target is 0BA8.
- Open the Simulation panel (F8) and run the program offline before transferring to hardware.
The block palette is grouped into Co (coil / output), SF (special function), BN (binary / digital), and UDF (user-defined function). The Message Text block lives under the SF group; double-click its icon or drag it onto the diagram sheet to insert.
Memory and Block Budget Planning
Before inserting any Message Text blocks, calculate the consumed versus remaining resource budget. The relationship is linear:
Blocks_used = Σ(digital_blocks) + Σ(analog_blocks) + Σ(special_function_blocks) + Σ(message_text_blocks)
with the hard ceiling of 200 (0BA6) or 400 (0BA7/0BA8). On a typical four-screen lighting sub-menu the budget breakdown is:
| Block ID | Description | Count | Notes |
|---|---|---|---|
| B01 - AND | Input gating | 4 | Combine TD keys with hour-of-day |
| B05 - NAND | Inhibit logic | 2 | Stop button gating |
| B09 - OR | Menu aggregation | 3 | F1/F2 page up/down |
| B20 - On-delay | Auto-off timer | 2 | Stairwell lighting |
| RS (set/reset flip-flop) | Latching outputs | 4 | Q1-Q4 mains outputs |
| B33 - Message Text | Custom screens | 4 | On/Off, Timer, Status, About |
| WTDT (weekly timer) | Schedules | 2 | Time-of-day lighting |
| Total | — | 21 | ≈ 10% of 0BA6 budget |
If the project is approaching the budget ceiling on a 0BA6 base module, consider moving time-schedule logic into the LOGO! TD (which has its own non-volatile memory for sub-menus) or splitting the application across two LOGO! base modules networked via Ethernet (0BA8 only).
Message Text Function Block Configuration
The Message Text block (B33) is the heart of every custom LOGO! screen. Each block occupies one block in the memory budget and produces one full screen on the base-module display or LOGO! TD. Selecting the block opens a configuration dialog with five tabs: Text, Msg Text Config, Msg Text Param, Msg Text Bar, and Simulation.
Msg Text - Text tab
Enter up to four (0BA6/0BA7) or six (0BA8/TDE) lines of free text. Each line is 12 (0BA6/0BA7) or 16 (0BA8) characters wide. Inline variables are inserted using the toolbar {variable} placeholders, which resolve at runtime to the value of a digital flag, an analog amplifier output, a counter, or a real-time-clock field.
Msg Text - Msg Text Config
This tab defines when the screen is shown and how it reacts to acknowledgement. Key parameters:
| Parameter | Range | Meaning |
|---|---|---|
| MsgEn (enable input) | 0 or 1 | 1 = screen displayed when this input is high |
| Ack (acknowledge) | 0 or 1 | Pressing ESC on TD sends pulse; required for alarm acknowledgement |
| MsgType | None / Acknowledge / Error / Info | Determines beep pattern and priority |
| Tick | Off / 1 s / 2 s / 5 s | Flashes the screen line for fault emphasis |
| Priority | 0-99 | Higher priority message overwrites lower on shared display |
Msg Text - Msg Text Param
Up to four process variables (PV1-PV4) can be mapped into placeholders on the Text tab. Each variable accepts any LOGO! block output: AI (analog input), AQ (analog amplifier), Cnt (counter), Tmr (timer remaining time), or RTC (date/time). The display format (signed decimal, unsigned, hexadecimal, or bit-pattern) is selectable per variable.
Msg Text - Msg Text Bar
For visualization of a continuous variable, enable the optional horizontal bar graph at the bottom of the screen. Specify Bar Min and Bar Max in engineering units; the bar fills proportionally. Typical use cases include tank level, temperature, or lighting dimming percentage.
Msg Text - Simulation
The simulation tab previews the screen layout against offline variable values. Use this tab to confirm character alignment before transferring to hardware; runtime cannot re-flow text.
Building Custom Menu Navigation
The base-module display offers three native menu pages: Stop, Set Param, and Prg Name. To add custom pages, designers overlay Message Text blocks whose MsgEn inputs are tied to flag bits driven by TD function keys. The recommended pattern is a four-line menu skeleton replicated across all four pages:
Line 1: [>Set Param ] (the '>' cursor is a literal character, not a markup tag)
Line 2: [ Light 1 ON ]
Line 3: [ Light 2 OFF ]
Line 4: [ Back F1< ]
Navigation flags F1-F4 are wired to the LOGO! TD function keys as follows in the block diagram:
- I7 (TD F1) - Page up
- I8 (TD F2) - Page down
- I9 (TD F3) - Increment selected parameter
- I10 (TD F4) - Decrement selected parameter
On a 0BA8 module the LOGO! TDE adds I11 (ESC) and I12 (OK) for explicit confirmation, removing the need for a long-press workaround on the older 0BA6 TD.
The simplest navigation FSM is a counter (B01) clocked by I7 (up) and I8 (down). The counter output word drives a demultiplexer (MUX) selecting which of the four Message Text blocks has MsgEn = 1. The MUX output resets back to 0 when the counter rolls over 4 → 0 (4-state cycle).
LOGO! TD (Text Display) Integration
The LOGO! TD is connected to the base module via the integrated 4-wire ribbon cable (power + LOGO! TDE bus). On 0BA6 the TD must be the only bus device; on 0BA8 up to one TD/TDE plus Ethernet modules may be present. The TD displays whichever Message Text block has the highest priority; if two are active simultaneously, the lower priority is suppressed.
- Power down both base module and TD.
- Insert the TD ribbon into the bus port on the right side of the base module.
- Apply power; the TD performs a self-test and displays LOGO! TD plus the firmware version (e.g. FS:04 on a 0BA7 unit).
- In LOGO! Soft Comfort, open Tools → Ethernet Connections (0BA8) or skip this step on 0BA6/0BA7.
- Compile and download the program. The TD display should mirror the base-module display, and function keys should become available as inputs I7-I10 in the FBD.
If the TD remains blank after download, verify that at least one Message Text block has MsgEn = 1. A common mistake is leaving all Message Text blocks gated by a flag that never transitions; the base module then displays No Message.
Working with Function Keys F1-F4
On the LOGO! TD, F1-F4 behave as momentary pushbuttons, but their effect in the FBD depends on how each is wired. There are three common patterns:
| Pattern | Wiring | Use case |
|---|---|---|
| Direct edge | I7 → B01 (one-shot) | Single-step parameter increment |
| Latched | I7 → RS flip-flop → M28 flag | Mode select / toggle |
| Long-press | I7 → On-delay (T = 2 s) → flag M30 | Confirm destructive action |
For the lighting sub-menu the recommended pattern is a long-press on F4 to confirm the About page selection, while F1/F2/F3 are direct-edge increments or decrements.
Weekly Timer Behavior with Discrete Inputs
A common beginner question is why a discrete input cannot directly control a Weekly Timer (WTDT, block ID 22). The reason is architectural: the Weekly Timer has no enable input. Its output Q reflects the AND of three conditions:
- The current real-time-clock time is inside one of the configured ON windows.
- The configured day-of-week mask matches the current day.
- The Holiday (vacation / special-day) calendar is not active for the current date.
To gate a Weekly Timer output with a discrete input, combine the WTDT output with the input through an AND block (B01). The resulting signal is high only when both the schedule says on and the input is high:
WTDT.Q ---+
+---[ AND ]--- Q1 (mains output)
I1 (door) -+
This pattern is the correct fix for "the switch does not turn the light on during the scheduled off period". Mirror logic with NAND is required for inverse control (gate the output low when both inputs are high).
Sample Project: Lighting Control Sub-menu
The following FBD excerpt implements a four-screen sub-menu for a small office with two lighting circuits, a stairwell timer, and a status page. The project is built on a 0BA8 LOGO! 230RCE base module with a LOGO! TDE. The full program uses 21 blocks (≈ 10% of the 0BA6 budget, ≈ 5% of 0BA8).
Screen 1 - Main Menu
Line 1: >Lighting Menu
Line 2: 1) Office On/Off
Line 3: 2) Stairwell
Line 4: 3) Status
Flag M20 (page index) = 0
Screen 2 - Office On/Off
Line 1: >Office Lights
Line 2: Light 1 : {Q1}
Line 3: Light 2 : {Q2}
Line 4: F3=ON F4=OFF
Screen 3 - Stairwell Timer
Line 1: >Stairwell
Line 2: On time : {T1} s
Line 3: Remains : {T1r} s
Line 4: Bar [========--]
Screen 4 - Status
Line 1: >Status
Line 2: Time : {RTCt}
Line 3: Date : {RTCd}
Line 4: Run h : {Cnt2}
The four blocks are placed in the FBD sheet and ordered by ascending Priority (10, 20, 30, 40) to enforce the nav stack. Each block's MsgEn input is wired to the corresponding AND of M20 (current page) = N AND M21 (menu unlocked) = 1. The menu unlock flag M21 prevents accidental navigation during a programmed event such as a forced override.
Commissioning and Verification
- Compile the project (F2) and check for syntax errors in the LOGO! Soft Comfort output window. Zero errors are mandatory before transfer.
- Start Simulation (F8) and toggle the TD function keys to verify page navigation, parameter increments, and bar-graph updates.
- Connect the programming cable (USB or Ethernet for 0BA8) and click Download to Device (Ctrl+F8). Confirm the dialog shows the correct target firmware version, e.g. FS:05 for a 0BA7 or FS:02 for a 0BA8 module.
- Power-cycle the base module. The LOGO! will load the program from internal flash and the TD will display the first Message Text screen within 2-3 seconds.
- Verify each screen manually:
| Test | Expected result | Pass criteria |
|---|---|---|
| Power-on | Display shows Screen 1 within 3 s | ✓/✗ |
| F1 press | Display returns to Screen 1 (page up wrap) | ✓/✗ |
| F2 press | Display advances to Screen 2 | ✓/✗ |
| F3 press on Screen 2 | Q1 toggles high | ✓/✗ |
| F4 press on Screen 2 | Q1 toggles low | ✓/✗ |
| Weekly Timer override (I1 high) | Q1 follows WTDT regardless of TD key | ✓/✗ |
| Power cycle during operation | Program reloads; outputs return to last state | ✓/✗ |
| Block count in Status menu | Shows 21 blocks used | ✓/✗ |
Troubleshooting Matrix
| Symptom | Likely cause | Corrective action |
|---|---|---|
| Display shows No Message | All Message Text blocks have MsgEn = 0 | Recheck enable logic; force M21 = 1 during commissioning |
| TD is blank after download | Ribbon not seated or bus terminator missing | Reseat ribbon; verify 24 V on TD pins 1/2 |
| F-key press has no effect in FBD | TD not configured in LOGO! Soft Comfort | Enable Tools → TD/TDE → Use; recompile |
| Bar graph stays at zero | Variable type mismatch (signed vs unsigned) | Set Bar Min/Max to match analog amplifier output range |
| Weekly Timer cannot be gated by a switch | WTDT has no enable input | Use an AND (B01) block between WTDT.Q and the switch input |
| Message text shows raw placeholder | Variable not selected in Msg Text Param tab | Map PV1-PV4 to the desired block output |
| Block limit exceeded during compile | 0BA6 cap of 200 reached | Audit block list; remove unused UDFs or move to 0BA8 |
| Time-of-day schedules jump by one hour | DST transition not handled | Enable automatic DST in Tools → Clock → DST |
Standards, Manuals and Official References
The procedures above align with the LOGO! system manual published by Siemens Industry Online Support. Always cross-check the version of the manual that matches the firmware (FS) printed on the device label, as the menu labels and block palette have evolved across generations. The official product page for the LOGO! family is at the Siemens LOGO! product center. The LOGO! Soft Comfort engineering tool and its release notes are available on the LOGO! product support page. Device-level manuals, function-block references, and application examples are searchable on the Siemens Industry Online Support portal using the order number printed on the front of the module (for example 6ED1052-1FB00-0BA8 for a 230RCE base module in 0BA8 hardware).
How many Message Text screens can a Siemens LOGO! display simultaneously?
Up to 50 Message Text blocks (block ID B33) can be configured per program, regardless of generation. At runtime only the highest-priority active block is shown on a shared display, so for sub-menu navigation use a demultiplexer rather than enabling all blocks at once.
What is the maximum number of program blocks on a LOGO! 0BA6 versus 0BA8?
The 0BA6 hardware caps a single program at 200 blocks; the 0BA7 and 0BA8 hardware raise the ceiling to 400 blocks. Every Message Text counts as one block, so a four-screen sub-menu consumes only 4 blocks of that budget.
Why will my discrete switch not directly enable a Weekly Timer on the LOGO! 230RC?
The Weekly Timer (block B22) has no enable input - it only compares the real-time clock to its on-window schedule. Wire the switch and the WTDT output through an AND block (B01) so the lamp follows the schedule only while the switch is closed.
Which inputs do the LOGO! TD function keys F1-F4 map to in the FBD?
On a 0BA6 or 0BA7 TD, F1-F4 map to I7, I8, I9, I10 respectively. On a 0BA8 LOGO! TDE the mapping is the same plus I11 (ESC) and I12 (OK). These inputs appear in the FBD palette and can be wired like any other digital input.
Does the LOGO! TD require a separate power supply?
No. The LOGO! TD draws its power from the base module through the integrated ribbon cable. Verify that the ribbon is fully seated and that the base-module power budget (typically 1.5 A at 24 V DC on the bus) is not exceeded by other expansion modules.