LOGO! 8.4 to KTP700 Basic: Bit-to-Word Alarm Mapping via VM

David Krause15 min read
HMI / SCADASiemensTutorial / How-to
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

A Siemens LOGO! 8.4 logic module paired with a KTP700 Basic (2nd generation) HMI is one of the lowest-cost automation stacks Siemens offers, but it has a structural mismatch that bites every first-time integrator: the LOGO! program expresses faults as discrete local markers (M-bits), while the KTP700 Basic only fires discrete alarms from a word tag with a configured bit index. You cannot bind a single boolean LOGO! tag directly to an alarm row on a Basic Panel.

The proven workaround is to route each fault marker into a dedicated bit inside a LOGO! Variable Memory (VM) word such as VW100, expose that word to the HMI over the S7 communication channel, and let the KTP700 Basic alarm table evaluate each bit position as a separate alarm event. Sixteen fault conditions fit in one 16-bit word, with the alarm trigger index (0…15) on the HMI matching the bit position in the LOGO!.

This reference covers the exact VM addressing scheme, the role of the digital network output block when a marker does not surface in the VM mapping dropdown, and the TIA Portal V20 alarm table configuration that turns the word into 16 independent alarms.

Prerequisites

  • LOGO! 8.4 logic module, firmware FS4 or later (typical catalog number 6ED1052-1MD08-0BA1 for the LOGO! 8.4 with Ethernet, or 6ED1052-1HB08-0BA1 for the variant with analog inputs).
  • LOGO! Soft Comfort V8.4 (or any LOGO! Soft Comfort V8.x service pack) installed on the engineering workstation.
  • KTP700 Basic PN (6AV2 123-2GA03-0AX0) or KTP700 Basic DP (6AV2 123-2GB03-0AX0) — note that the alarm-count and tag-type limits are identical between the PN and DP variants.
  • TIA Portal V20 (or V18/V19 with the LOGO! 8.4 and Basic Panel HSPs installed).
  • Ethernet cable between the LOGO! 8.4 and the KTP700 Basic PN (or PROFIBUS cable for the DP variant).
  • Compiled LOGO! program containing fault latches or relay coils that drive local markers (e.g., M32).

Why the KTP700 Basic Requires a Word for Alarms

The KTP700 Basic implements alarms as discrete alarm events. Each event monitors a single tag and interprets the value of that tag against a configurable bit index. The relevant limits from the Siemens performance documentation for Basic Panels (2nd generation) are:

  • Alarm trigger tag type: Word (16-bit unsigned) only. Bit-tag and analog-tag triggers are reserved for Comfort Panels and WinCC RT Advanced/Professional.
  • Number of discrete alarms: device-specific; verify against the WinCC Basic RT performance list for the exact panel revision.
  • Alarm classes: typically four (Errors, Warnings, Information, System) on a Basic Panel.
  • Bit indexing: zero-based (bit 0 = LSB, bit 15 = MSB).

Because the trigger is evaluated against a word, you can assign each of the 16 bits to one alarm line. Setting bit 0 raises alarm 1, bit 1 raises alarm 2, and so on up to bit 15. The alarm view on the HMI shows the alarm text configured in TIA Portal when the corresponding bit transitions to 1, and clears the entry when the bit returns to 0 (unless the alarm class is configured to require acknowledgement).

Reference: Basic Panel 2nd Generation — WinCC Performance Features

LOGO! 8.4 Variable Memory Architecture

The LOGO! 8.4 exposes a 1024-byte Variable Memory (VM) area to external HMI/PLC clients via the built-in S7 communication server. VM addresses range from V0.0 through V1023.7, giving 8192 discrete bits. Byte and word addressing follow byte alignment:

Word Address Byte 0 (low) Byte 1 (high) Bit Range Covered
VW0 V0 V1 V0.0 – V1.7
VW2 V2 V3 V2.0 – V3.7
VW100 V100 V101 V100.0 – V101.7
VW102 V102 V103 V102.0 – V103.7
VW1022 V1022 V1023 V1022.0 – V1023.7

Word addresses must be even (byte-aligned). Using VW100 therefore covers the 16 consecutive bits V100.0 through V101.7 — the mapping referenced in field practice and in the LOGO! Soft Comfort online help.

Default visibility of the VM area from the HMI side:

  • V0.0V850.7: read/write access for external S7 clients (HMI, PLC PUT/GET).
  • V851.0V1023.7: reserved for LOGO! internal scratchpad and not reliably visible.

For alarm mapping, select any even word inside the read/write range. VW100 is the conventional choice because it sits far enough away from the LOGO! system-reserved VM offsets used by analog I/O flags and timer/counter retention markers, reducing the chance of accidental collision when the LOGO! program is later extended.

Volatility: The VM area is non-retentive. A power cycle, STOP→RUN transition, or download of a new program clears all VM bits to 0. Latching of fault states must be implemented either inside the LOGO! program using a retentive marker (M with battery backup, or a flag inside the retentive range) feeding the network output, or on the HMI side via an alarm class that requires acknowledgement.

Mapping Local Markers to VM Bits

LOGO! local markers (M0…M31 on a base LOGO!, extendable up to M127 via configuration) are not automatically visible to the HMI. Two methods expose a marker as a VM bit.

Method A — VM Mapping Table (LOGO! Soft Comfort V8.x)

  1. Open the LOGO! program in LOGO! Soft Comfort V8.4.
  2. Select Tools → VM Mapping (also reachable via the connection properties dialog of the Ethernet interface).
  3. Add a new entry.
  4. Set Source to the local marker, e.g., M32.
  5. Set Destination to the desired V-bit, e.g., V100.0.
  6. Repeat for every fault marker (M32 → V100.0, M33 → V100.1, etc.).
  7. Compile and download the program to the LOGO!.

The VM mapping performs an implicit copy on every LOGO! scan cycle from the source marker into the destination V-bit, making the value visible to the S7 communication server.

Method B — Digital Network Output Block

If the local marker does not appear in the VM mapping dropdown — common when the marker is the output of a UDF, a macro, or a special function block that does not expose a VM target — use the Digital Network Output block from the Network folder of LOGO! Soft Comfort.

  1. Drag a Digital Network Output block into the FBD diagram.
  2. Wire the input of the Digital Network Output to the source bit (for example, the output of a fault latch that sets M32).
  3. Double-click the block and assign the network output address, e.g., NS = V100.0.
  4. Compile and download.

The Digital Network Output block writes its input to the specified VM address on every LOGO! scan. For most small-machine applications this gives the same end result as VM mapping and is the technique that resolved the original field question when the fault relay coil (M32) did not surface in the VM mapping dropdown.

Source visibility: Only assign one source to each VM bit. Multiple writers to the same V-bit cause OR-logic in the VM area and can mask real faults. If you must combine multiple conditions into a single alarm, use an OR gate inside the FBD diagram and connect the OR output to the V-bit.

Building the Alarm Trigger Word (VW100)

For a typical small-machine application with up to 16 fault conditions, allocate VW100 and assign each fault to a unique bit position. The bit index in the TIA Portal alarm row must match the V-bit offset exactly.

Alarm Row Trigger Bit (TIA) V-Address Typical Use
1 0 V100.0 Drive 1 overcurrent
2 1 V100.1 Drive 2 overcurrent
3 2 V100.2 Motor overload
4 3 V100.3 E-stop active
5 4 V100.4 Low pressure
6 5 V100.5 High temperature
7 6 V100.6 Door open during run
8 7 V100.7 Reserved / Spare
9 8 V101.0 Communication fault
10 9 V101.1 Sensor 1 wire break
11 10 V101.2 Sensor 2 wire break
12 11 V101.3 Tank low level
13 12 V101.4 Tank high level
14 13 V101.5 Filter dirty
15 14 V101.6 Reserved / Spare
16 15 V101.7 Reserved / Spare

If the application requires more than 16 alarms, allocate additional words in even increments: VW102 (V102.0–V103.7) for alarms 17…32, VW104 for 33…48, and so on. The total is bounded by the panel's discrete-alarm limit and the VM read/write range (V0.0–V850.7).

Configuring the KTP700 Basic Alarm Table in TIA Portal V20

  1. Open the TIA Portal V20 project that contains both the LOGO! 8.4 device and the KTP700 Basic.
  2. In the project tree, expand the KTP700 Basic and then expand HMI alarms.
  3. Double-click Discrete alarms to open the alarm editor.
  4. Add one alarm row per fault condition (right-click → Add new alarm, or use the toolbar button).
  5. For each row, set the following fields:
Field Value
ID Auto-assigned by TIA Portal; leave default
Alarm text Descriptive message, e.g., "Drive 1 overcurrent"
Alarm class Errors / Warnings / Information / System
Trigger tag VW100 (HMI tag pointing at the LOGO! VM word)
Trigger bit 0 for the first alarm, 1 for the second, …, 15 for the sixteenth
Acknowledgement Optional; configure per alarm class
Status text Optional status line for the alarm view
  1. Compile the HMI project (Project tree → KTP700 Basic → Compile → Software (rebuild all)).
  2. Download to the panel (Online → Download to device).
Bit indexing is zero-based. Bit 0 in TIA Portal corresponds to the LSB of the word, which is V100.0 in the LOGO!. A common commissioning error is to set bit 1 expecting V100.0; the correct value is 0. Off-by-one in the trigger bit field is the single most common reason for an alarm row to never fire.

S7 Communication Setup Between LOGO! 8.4 and KTP700 Basic

Ethernet (KTP700 Basic PN)

  1. On the LOGO! 8.4, configure the Ethernet interface with a static IP address (e.g., 192.168.0.10), subnet mask 255.255.255.0, and disable DHCP. Enable the S7 server functionality (default ON on FS4 firmware).
  2. On the KTP700 Basic PN, configure the PROFINET interface with an IP in the same subnet (e.g., 192.168.0.20) and verify the subnet mask matches.
  3. In TIA Portal, open Devices & Networks, drag the LOGO! 8.4 and the KTP700 Basic onto the network view, and connect their PROFINET interfaces.
  4. Right-click the connection and select Define as S7 connection.
  5. In the LOGO! connection properties, confirm that PUT/GET access by remote partner (PLC, HMI, OPC) is enabled (this is the default on LOGO! 8.4 FS4 but verify on older firmware).
  6. In the HMI tag table of the KTP700 Basic, declare a tag named e.g., FaultWord with:
  • Data type: Word (16-bit unsigned)
  • Connection: the S7 connection to the LOGO!
  • Address: VW 100 (S7 address notation for the LOGO! VM word)
  • Length: 1 word (2 bytes)
  • Acquisition cycle: 1 s for typical fault monitoring; reduce to 500 ms for faster response

Use this tag (FaultWord) as the trigger tag for every alarm row in the discrete alarms editor.

PROFIBUS (KTP700 Basic DP)

For the DP variant, configure the PROFIBUS interface on the LOGO! 8.4 (MPI/PROFIBUS interface, if present on the specific variant) with a unique DP slave address. In TIA Portal, set the same PROFIBUS address on the HMI side and assign the S7 connection identically. The VM tag VW100 is read over the same S7 channel.

Verification and Commissioning Tests

  1. Build the project and download to both the LOGO! 8.4 and the KTP700 Basic.
  2. Open Online → Go online on the LOGO! in LOGO! Soft Comfort and force each V-bit individually (right-click the V-bit in the VM monitoring view → Force to 1).
  3. On the KTP700 Basic, switch to the alarm view screen and confirm the corresponding alarm appears with the correct text and class.
  4. Force-reset the bit (set back to 0) and confirm the alarm clears if the alarm class does not require acknowledgement, or remains pending until acknowledged if the class is set to require it.
  5. Cycle through all 16 faults in sequence to verify no address overlap, no double-triggering, and no missing alarms.
  6. Power-cycle the LOGO! while the HMI is running. Verify that all VM bits return to 0 (volatile) and that any latched alarms clear only when the LOGO! program re-asserts them. If latched alarms must survive a LOGO! restart, move the latching logic into the HMI alarm class (set the class to require acknowledgement).
  7. Stop and restart the S7 connection (e.g., by unplugging the Ethernet cable for 10 s) and confirm the HMI re-establishes the connection automatically and resumes alarm monitoring without a panel restart.

Troubleshooting Matrix

Symptom Probable Cause Correction
Alarm does not appear on HMI Trigger tag not declared, wrong data type, or points at LOGO! DB instead of VM area Verify the HMI tag is a Word with address VW 100 pointing at the LOGO! VM area, not a DB
Wrong alarm triggered for a given fault Bit index offset (e.g., 1 used where 0 is correct) Confirm the trigger bit field on each alarm row matches the V-bit offset exactly; bit 0 = V100.0
Mxx marker not visible in the VM mapping dropdown Marker consumed by a UDF, macro, or block that does not expose a VM target Switch to Method B — use a Digital Network Output block instead of VM mapping
HMI shows tag quality "bad" S7 connection not established, PUT/GET disabled, or IP/subnet mismatch Ping the LOGO! from a PC, verify static IPs, enable PUT/GET access on the LOGO! connection properties
Alarm appears but never clears Fault bit is latched in the LOGO! program without a reset path Add an explicit reset coil to the fault latch, or enable acknowledgement on the alarm class so the HMI clears it on operator ACK
All 16 alarms fire at once on startup Address collision — VW100 written by both VM mapping and a Digital Network Output Verify only one writer is assigned to each V-bit; remove duplicate assignments
Compile error: alarm class limit exceeded More than four alarm classes referenced Reduce to the four classes supported by Basic Panels: Errors, Warnings, Information, System
Alarm text shows "???" on the HMI Language switching not configured or active language missing the text Add the alarm text to every active project language under HMI alarms → Texts
Alarm latency exceeds 5 s Acquisition cycle on the trigger tag set too long Reduce acquisition cycle to 500 ms or 1 s for fault monitoring
LOGO! shows VM bit toggling but HMI alarm flickers Contact bounce or chatter on the source input without debounce Add an on-delay / off-delay block, or implement hysteresis in the FBD logic

Performance and Safety Notes

  • Alarm latency. Default HMI acquisition cycle is 2 s; reduce to 1 s for fault monitoring and to 500 ms for safety-relevant alarms where reaction time matters. The LOGO! scan time on a typical 8.4 program is 5–20 ms, which is not the bottleneck.
  • Safety alarms. The KTP700 Basic is not a safety-rated HMI. Safety functions (E-stop, guard interlock, light curtain) must be wired directly through a safety relay or a LOGO! with the safety module (LOGO! 8.4 CMR or LOGO! 8.4 SIPLUS) and must not rely on the VM word / HMI path for the safety action itself. Use the VM path only for visualization of the safety status.
  • VM range collisions. Avoid allocating VW0VW96; these addresses are commonly used by LOGO! internal functions (analog I/O flags, run/stop bits, network I/O flags). Start at VW100 or higher to prevent accidental overwrites.
  • Word alignment. Only even word addresses are valid in the LOGO!. If you specify VW101 in TIA Portal, the HMI will either reject the tag or read from an undefined area. Always use even addresses (VW100, VW102, VW104, …).
  • Volatility. Remind operators that a LOGO! power cycle clears all VM bits. If persistent alarm indication is required across power events, configure the alarm class with acknowledgement and use a retentive LOGO! marker feeding the V-bit, or buffer the alarm state in the HMI recipe/log.

Migration Notes: LOGO! 8.3 and Earlier to 8.4

Projects written for LOGO! 8.0 / 8.1 / 8.2 / 8.3 import cleanly into LOGO! Soft Comfort V8.4. The VM area, VM mapping, and Digital Network Output functionality are present from LOGO! 8.0 onward, so any program that used the same bit-to-word pattern on earlier firmware versions will continue to work on 8.4 without modification. The principal difference on 8.4 FS4 is the expanded cloud connectivity and the improved S7 server performance; the alarm pattern is unchanged.

Projects migrated from LOGO! 7 (0BA7) or 6 (0BA6) generation do not have the VM mapping table in the same form — the VM exposure was achieved via the network output blocks only. The technique described in Method B is the equivalent pattern for those legacy programs.

Reference Files and Downloads

FAQ

Why can I not bind a single boolean tag (M32) directly to a KTP700 Basic alarm?

Basic Panels evaluate alarms against a word tag and look at a specific bit index within it; only Comfort Panels and WinCC RT Advanced / RT Professional support bit-tag triggers. The fix is to pack the marker into a VM word on the LOGO! and let the HMI interpret individual bits.

How many discrete alarms can the KTP700 Basic handle?

The exact number depends on the WinCC Basic RT version installed; consult the device-specific performance list. Plan for at least 32 discrete alarms on the 2nd-generation Basic Panels, with up to four alarm classes.

Can I use a DB word instead of VW100?

The LOGO! 8.4 does not expose classic S7 DB areas in the same way as an S7-1200. The VM area is the equivalent for HMI consumption. Stay inside the VM range and use even word addresses.

Do VM bits retain their state through a power cycle?

No. VM is volatile. Use a retentive LOGO! marker feeding the network output, or configure the HMI alarm class with acknowledgement so the alarm persists until the operator acknowledges it.

What if I have more than 16 fault conditions?

Use multiple even word addresses in the VM read/write range: VW100, VW102, VW104, etc. Each word adds 16 alarm slots. The total is bounded by the panel's discrete-alarm limit and the VM capacity up to VW850.

My fault relay coil M32 does not appear in the LOGO! VM mapping dropdown. What now?

Use a Digital Network Output block from the Network folder of LOGO! Soft Comfort. Wire the fault coil to the input of the block and set the network output address (NS) to the desired V-bit, for example V100.0. This performs an implicit copy on every LOGO! scan.

Back to blog