Resolving LOGO! LWE Timer Parameter Write Failures via VM Mapping

David Krause11 min read
HMI ProgrammingSiemensTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Overview

Siemens LOGO! 8 logic modules ship with a built-in web server and the LOGO! Web Editor (LWE) tool, which lets engineers build custom HTML dashboards for remote monitoring and control. While LWE supports writing to markers, outputs, and network I/O, the editor intentionally blocks writes to physical inputs and to most function block (FB) parameters. This restriction surfaces as a hard failure when an engineer attempts to change a delay-timer preset (TH or TL) from a remote browser: the value either does not transfer to the running program or LWE refuses to expose the field as writable.

This reference documents the working solution based on Parameter-VM Mapping in LOGO! Soft Comfort (LSC) combined with LWE's writable VM-address fields. It is written for engineers using LOGO! 6ED1052-1MD08-0BA1 (LOGO! 8.3) with firmware V1.83.x and LWE 1.1.0, and applies to all LOGO! 8 variants that ship a web server (BA, BB, and 6ED1052-1MD08-0BA1 / 0BA2 hardware versions).

Problem Description

When a circuit uses an on-delay (B001-type) or off-delay timer block, the TH (high-byte time) and TL (low-byte time) parameters must be set to a constant in the LSC schematic, or driven by an analog signal. To support remote adjustment, an engineer typically inserts an Analog Amplifier (B002) with a writable input that feeds TH.

Symptoms observed on LOGO! 6ED1052-1MD08-0BA1 with firmware V1.83.02, LSC 8.3, and LWE 1.1.0:

  • LWE marks the analog-input field (AI) as read-only. The value cannot be changed from the web page.
  • If the engineer wires the page to a marker (M) or output (Q), the value transfers from the browser to the LOGO!, but the running timer continues to hold its original TH and ignores the live value.
  • Digital inputs (I) and network digital inputs (NI) used as pushbuttons are similarly read-only in LWE. Only physical I/O can drive them.
  • The AX output of an analog amplifier can be mapped to TH in LSC, but because the writable side of the amplifier is an input pin, LWE refuses to expose it.

The root inconsistency appears to be that LWE permits writes only to a closed set of writable memory types, and that set excludes physical inputs, network inputs, and direct FB parameter references.

Root Cause

LWE 1.1.0 enforces a write-whitelist on every address exposed in the project file (.lwe):

LWE Address Space Writable from Browser Notes
Physical digital input (I1-I24) No Hardware pins only; LWE blocks remote writes by design.
Physical analog input (AI1-AI8) No Same restriction; mirrors real-world wiring.
Physical digital output (Q1-Q20) Yes Direct coil control via Sn / Rn toggle.
Marker flag (M1-M27, M8-M31) Yes Internal latches, persistent until next power cycle or logic reset.
Network digital input (NI) No Direction is slave-side, so it is read-only on the master LOGO! web.
Network digital output (NQ) Yes Drives remote slaves when in master mode.
Network analog input (NAI) No Read-only on the consuming side.
Network analog output (NAQ) Yes Writes a 16-bit value to the slave.
VM word (VW0-VW850) Yes Retain-volatile; mapped to FB parameters via Parameter-VM Mapping table.

Function block parameters such as TH, TL, On, Off, SP, PA, Par are not in this whitelist. The Parameter-VM mapping feature was introduced precisely to bridge this gap: it projects an FB parameter into a 16-bit VM word, which LWE can read and write.

Solution Architecture

Map the timer preset to a VM word using LSC's Parameter-VM Mapping editor, then expose that VM word as a writable numeric field in LWE. The architecture becomes:

+--------------+    +-----------------+    +---------------+    +----------+
| Browser Edit | -> | LWE Field (VM)  | -> | VM Word VWx   | -> | FB Param |
|   (HTML)     |    |  Writable=TRUE  |    |  (volatile)   |    |   TH/TL  |
+--------------+    +-----------------+    +---------------+    +----------+
                                              ^
                                              |
                                       Parameter-VM Mapping
                                       (configured in LSC 8.3)

Key points:

  • VM words are volatile: values are lost on power-down. Use the LOGO!'s retentive markers (M) or a startup-initialization block to load defaults.
  • Parameter-VM Mapping must be downloaded with the circuit (LSC: Tools → Parameter VM Mapping → Transfer). It is not part of the standard circuit download.
  • Both TH (integer ms) and TL (fractional / scaled time) of the on-delay (B001), off-delay (B002), and on/off-delay (B003) blocks can be mapped.

Prerequisites

  • LOGO! 6ED1052-1MD08-0BA1 (or any LOGO! 8.3 variant with Ethernet) running firmware V1.83.02 or later. Earlier V1.82.x firmware has a known Parameter-VM transfer bug that silently drops mappings after a power cycle.
  • LOGO! Soft Comfort 8.3 (build 8.3.0.12262 or later) installed on a Windows PC.
  • LOGO! Web Editor 1.1.0 (LWE 1.1.0 ships as an add-on to LSC 8.3; verify in Help → About).
  • IP connectivity between the PC and the LOGO! on the same subnet. Static IP recommended (e.g. 192.168.0.10 / 255.255.255.0).
  • The project file with at least one delay block (B001/B002/B003) already wired.
Note: LWE 1.1.0 is the last release supporting the legacy webserver.xml schema. If the project is upgraded to LSC 8.4 / LWE 1.2.x, regenerate the LWE project to avoid tag-binding mismatches.

Step-by-Step: Configure Parameter-VM Mapping in LSC

  1. Open the circuit in LOGO! Soft Comfort 8.3.
  2. From the menu bar select Tools → Parameter-VM Mapping. The Parameter-VM Mapping dialog opens with a table of all FB instances in the program.
  3. Locate the target delay block (e.g. B001 - On-Delay) and expand its parameter list. The TH row exposes a check-box and a VM address column.
  4. Tick the Enable check-box next to TH and enter a free VM address, e.g. VW0. Repeat for TL if you intend to change the time base / granularity (e.g. VW2).
  5. Optionally map other useful parameters: counter preset (SP), threshold switch limits (On/Off), PI controller set-point (SP), etc.
  6. Click OK to commit. The mappings are stored in the .lsc project file as a metadata block separate from the circuit diagram.
  7. Use File → Properties → Parameter VM Mapping to export a CSV report of every active mapping for documentation.
  8. Transfer the project to the LOGO! via Ethernet: Tools → Transfer → to LOGO!. Confirm that the Parameter-VM table is sent (LSC displays a success toast "Parameter-VM mapping transferred").

Step-by-Step: Bind the VM Word in LWE

  1. Launch LWE 1.1.0 from the LSC toolbar (Tools → LOGO! Web Editor) or as a standalone application.
  2. Open the LWE project that targets your LOGO! (file extension .lwe). The project contains the canonical tag list pulled from the LSC export.
  3. In the tag tree, expand VM Memory. Locate the VM word you mapped in step 3 above (e.g. VW0). If the tree is empty, click Refresh to re-import the tag database from the connected LOGO!.
  4. Drag VW0 onto the page canvas. The element wizard appears with default properties: type = Numeric Input/Output, format = Decimal, min = 0, max = 65535.
  5. In the element properties pane, set:
    • Writable = True (this is the default for VM-typed elements, but verify).
    • Min = 0, Max = time_base * range in milliseconds. For an on-delay in seconds with a 10 ms base, set Max = 600000 (10 minutes).
    • Label = "On-Delay TH (ms)".
  6. Save the project and deploy it to the LOGO!: File → Save → to LOGO! Web Server. The deployment writes an updated webserver.xml plus a custom userhtml directory.

Step-by-Step: Verify from the Browser

  1. Browse to http://192.168.0.10 (the LOGO! default web root). The custom dashboard loads.
  2. Locate the On-Delay TH (ms) field. Type a new value, e.g. 5000 for 5 seconds, then press Enter or click Set.
  3. Open LOGO! → Diagnostics → Parameter VM in the LOGO!'s on-device menu (or in the LSC online view) and confirm that VW0 holds the new value.
  4. Trigger the timer input. The output transitions after the new TH has elapsed.
  5. Power-cycle the LOGO! and re-load the page. The value reverts to the schematic default because VM words are volatile. This is expected - see the workaround below.

Workaround for Volatility

Because VM words do not retain across power cycles, a startup-initialization pattern is recommended when the operator-set value must persist:

  1. Add a Set-Reset Flip-Flop (B004) or a Retentive Marker to hold the latest value in a retentive storage area.
  2. On first scan (use the M8 first-cycle flag), copy the retentive marker into the VM word via an analog amplifier or an arithmetic block.
  3. On every browser write, also write the new value to the retentive marker (use a second VM word exposed in LWE that is copied into a marker on each cycle).

Reference: VM Address Map

VM Range Purpose Retentive?
VW0 - VW49 User-definable FB parameter mapping No (volatile)
VW50 - VW99 Network I/O buffer (NAI/NAQ, NI/NQ) No
VW100 - VW849 Reserved for LOGO! 8.3 internal use N/A
VB0 - VB849 Byte access overlay (every VW = 2 VBs) No

The LOGO! 8.3 supports up to 850 VW words total. The user-mapped region starts at VW0. Address conflicts are flagged by LSC at transfer time.

Reference: Function Blocks that Support Parameter-VM Mapping

Block Type Instance ID Mappable Parameters
On-Delay B001 TH, TL
Off-Delay B002 TH, TL
On-/Off-Delay B003 TH, TL
Retentive On-Delay B004 TH, TL
Wiping Relay (Pulse) B005 TH, TL
Edge-Triggered Wiping Relay B006 TH, TL
Symmetrical Pulse Generator B007 TH, TL
Asynchronous Pulse Generator B008 TH, TL
Random Generator B009 TH, TL
Stairway Lighting Switch B010 TH, TL
Multiple Function Switch B011 TH, TL
Counter (Up/Down) B015 / B016 SP (set-point)
Threshold Trigger B017 / B018 On, Off
Analog Threshold Trigger B019 On, Off
Analog Comparator B020 On, Off
PI Controller B023 SP, KP, TN, TV, Offset
Ramp Function Generator B025 St, Br, Gain

Blocks not listed (e.g. basic logic gates, math blocks) do not expose mappable parameters in the Parameter-VM editor; they must be driven by I/O or marker signals.

Reference: LWE Field Types

  • Bar Graph
  • Field Type Compatible Address Spaces Use Case
    Numeric Input/Output VW, NAQ, AQ Time presets, thresholds, set-points
    Toggle Button Q, M, NQ Manual coil override
    Push-Button (set/reset) M, NQ Pulse trigger from browser
    Indicator LED I, Q, M, AI, AQ, NAI, NAQ, VM Status display
    AQ, AI, NAQ, NAI, VM Level visualization

    Troubleshooting Matrix

    Symptom Likely Cause Remedy
    LWE field is greyed out (read-only) Address bound to physical input (I/AI) or to a non-whitelisted tag Re-bind to a VM word or marker.
    Browser value transfers, but timer ignores it FB parameter not Parameter-VM-mapped; the VM write is disconnected from TH Enable Parameter-VM mapping in LSC and re-transfer.
    LWE tag tree is empty Project not refreshed from connected LOGO! or wrong IP Click Refresh in LWE; verify IP and that LOGO! is online.
    VM value resets to default on every power cycle VM words are volatile by design Add a startup-initialization block copying from a retentive marker.
    "Parameter-VM mapping transfer failed" toast Firmware < V1.83.02 or LSC/LWE version mismatch Upgrade LOGO! firmware to V1.83.02 or later; align LSC 8.3 / LWE 1.1.0.
    Browser shows old value after Set Browser cache; userhtml not refreshed Hard reload (Ctrl+F5); clear browser cache; redeploy LWE project.
    Decimal point rounding errors Time base not aligned with browser field min/max Match Max value to the FB's time base x range.

    Field-Proven Caveats

    • Do not map the same VM word to two different FB parameters. LSC rejects the transfer with "VM address conflict".
    • LWE 1.1.0 does not support signed integers natively. If a parameter (e.g. PI Offset) is bipolar, the LWE field shows the 16-bit two's-complement representation. Add a label hinting the valid range.
    • Parameter-VM mappings are cleared when the circuit is erased with LOGO! → Card → Erase User Program. Re-transfer after a clean.
    • On LOGO! 8 hardware revisions FS03 and later, Parameter-VM is backed up to the SD card. On FS02 and earlier, mappings must be re-sent after a power loss > 30 days.
    • The maximum update rate from LWE to the LOGO! is one write per 250 ms (HTTP request / response cycle). Do not use LWE for high-speed control loops.

    Alternative Approaches Considered

    Before settling on Parameter-VM mapping, several workarounds were evaluated and rejected:

    • Analog amplifier with browser-writable marker driving its input: rejected because the marker is a Boolean, and the amplifier's AX input is integer-typed. A scaling bridge is possible but fragile.
    • Network analog input (NAI) on a paired LOGO! slave: rejected for single-LOGO! installations; only useful in multi-module topologies.
    • S7 Modbus TCP to a third-party HMI: rejected as overkill; introduces an additional device and an extra point of failure.
    • Custom HTML in the LOGO! userhtml directory: feasible but bypasses the LWE schema, so it loses the validation and tag-binding workflow. Only recommended for very advanced users.

    Related Siemens Documentation

    Why does LWE 1.1.0 refuse to expose physical analog inputs as writable?

    LWE enforces a write-whitelist limited to outputs, markers, network outputs, and VM words. Physical I/O is treated as read-only because the LOGO! runtime cannot legally accept a remote write that would conflict with the actual hardware signal. Use a VM word exposed by Parameter-VM mapping instead.

    Which LOGO! 8 firmware version is required for reliable Parameter-VM mapping?

    Firmware V1.83.02 or later is recommended. Earlier V1.82.x releases have a known bug that silently discards Parameter-VM mappings on the first power cycle, causing the timer preset to revert silently. The module 6ED1052-1MD08-0BA1 hardware FS03 is fully compatible with V1.83.02.

    Do Parameter-VM mapped timer values survive a power loss?

    No. VM words (VW0-VW49) are volatile. If the operator-set value must persist across outages, mirror it into a retentive marker (M1-M27) using a first-scan initialization block, and copy it back to the VM word on every power-up. Markers M8-M27 retain across power cycles; M1-M7 do not.

    Can the same VM word drive two different function blocks?

    No. LSC's Parameter-VM Mapping dialog rejects the transfer with a VM-address conflict error if a single VW is bound to two FB parameters. Use a second VM word or a marker-based bridge block (e.g. an analog amplifier or arithmetic block) to fan a single browser value out to multiple timers.

    Is there a maximum update rate for writes from the LWE browser page?

    Yes. The LWE web server accepts one HTTP write request per 250 ms per field, due to the LOGO! 8.3 web server's request-handling loop. For high-speed set-point changes, use a Modbus TCP master with a faster polling rate, but reserve LWE for operator HMI duty.

    Back to blog