Siemens LOGO! App: Displaying Decimal Values on Gauges

David Krause13 min read
HMI / SCADASiemensTroubleshooting
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

1. Problem Overview

Engineers deploying Siemens LOGO! 8 logic modules frequently use the companion LOGO! App (Android / iOS) for remote dashboards and on-call monitoring. A recurring field complaint is that custom dashboard controls — specifically the Gauge and Analog Bar Graph widgets — display the raw integer value of the underlying tag with no option to position a decimal point.

A representative case:

  • PT100 / 0–10 V temperature transmitter wired to LOGO! analog input AI1.
  • Signal scaled in the LOGO! program as Outside temperature, stored as a signed 16-bit word in the variable table. Engineering range 0.0 – 100.0 °C is represented internally as 0 – 1000 (resolution 0.1 °C).
  • Current reading: 18 (meaning 1.8 °C).
  • Custom dashboard gauge added under Control page → Add Gauge, minimum 0, maximum 100, source tag VW0 (Outside temperature).
  • Result: gauge needle points to 18, not 1.8. There is no per-widget "Decimals" property in the LOGO! App editor.

The same value rendered on the LOGO! BM display or on the LOGO! TDE (text display) shows correctly as 1.8 °C because the on-device display parameters include a decimal-position field. The mobile app does not expose that field for custom widgets.

Symptom summary: Tag value 18 displayed verbatim on LOGO! App custom Gauge / Analog Bar Graph widgets, although the BM, TDE, and integrated web server default page show the value correctly with the configured decimal point.

2. Affected Products and Firmware

The decimal-formatting limitation is specific to the LOGO! App custom dashboard editor, not the LOGO! hardware. Confirm your installation against the table below before applying workarounds.

Component Catalog / Article No. Firmware Status
LOGO! 8 BM 12/24 RCE 6ED1052-1MD08-0BA2 FS:04 / V1.08.x Affected
LOGO! 8 BM 230 RCE 6ED1052-1FB08-0BA2 FS:04 / V1.08.x Affected
LOGO! 8.3 BM 6ED1052-xxx08-0BA3 V8.3.x Affected
LOGO! 8.4 BM 6ED1052-xxx08-0BA4 V8.4.x Affected
LOGO! TDE 6ED1055-4MH08-0BA1 FW tied to BM Not affected (decimal formatting supported)
LOGO! App (Android) com.siemens.logo ≥ 2.x Affected — no per-widget decimal property
LOGO! App (iOS) App Store listing ≥ 2.x Affected — same behavior
LOGO! Soft Comfort 6ED1058-0BA08-0YA1 (DVD) / V9.0 download V8.3 / V8.4 / V9.0 Tooling — supports decimals
LOGO! Web Editor (LWE) Bundled with Soft Comfort ≥ V8.3 n/a Recommended alternative

The LOGO! App has not received major feature updates for the custom dashboard control set in recent firmware cycles; the engineering surface is effectively frozen compared with the LOGO! Soft Comfort / LWE roadmap. Plan remediation accordingly.

3. Root Cause Analysis

The decimal point is a display-layer artifact, not a property of the tag itself. Siemens LOGO! 8 stores all analog values as signed 16-bit integers in the variable table. Whether 18 is interpreted as 18.0 °C, 1.8 °C, or 180 °C depends entirely on how the consumer of the value is told to render it.

  1. On the BM/TDE display: the message text configuration in LOGO! Soft Comfort includes a Decimals parameter (0 – 3). The runtime lays the decimal point into the seven-segment / 4-line text accordingly.
  2. On the LOGO! App custom dashboard: the widget designer exposes Min, Max, Warning, Danger thresholds but does not expose a Decimals field. The mobile client renders the raw integer it reads from the variable table.
  3. On the LOGO! integrated web server default page: similar limitation — values are shown as integers unless the URL fragment or web-editor page wraps them with formatted text.

Because the variable is stored without any metadata that survives into the LOGO! App data model, there is no in-app knob to add decimal formatting after the fact. The remediation must occur at one of three boundaries:

  • Tag boundary — change the engineering unit scaling so the integer value already represents the desired visual.
  • Display boundary — switch from the LOGO! App to a display environment that supports decimal configuration (BM/TDE built-in text, LOGO! Web Editor, or external SCADA).
  • Program boundary — apply a mathematical transformation in the LOGO! program to derive a presentation-only tag.

4. Tag and Variable Handling in LOGO! 8

The variable table is the single source of truth for everything the LOGO! App, the integrated web server, and the on-device displays read from. Open the table in LOGO! Soft Comfort → Tools → Variable Table (VM) and confirm each analog value type:

Type Size Range Typical Use
Bit (digital) 1 bit 0 / 1 Discrete I/O, flags
Byte (unsigned) 8 bit 0 – 255 Counter low bytes, byte-level tags
Word (signed) 16 bit −32 768 … +32 767 Analog values with negative excursions (e.g. temperature below zero)
Word (unsigned) 16 bit 0 – 65 535 Positive-only counters, scaled analog
DWord 32 bit −2.1 G … +2.1 G High-resolution counters, accumulators

For an outside-air temperature sensor that can legitimately read below 0 °C, Signed Word is the correct base type. The engineering convention is to scale the value by a factor of 10 (or 100) so that 0.1 °C (or 0.01 °C) resolution is preserved without losing integer math performance. Sample scaling inside the LOGO! program:

// AI1 raw 0–1000 = 0.0 – 100.0 °C, factor 10
// 1.8 °C  =>  AI_scaled = 18  (integer)
// OutsideTemperature (VW0) is what the LOGO! App reads
// Display label "°C" is configured separately on the widget

The sign is preserved by Signed Word, so a sensor reading −12.4 °C lands as −124 in VW0 and the BM/TDE will render −12.4 if the Decimals parameter is set to 1. The LOGO! App will render the raw −124.

5. Workaround 1 — Pre-scale the Value at the Source

The cheapest fix is to choose engineering units that do not require a decimal point in the LOGO! App. Three practical variants:

  1. Multiply by 10 in the program and present as deci-degrees. Outside-temperature 1.8 °C → 18 d°C. Display label changes from "°C" to "d°C" (or "°C × 10"). This is the lowest-friction workaround and matches what the LOGO! App already shows, so no decimal formatting is required.
  2. Convert to Fahrenheit in the program using the standard formula, then present as integer °F. 1.8 °C → 35.22 °F → store as 3522 (factor 100) or 35 (rounded). Many HVAC dashboards already use °F, so the cosmetic mismatch is acceptable.
  3. Convert to Kelvin for scientific displays. 1.8 °C → 275.0 K → store as 2750 (factor 10). Useful when the dashboard already uses Kelvin and avoids negative values that complicate some bar graphs.

Implement the conversion using an Analog Amplifier or Math Instruction block in LOGO! Soft Comfort. Example block parameters for option 1 (deci-degrees):

Block Parameter Value
Analog Amplifier B001 Sensor type 0 – 10 V (already scaled upstream)
Gain 1.0
Offset 0
Math Instruction B002 Operator × (multiply)
Value 1 OutsideTemperature_raw
Value 2 10
Output → OutsideTemperature_dC (VW0)

Update the LOGO! App widget caption from "°C" to "°C × 10" or "d°C" so operators do not misread the order of magnitude. Document the change in the loop sheet.

Trade-off: Operators must internalize that the value is scaled. Add a small legend on the dashboard or annotate the gauge label. A common pitfall is forgetting to update the alarm thresholds — Warning and Danger values entered in the LOGO! App editor are compared against the scaled tag, so they must also be entered as deci-degrees (e.g. Warning = 200 means 20.0 °C).

6. Workaround 2 — Switch to LOGO! Web Editor (LWE)

The LOGO! Web Editor (LWE), bundled with LOGO! Soft Comfort V8.3 and later, lets you build custom HTML pages that the LOGO! BM serves on port 80 over its built-in Ethernet interface. LWE pages accept arbitrary formatting and support JavaScript expressions, so a decimal point can be rendered programmatically.

  1. Open the LOGO! program in LOGO! Soft Comfort V8.3+.
  2. Select Tools → Web Editor (or File → Web Project). A browser-based editor opens.
  3. Drag a Gauge or Numeric Display widget onto the canvas.
  4. Bind the widget to the LOGO! variable VW0 (Outside temperature).
  5. For numeric displays, wrap the value in a JavaScript expression that divides by 10 and formats with toFixed(1):
    function formatTemperature(raw) {
      if (raw === null || raw === undefined) return '--';
      return (raw / 10).toFixed(1) + ' °C';
    }
  6. Save the project and upload to the LOGO! BM via Tools → Transfer → Web Project.
  7. Open a browser on the phone (or any PC) and navigate to http://<LOGO_IP>/logo — the dashboard renders with the correct decimal point.

LWE bypasses the LOGO! App widget engine entirely, so its limitations no longer apply. The page is mobile-responsive and works from the same Wi-Fi network as the LOGO! App would use. For environments where the LOGO! App is mandated, bookmark the LWE page in the phone browser and pin it to the home screen — the user experience is comparable.

Refer to the LOGO! Web Editor manual (entry ID 109751604 on the Siemens Industry Online Support portal) for the full widget set, the JavaScript API, and security guidance.

7. Workaround 3 — Use the BM or TDE Built-in Display

For local-only monitoring inside the cabinet or operator panel, the LOGO! BM front-panel text display and the external LOGO! TDE (6ED1055-4MH08-0BA1) both support decimal-point formatting natively. The original problem report explicitly notes that the BM display already shows 1.8 °C correctly.

To configure decimals on the on-device display:

  1. Open the message text block in LOGO! Soft Comfort.
  2. Double-click the analog value placeholder.
  3. Set Decimals to 1 (for 0.1 °C resolution).
  4. Set Symbol to °C (Unicode 0x00B0C, supported by the BM/TDE character set).
  5. Enable Bar graph if a graphical representation is required on the BM.
  6. Download the program to the BM.

The TDE replicates the BM display content and is useful when the BM is installed inside an enclosure. Both devices render the decimal point from the same Decimals parameter, so no duplicate configuration is required.

8. Workaround 4 — Math Instruction in LOGO! Program

If pre-scaling is undesirable and LWE is not in scope, derive a presentation-only tag in the LOGO! program and bind that tag to the LOGO! App widget while keeping the original scaled value for control logic and alarms.

Example: keep the original engineering value in VW0 (integer × 10) for PID and limit checks, and produce a presentation copy in VW10 that the LOGO! App reads.

Block Function Input Output
B001 Analog Amplifier Scale AI1 raw to 0–1000 AI1 OutsideTemperature_raw (VW0)
B002 Math Instruction Round to integer °C for display VW0 OutsideTemperature_disp (VW10)
B003 Comparator Alarm on display tag VW10 Q1 (warning flag)

The display tag uses round(VW0 / 10), so 1.8 °C → 18 → 2 (rounded). This is acceptable for "freeze warning" style alarms but loses resolution. If rounding is unacceptable, instead bind two LOGO! App widgets side-by-side: a gauge for the tens-of-degrees reading and a numeric display for the remainder, formatted with a static ".X" suffix via LWE or text composition.

9. Step-by-Step: Pre-Scaling with the Analog Amplifier

This procedure is the recommended first attempt — it requires only LOGO! Soft Comfort, no LWE, and no architectural change.

  1. Open the LOGO! program in LOGO! Soft Comfort V8.4 (or later).
  2. Open the variable table (Tools → Variable Table) and add:
    • OutsideTemperature_raw — Word, signed, address VW0.
    • OutsideTemperature_dC — Word, signed, address VW10. (New, for the LOGO! App.)
  3. Insert a Math Instruction block on the FBD canvas.
    • Operator: × (multiply).
    • Operand 1: OutsideTemperature_raw.
    • Operand 2: constant 10.
    • Output → OutsideTemperature_dC.
  4. Verify on the BM that VW10 now tracks VW0 × 10. Press ESC → Parameter on the BM, scroll to VM, observe the value.
  5. On the phone, open the LOGO! App, connect to the LOGO! BM, and edit the custom dashboard.
  6. Replace the gauge tag binding from VW0 to VW10.
  7. Update the widget title from "°C" to "°C × 10" or "d°C".
  8. Update Warning and Danger thresholds to the deci-degree equivalents (e.g. 200 for 20.0 °C, 350 for 35.0 °C).
  9. Save the dashboard and confirm the gauge needle now reads the pre-scaled value with no decimal point required.

10. Verification Procedure

After applying any of the workarounds, run a four-point verification before handing the system back to operations.

  1. Source check — confirm the sensor reading at the analog input. Apply a known reference (ice bath 0.0 °C, boiling water 100.0 °C, or a calibrator). Record the LOGO! raw value.
  2. BM/TDE check — verify the on-device display shows the expected value with the configured decimals. This is the system of record.
  3. LOGO! App check — open the custom dashboard on the phone. Verify the gauge needle position, the numeric value, and the warning/danger color thresholds.
  4. Alarm check — force the input above the Warning threshold and confirm the widget changes color. Force above Danger and confirm the second threshold. Reset and confirm normal color.

Document each check on the loop sheet with timestamp and operator initials. Capture a screenshot of the LOGO! App dashboard as evidence of correct commissioning.

11. Limitations, Trade-offs, and Field Notes

  • Negative values — the LOGO! App handles Signed Word tags, so a sensor reading −12.4 °C displays as −124 on the gauge without sign loss. Do not switch to Unsigned Word without confirming the engineering range never goes negative.
  • Alarm thresholds — when pre-scaling, every threshold entered in the LOGO! App widget must also be scaled. Use a commissioning checklist so the value, the unit label, and all thresholds are reviewed together.
  • Data logging — if a cloud or SCADA layer reads the same variable, that layer must use the original scaled tag (e.g. VW0), not the presentation tag (VW10), or vice versa — pick one and document it.
  • LOGO! App updates — the LOGO! App has not gained new widget properties in recent updates. Do not assume a future release will retro-add a Decimals field; treat the limitation as architectural.
  • LOGO! Web Editor security — LWE pages are served on the LOGO! BM without authentication by default. Restrict access at the network layer (VLAN, firewall, or LOGO! Access Control list) before exposing the page to an operations Wi-Fi network.
  • Third-party HMI — for higher-fidelity dashboards, point any standard browser-based SCADA (Ignition Edge, Node-RED dashboard, Grafana on a Pi) at the LOGO! Modbus TCP server. Modbus registers 0–1023 expose all VM tags and the SCADA layer handles decimals natively.

12. Quick Decision Matrix

Situation Recommended Workaround Effort Risk
One tag, few operators, local cabinet BM/TDE built-in display (§7) Low None
Multiple tags, mobile-only operators Pre-scale at source (§5) Low Label/threshold confusion
Many tags, branded dashboard required LOGO! Web Editor (§6) Medium Network exposure
Engineering data must remain raw Math instruction presentation tag (§8) Medium Two-tag bookkeeping
Integration with site SCADA Modbus TCP to external HMI High Architecture change

FAQ

Does the LOGO! App support a decimal point property on custom gauges?

No. As of LOGO! App 2.x for both Android and iOS, the custom Gauge and Analog Bar Graph widgets expose only Min, Max, Warning, Danger, and Source Tag. There is no Decimals field; the raw signed 16-bit value from the LOGO! variable table is rendered verbatim.

Why does the BM or TDE display the value correctly with a decimal point?

The on-device text displays honor the Decimals parameter configured in the LOGO! Soft Comfort message text block. The runtime inserts the decimal point into the character buffer before driving the 4-line display. The LOGO! App widget engine does not implement the equivalent formatting layer.

What is the easiest fix without leaving the LOGO! App?

Pre-scale the value by 10 in the LOGO! program and update the widget label to "°C × 10" or "d°C". Adjust the Warning and Danger thresholds to match the scaled range. This keeps the LOGO! App dashboard in service and requires no LWE work.

Can the LOGO! Web Editor render decimal values?

Yes. LWE projects are HTML/JavaScript pages served by the LOGO! BM. A simple (raw / 10).toFixed(1) + ' °C' expression in a script widget produces a correct one-decimal display, and SVG-based gauges can be drawn directly.

Which LOGO! firmware is required for the LOGO! Web Editor?

LOGO! Web Editor projects are supported on LOGO! 8 BM devices (catalog 6ED1052-1xxx08-0BAx) running firmware V8.0 or later, configured via LOGO! Soft Comfort V8.3 or newer. Earlier LOGO! 6/7 hardware does not host the web server.

Back to blog