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.0–V850.7: read/write access for external S7 clients (HMI, PLC PUT/GET). -
V851.0–V1023.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.
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)
- Open the LOGO! program in LOGO! Soft Comfort V8.4.
- Select Tools → VM Mapping (also reachable via the connection properties dialog of the Ethernet interface).
- Add a new entry.
- Set Source to the local marker, e.g.,
M32. - Set Destination to the desired V-bit, e.g.,
V100.0. - Repeat for every fault marker (M32 → V100.0, M33 → V100.1, etc.).
- 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.
- Drag a Digital Network Output block into the FBD diagram.
- Wire the input of the Digital Network Output to the source bit (for example, the output of a fault latch that sets M32).
- Double-click the block and assign the network output address, e.g.,
NS = V100.0. - 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.
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
- Open the TIA Portal V20 project that contains both the LOGO! 8.4 device and the KTP700 Basic.
- In the project tree, expand the KTP700 Basic and then expand HMI alarms.
- Double-click Discrete alarms to open the alarm editor.
- Add one alarm row per fault condition (right-click → Add new alarm, or use the toolbar button).
- 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 |
- Compile the HMI project (Project tree → KTP700 Basic → Compile → Software (rebuild all)).
- Download to the panel (Online → Download to device).
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)
- On the LOGO! 8.4, configure the Ethernet interface with a static IP address (e.g.,
192.168.0.10), subnet mask255.255.255.0, and disable DHCP. Enable the S7 server functionality (default ON on FS4 firmware). - 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. - In TIA Portal, open Devices & Networks, drag the LOGO! 8.4 and the KTP700 Basic onto the network view, and connect their PROFINET interfaces.
- Right-click the connection and select Define as S7 connection.
- 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).
- In the HMI tag table of the KTP700 Basic, declare a tag named e.g.,
FaultWordwith:
- 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
- Build the project and download to both the LOGO! 8.4 and the KTP700 Basic.
- 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).
- On the KTP700 Basic, switch to the alarm view screen and confirm the corresponding alarm appears with the correct text and class.
- 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.
- Cycle through all 16 faults in sequence to verify no address overlap, no double-triggering, and no missing alarms.
- 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).
- 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
VW0–VW96; these addresses are commonly used by LOGO! internal functions (analog I/O flags, run/stop bits, network I/O flags). Start atVW100or higher to prevent accidental overwrites. -
Word alignment. Only even word addresses are valid in the LOGO!. If you specify
VW101in 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.