1. Overview
Siemens LOGO! 8 logic modules (BM and TDE variants) provide a six-key cursor cluster — ESC, OK, ▲, ▶, ▼, ◀ — that doubles as a parameter-editing interface. When a project pushes the program memory toward the 400-block ceiling of LOGO! 8.x firmware, designers must avoid stacking dedicated "Edit parameter" function blocks for every variable. The practical alternative is a menu-driven parameter editor in which a single reusable editing screen intercepts the cursor cluster and rewrites the currently selected setpoint. This article documents the field-proven approach: detect the active screen, route the arrow keys to a single parameter editor, and write back the value to a variable identified by the menu cursor position.
The technique is built on the LOGO! 8 message-text feature with configurable cursor keys (Fs1…Fs4 in TDE) and the four programmable soft-keys (P1…P4) on the LOGO! BM. The implementation requires no additional function blocks beyond the four text-display blocks that are normally part of a multi-screen project — a critical constraint when the LOGO! 8 block counter approaches saturation.
2. Prerequisites
| Item | Required Version / Part | Notes |
|---|---|---|
| LOGO! 8 BM | 6ED1052-1MD08-0BA1 (12/24 V) or 6ED1052-1HB08-0BA1 (230 V) | 0BA8 generation, FW ≥ 8.0 |
| LOGO! TDE (optional) | 6ED1055-4MH08-0BA0 | Adds F1–F4 cursor keys and 6-line display |
| LOGO!Soft Comfort | V8.3 (Upgrade License 6ED1058-0BA08-0YA1) or newer | Project simulation requires matching version |
| SD card / microSD | Siemens 6ED1057-1AA01-0BA0 or equivalent ≤ 32 GB FAT32 | For firmware upgrade and program transfer |
| Free function blocks | ≥ 6 blocks remaining | 4 message-text blocks + 2 routing blocks |
| Variables (V-memory) | ≥ 1 byte per editable parameter + 2 bytes routing | LOGO! 8 provides 64 bytes VW area (V0.0–V63.7) |
Before editing, confirm the firmware version: LOGO! BM → ESC → Setup → Card/BD shows the firmware string. Cross-reference with the official Siemens LOGO! 8 system manual (entry ID 109751568).
3. LOGO! 8 Hardware and Firmware — Key Specs for Menu Design
The 0BA8 hardware family doubles the previous generation's block budget and doubles the V-memory range. The two display-capable modules behave differently with respect to cursor inputs:
| Feature | LOGO! 8 BM (built-in) | LOGO! 8 TDE (6ED1055-4MH08-0BA0) |
|---|---|---|
| Display lines × chars | 6 × 16 | 6 × 20 |
| Cursor keys | ▲ ▼ ◀ ▶ + OK + ESC | F1, F2, F3, F4 + ▲ ▼ ◀ ▶ + OK + ESC |
| Soft keys assignable in message text | P1–P4 (ESC = back) | F1–F4 (programmable) + P1–P4 |
| Backlight color | White / Red / Amber, configurable per text | White / Red / Amber |
| Max function blocks | 400 | (shares with BM) |
| Max digital I/O | 24 (with expansion) | — |
| Analog inputs max | 8 | — |
| Web server (V1.0 BM) | Yes (read-only V0.0–V15.7 without upgrade) | — |
The TDE's F-keys can be re-mapped to any LOGO! bit (M-flag, output, or input) through a message-text block. The BM only exposes the four soft-keys P1–P4 plus the physical cursor cluster. When the project must run on a BM without a TDE, design the menu to use only the six physical keys.
4. Cursor-Key Map and Display Structure
Every keypress on a LOGO! 8 display produces a flag pulse that the LSC editor exposes as a digital-input-style contact. Naming follows the function block "Message text" property sheet:
| Key | On-BM Flag | On-TDE Flag | Polarity in LSC |
|---|---|---|---|
| ESC | ES (M-flag, falling edge) | ESC | Active on press |
| OK | OK (rising edge) | OK | Active on press |
| ▲ Up | P1 (when remapped) | F1 (default) | Active on press |
| ▶ Right | P2 | F2 | Active on press |
| ▼ Down | P3 | F3 | Active on press |
| ◀ Left | P4 | F4 | Active on press |
P1–P4 soft-keys are visible only when the active message-text block is configured to "Show soft keys = Yes". The cursor cluster is always active when the display is unlocked, but the four ▲ ▶ ▼ ◀ keys double as soft-keys when no soft-key mapping is in use. Plan the LSC program so that one cursor key has a single unambiguous meaning per screen.The display update cycle is ~120 ms; the LSC editor samples inputs at the LOGO! scan rate (typically 20–50 ms). Debounce with a 100 ms on-delay block on each cursor flag to prevent multi-step navigation when a key is held.
5. Menu-Driven Parameter Editing Design
The constraint driving this design pattern is that LOGO! 8 will not expose a "current screen" bit. There is no internal tag that indicates which message-text block is currently visible — the LOGO! runtime engine does not publish this state. Therefore a menu system must re-create the cursor position in V-memory:
- Assign a single byte
MenuPos(e.g., VW10) holding the index 0…N of the currently selected parameter. - Use the ▼ / ▲ keys to
+1 / -1this byte with wrap-around at 0 and N. - Use the OK key to enter the Edit state — set a flag
EditMode(e.g., M10). - While in Edit mode, ◀ / ▶ decrement / increment the value of the parameter currently indexed by
MenuPos; OK exits Edit mode and stores; ESC discards. - Maintain a multiplexer (analog-input selector or arithmetic block) that switches the displayed value to
MenuPos— eliminates N duplicate "Display value" blocks.
With this structure, a project that exposes 10 user parameters can be edited with only 4 message-text blocks:
| Block # | Function | LSC Block Type | Lines |
|---|---|---|---|
| 1 | Parameter-list scroll view | Message text (multi-line) | 4 |
| 2 | Edit value + cursor | Message text (single-line) | 1 |
| 3 | Confirm / cancel | Message text (Yes/No) | 1 |
| 4 | Main / Home | Message text (multi-line) | 3 |
6. Step-by-Step Implementation
6.1 Create the menu index
- In LSC, place an Up/Down counter block (B002). Set:
- Input
Trg= cursor-down (P3) ANDed with 100 ms on-delay. - Input
Rst= cursor-up + 1 over parameter count, with modulus logic. - Output
Cnt= byte addressVW10.
- Input
- Bound
VW10between 0 andParamCount - 1using a comparator pair (B003, B004) feeding a multiplexer (B005) that wraps or clamps. Use a comparison block (Math.Abspattern) to produce a single V-byte that always sits inside the menu range.
6.2 Build the parameter value multiplexer
- Place a Multiplexer (Analog) block, B010. The selector input is
VW10. - Connect
IN1= first parameter,IN2= second, …IN8= eighth. For projects with more than 8 parameters, cascade multiplexers and use the upper bits ofVW10as the cascade selector. - Output
Qgoes to the message-text display in Block 1 (the scroll view) and to Block 2 (edit view) via a write block.
6.3 Detect the active parameter and dispatch writes
Without a "current screen" tag, the program must rely on the same VW10 index to know which parameter is being edited. When OK is pressed, latch EditMode = M10. The arrow keys now drive a bidirectional counter (EditDelta = VW11) that adds to the selected parameter value through an arithmetic block. On second OK, the value is committed and EditMode resets.
- Create a Demultiplexer (B020) with selector =
VW10, 8 outputs. - Each output (M20…M27) is the "store" trigger for the corresponding parameter — pulse it for one scan when OK is pressed while in Edit mode.
- The actual write happens through an Analog Setpoint (B030) whose
Parfield is set to a different V-byte for each parameter. The store-trigger pulse from B020 selects whichParis updated by using one of the eight Analog threshold trigger blocks (B031…B038) that passEditDeltato the target variable.
6.4 Message-text configuration
Open each message-text block and on the Soft-key tab set:
| Soft Key | Mapped Flag (Edit Mode) | Mapped Flag (Browse Mode) |
|---|---|---|
| ◀ Left (P4) | Decrement EditDelta | Wrap to last parameter |
| ▶ Right (P2) | Increment EditDelta | Wrap to first parameter |
| ▲ Up (P1) | Increment parameter value | Previous parameter |
| ▼ Down (P3) | Decrement parameter value | Next parameter |
| OK | Store and exit edit | Enter edit |
| ESC | Discard and exit edit | Return to main menu |
The "M-flag" returned by each soft key becomes the input to a 6-channel OR block that drives the corresponding logic.
7. Block Budget Optimization
The default temptation — one Message text block per parameter, each containing a copy of the value as a displayable element — is what saturates the block counter. The following optimizations are field-proven and can be applied in combination:
- Use a single multiplexer for display values (saves N−1 text blocks per N parameters).
- Encode parameter names in a single string pool by toggling the message-text block's character-substitution feature; the four soft-keys can then drive name lookups instead of having a separate text block per parameter.
- Replace arithmetic blocks with constants: a parameter "step size" that is fixed for the whole project is a constant and does not consume a block.
- Use Shift Register blocks (1 block) instead of N individual latches for storing the per-parameter edit state.
- Combine the four soft-key debounce timers into a single 50 Hz scheduler built from a 200 ms pulse generator + 4 up-counters — the LOGO! 8 can output this with one Generator block and one Counter block instead of four On-delay blocks.
After applying all five, a 10-parameter editor consumes roughly 12 function blocks including the four message-text blocks, leaving 388 blocks free on a 0BA8 BM.
8. Alternative Input Methods
8.1 LOGO! TDE Function Keys
The LOGO! Text Display (6ED1055-4MH08-0BA0) exposes four physical F-keys that can be assigned to any flag through the LSC "Message text" property sheet. They behave like digital inputs and can be sampled in the LOGO! program directly. Where panel space permits, the TDE's F-keys are the cleanest way to build a hierarchical menu:
- F1 = Home
- F2 = Parameters
- F3 = Diagnostics
- F4 = Acknowledge alarms
For detailed project examples see the Siemens LOGO! application examples page (filter: Display). The TDE example titled "LOGO! 8 BM cursor menu control with TD" implements a four-page parameter editor using only two function blocks per page by multiplexing the soft-key events.
8.2 LOGO! Web Editor (V1.0 BM only)
LOGO! 8 BM modules with the Web Server license (6ED1058-0BA08-0YE1 upgrade) expose a read/write web interface on port 80. Variables V0.0–V63.7 are visible. A user with a tablet can edit parameters without touching the BM. The web server is the most ergonomic fallback when the BM is mounted in an inaccessible enclosure, but it requires a network drop and is not appropriate for field commissioning on a ladder or lift.
8.3 Web-based drag-and-drop editing (NOT supported on LOGO!)
HTML arrow-key handlers in web applications follow the MDN arrow-function syntax for binding to keydown events. This browser-side technique is not used inside the LOGO! runtime — it is mentioned here only to disambiguate: the LOGO! Web Editor does not expose event-driven JavaScript hooks, so any "drag-and-drop" behavior must be built out of LSC blocks. CAD/3D arrow-dimension editors, similarly, are out of scope for the LOGO! logic module and are mentioned only to clarify that LOGO! does not share that interaction model.
9. Verification and Diagnostics
After downloading the program to the BM, run the following verification sequence:
- Block count check: in LSC, select Tools → Resources and confirm the total blocks used. The system accepts up to 400; aim to keep margin ≥ 10 blocks for runtime variables and analog flags.
- Cursor input test: in online mode, switch to Watch view. Trigger each cursor key and verify the corresponding M-flag pulses (rising edge) for exactly one scan.
-
Index wrap test: press ▼ repeatedly until
VW10wraps from 0 toParamCount-1. Confirm the parameter value displayed matches the multiplexer output. - Edit-mode latch: enter Edit mode, modify by ±10, press OK to commit. Power-cycle the BM and verify the value persists (LOGO! 8 retains V-memory across power cycles if the integrated capacitor is healthy; otherwise install a battery module 6ED1057-1BA00-0AA0).
- Esc-cancel test: modify, press ESC, power-cycle. Confirm the parameter reverts to the pre-edit value.
If the soft-key flags do not appear, the most common causes are:
| Symptom | Likely Cause | Action |
|---|---|---|
| No flag pulse on keypress | Message-text block not showing soft keys | Enable "Show soft keys = Yes" in block properties |
| Flag pulse on wrong key | Soft-key order changed in firmware ≥ 8.2 | Re-map P1–P4 to match firmware revision |
| Value displays "0" always | Multiplexer selector = 0; VW10 not driven |
Verify Up/Down counter output is bound to VW10
|
| Edit does not commit | OK flag is read as level, not edge | Insert a rising-edge contact upstream of the store trigger |
| Menu scrolls past last item | Missing wrap-around logic | Add OR-feedback so VW10 = 0 when VW10 == ParamCount |
10. Field-Proven Limitations and Edge Cases
- Block ceiling: even with all optimizations, a 30-parameter editor is realistic; above that, consider migrating to LOGO! 8.4 + S7-200 SMART migration path or to a full S7-1200 + KTP400 HMI.
- No float type in message text: LOGO! 8 message text shows a maximum of 3 decimal places, with comma vs. dot configured globally. Display precision is therefore fixed at compile time.
-
No signed display for negative integers: the value displays as
65535instead of-1. Use the Math block to add 10000 and treat the offset as the display value, with the actual variable stored as the signed integer. - Key repeat: holding a key autorepeats at ~3 Hz on BM, ~6 Hz on TDE. A 200 ms debounce timer eliminates double-step but slows down fast scrolling — a tunable tradeoff.
- Password protection: enable Setup → Parameter Protection in the LOGO! menu to require a 4-digit PIN to enter Edit mode. The PIN itself is a single V-byte (VW0.0) and can be compared with an analog threshold.
- Concurrent access: the web server, the BM display, and the TDE can all be active simultaneously. The LOGO! 8 firmware does not arbitrate — last-write-wins. For shared environments, gate Edit mode behind a single source.
- SD-card transfer: copying a project with a parameterized Edit menu from one BM to another will not transfer the V-memory contents. Operators must re-enter setpoints.
11. Frequently Asked Questions
Does LOGO! 8 expose a "current screen" tag I can read from LSC?
No. The LOGO! runtime does not publish which message-text block is visible. The menu position must be re-created in V-memory (e.g., VW10) and updated by the same cursor keys that drive navigation.
How many function blocks are available on a LOGO! 8 BM?
400 blocks on 0BA8 BM (e.g., 6ED1052-1MD08-0BA1) with firmware 8.0–8.3. The earlier 0BA7 caps at 200. The 0BA6 maxes at 130. Check the part number before scaling your editor design.
Can I edit parameters from a tablet or phone?
Yes, but only with a LOGO! 8 BM that carries the Web Server license upgrade (6ED1058-0BA08-0YE1). The base BM is read-only on the web; the license enables write access to V0.0–V63.7 via HTTP on port 80.
What is the difference between the BM soft-keys P1–P4 and the TDE F-keys?
The BM soft-keys P1–P4 are virtual — they map to the four arrow keys when a message-text block is configured to display soft-key labels. The TDE F-keys F1–F4 are physical push-buttons and are wired directly to M-flags in the LSC program.
Will the edit work on a LOGO! 7 module?
Yes, but with reduced block budget (200) and a smaller V-memory range. The cursor-key mechanics are identical, so the same multiplexer/demultiplexer pattern applies, just with fewer parameters and a tighter block margin.