Resolving LOGO! 8 FS4 Network Input VB Block Read Failures
Field engineers frequently report that a second Siemens LOGO! 8 FS4 controller cannot read variable byte (VB) values from a peer device's network input (NI) area, even when the Ethernet link is healthy, the Q/NI pair works, and IP addressing is correct. The most common cause is duplicate signal routing created in LOGO! Soft Comfort when both a client and a server connection are configured for the same VM payload. This reference documents the root cause, the corrected project flow, and the diagnostic checks that resolve the failure on the 6ED1052-xxx08-0BA2 (LOGO! 8.4 FS4) platform and earlier variants of the LOGO! 8 generation.
1. Problem Description
A typical installation consists of two LOGO! 8 FS4 controllers interconnected on a 192.168.1.0/24 subnet:
- Device 1 (Master/Client+Server): IP 192.168.1.5, mask 255.255.255.0, gateway 192.168.1.1
- Device 2 (Peer): IP 192.168.1.6, mask 255.255.255.0, gateway 192.168.1.1
Network Inputs NI4 (read as Q/NI4 in the partner) and NI5 (read as I/NI5 in the partner) return correct values on Device 2. However, NI1, NI2, and NI3 - which are mapped to variable byte blocks V1.0, V1.1, and V1.2 of Device 1 - are stuck at 0, intermittent, or contain stale data. The S7 connection is active in the diagnostics view; the underlying Ethernet link is up; ARP resolves both endpoints.
2. Affected Hardware and Firmware
The behavior was observed on the LOGO! 8.4 FS4 generation, part numbers in the 6ED1052-2xx08-0BA2 family:
- 6ED1052-1MD08-0BA2 - LOGO! 8.4 FS4 with display
- 6ED1052-1CC08-0BA2 - LOGO! 8.4 FS4 basic variant
- 6ED1052-2MD08-0BA2 - LOGO! 8.4 FS4 with Ethernet and display
It also reproduces on the LOGO! 8.3 (6ED1052-xxx08-0BA1) and earlier releases. All variants share the S7 communication model used by LOGO! Soft Comfort's network editor, so the resolution procedure is identical across the platform. The product family and firmware matrix is documented in the LOGO! 8 system manual entry 109751728.
3. Root Cause: Dual Client/Server Binding of the Same VM Payload
The LOGO! 8 peer model is an S7-protocol gateway. Each device can act as a client (it polls the partner's V/Q/M area and writes the result into its own NI registers) and as a server (it serves its own V/Q/M area to a partner that requests it). The two roles are independent, but they consume the same VM payload if a single V register is bound to an NQ twice.
In the failed project, the user created two parallel NQ connections for V1.0, V1.1, and V1.2:
- Connection A - LOGO! 1 configured as client, reads V1.0/V1.1/V1.2 from its own NQ table and writes them into LOGO! 2's NI1/NI2/NI3.
- Connection B - LOGO! 1 configured as server, the same V1.0/V1.1/V1.2 registers are again published to LOGO! 2 as NI1/NI2/NI3.
The compiler in LOGO! Soft Comfort does not flag this as a configuration error because both binding entries are syntactically valid. The runtime on the partner interprets the second binding as a write that overwrites the first, producing one of the following outcomes depending on cycle phase and timing:
- NI registers remain at the last successful server-side value while the client request is dropped on write conflict
- NI registers flicker between two transfer results that arrive in different scan cycles
- The connection is torn down by the S7 partner if a parameter validation error is returned
The instruction from the resolved thread is unambiguous: remove the unnecessary transfers and keep only one binding per VM-to-NI path. The easiest implementation is drag-and-drop from the network project tree.
3.1 Logical Topology of the Failure
4. Solution Procedure
The corrected project flow is executed inside LOGO! Soft Comfort. Open the same project used to program Device 1.
4.1 Prerequisites
- LOGO! Soft Comfort 8.4 or later, build 8.4.1 or newer recommended for FS4 project templates
- Ethernet connectivity from the PC to both LOGO! 8 devices
- Read/write access to the .lsc project file (Administrator rights on Windows if the project is stored in Program Files)
- Knowledge of the VM-to-NI mapping currently in service (Q-NI4 and I-NI5 are the reference pair that should continue to work)
- Backup of the original .lsc file before any structural change
4.2 Step-by-Step Correction
- In the project tree, expand Network > Connections and list every connection that references V1.0, V1.1, or V1.2.
- For each duplicate pair, identify whether the binding is declared as a client read or a server read on the partner. Keep the binding whose direction matches the intended master role of Device 1.
- Right-click the redundant entry and select Delete Connection. Confirm the deletion in the dialog.
- Open the Tools > Connection Status view and verify that exactly one entry per VM byte remains.
- Rebuild the project. From File > Properties > Memory Usage, confirm that the VM area still allocates the expected number of bytes and that no warning is emitted for the NI area.
- Download the corrected program to Device 1 with PC > LOGO! (Download). Wait for the Transfer complete message before powering Device 2.
- Cycle power on both LOGO! 8 devices in this order: Device 1 first, then Device 2. The boot order is important because the client expects the server to be online before its first poll.
- Re-validate from the on-device display of Device 2 (see Section 5.1).
4.3 Correct Mapping After the Fix
| Source (LOGO! 1) | Target (LOGO! 2) | Direction | Block Type |
|---|---|---|---|
| Q4 | NI4 | Server read on LOGO! 1 | Digital Output |
| I5 | NI5 | Server read on LOGO! 1 | Digital Input |
| V1.0 | NI1 | Server read on LOGO! 1 | Variable Byte |
| V1.1 | NI2 | Server read on LOGO! 1 | Variable Byte |
| V1.2 | NI3 | Server read on LOGO! 1 | Variable Byte |
No client connection is required for the read direction. Device 2 reads from Device 1's server; Device 1 does not pull values from Device 2 unless an explicit client connection is added for a separate VM byte.
5. Verification
After the corrected program is loaded, perform the following four checks before declaring the fault closed.
5.1 On-Device Display Check
On the LOGO! 8 FS4 display of Device 2, navigate to Network Inputs. The values for NI1, NI2, NI3 must update synchronously with the source VM bytes on Device 1. Toggle V1.0 from the LOGO! 8 display of Device 1 (use the cursor keys in Status mode) and confirm that NI1 follows within one scan cycle (typically 20-100 ms depending on program size).
5.2 LOGO! Soft Comfort Online View
Select Tools > Online > Connect and target Device 2 at 192.168.1.6. In the online view, drag the NI1, NI2, NI3 blocks onto the watch window. The values should be stable and equal to the V1.0, V1.1, V1.2 values observed on Device 1's online view.
5.3 Connection Status
From Network > Connection Status, confirm that the S7 connection from Device 2 to Device 1 reports Established with zero Error Count. If the error count increments, revisit the duplicate-binding check described in Section 4.
5.4 Wireshark Validation
Run Wireshark on the management port of the subnet, capture on TCP port 102, and apply the display filter ip.addr == 192.168.1.5 && ip.addr == 192.168.1.6 && s7comm. The S7 communication should consist of a single PUT/GET pair per scan; a second PUT/GET on the same TSAP indicates a residual duplicate binding.
6. LOGO! 8 FS4 Communication Architecture Reference
The LOGO! 8 family uses the Siemens S7 communication protocol on top of ISO-on-TCP (RFC 1006) on port 102. Each device is identified by its IP address; the local TSAP is fixed (01.01) and the partner TSAP is configured in the connection table. The FS4 firmware revision expanded the VM area to 850 bytes and the NI/NQ table to 64 entries each. Background material is available on the Siemens LOGO! product page and in the LOGO! 8 system manual.
| Parameter | LOGO! 8.0/8.1 | LOGO! 8.2/8.3 | LOGO! 8.4 FS4 |
|---|---|---|---|
| VM area size (bytes) | 48 | 850 | 850 |
| NI/NQ count | 16/16 | 32/32 | 64/64 |
| Max S7 client connections | 4 | 8 | 8 |
| Max S7 server connections | 1 | 1 | 8 (FS4 increase) |
| Ethernet port count | 1 | 1 | 1 (plus TDE on -0BA2 variants) |
| Web server variables | 32 | 32 | 64 |
| Program memory (blocks) | 200 | 400 | 400 |
The increase in server connections on FS4 is the underlying reason the duplicate-binding bug becomes visible: the runtime can now hold both a client and a server session open against the same VM byte, and the resulting race condition is no longer masked by the previous single-server limit. The earlier firmware tore down the second connection outright, which produced a clearer log entry but still left the user confused.
7. NI/NQ Memory Mapping Reference
Network Inputs (NI) on the receiving LOGO! 8 are populated by the S7 communication stack and exposed to the FBD program as standard markers. The mapping is one-to-one with the V area of the partner when the connection is of type Read from server. The table below covers the offset calculations most frequently used in peer configurations.
| Partner VM Byte | Local NI Byte (read) | Local NQ Byte (write) | Block Type Selector |
|---|---|---|---|
| VB0 / V0.0 | NI1.0 | NQ1.0 | Variable Byte |
| VB1 / V0.1 | NI1.1 | NQ1.1 | Variable Byte |
| VB2 / V0.2 | NI1.2 | NQ1.2 | Variable Byte |
| VB16 / V1.0 | NI1.0 (offset 16) | NQ1.0 (offset 16) | Variable Byte |
| VB17 / V1.1 | NI1.1 (offset 16) | NQ1.1 (offset 16) | Variable Byte |
| VB18 / V1.2 | NI1.2 (offset 16) | NQ1.2 (offset 16) | Variable Byte |
| VW0 | NIW1 (16-bit word) | NQW1 | Variable Word |
| VD0 | NID1 (32-bit dword) | NQD1 | Variable DWord |
The "Block Type" selector in the LOGO! Soft Comfort block dialog is critical: when the user reported being unable to find NI or NQ in the block type list, the correct path is to open the network project's Insert > Network Input dialog, not the FBD block library. NI/NQ are network-only symbols; they are not visible in the FBD editor's standard block list.
8. Common Configuration Pitfalls
| Pitfall | Symptom | Fix |
|---|---|---|
| Duplicate VM-to-NI binding (client + server) | NI values stuck, flicker, or stay at 0 | Remove one of the two bindings; keep the role that matches the master |
| Wrong block type selector (I/Q chosen instead of NI/NQ) | Local block references partner marker but the symbol is not visible in the FBD | Open the network project tree and use Insert > Network Input/Output |
| Mismatched scan order (device 2 boots before device 1) | NI registers remain at 0 until next power cycle | Boot LOGO! 1 first, then LOGO! 2; add a startup delay on the client |
| VM offset confusion between VB0 and V1.0 | Source byte is read into the wrong NI byte | Verify the offset in Network > Connection Details; V1.0 corresponds to byte 16 of the partner VM |
| LOGO! Soft Comfort project version mismatch | Download fails or VM area truncates to 48 bytes on older firmware | Match the project firmware target to the actual LOGO! 8 FS4 firmware |
| Subnet mask mismatch between two devices | One-way visibility (PING OK in one direction, S7 fails) | Force 255.255.255.0 on both; remove rogue DHCP server |
| Partner TSAP collision (rare on LOGO! 8 but possible with mixed fleet) | S7 connect refused, Wireshark shows TPKT RST | Set partner TSAP to 01.01 explicitly in the connection table |
| Web server variable mapped to same VM byte | Web page value and NI value desynchronize | Use a separate V byte for web access; do not share with peer NI |
9. Advanced Configuration: Replacing the Drag-and-Drop Workflow
When the project has been authored programmatically, the equivalent of the drag-and-drop binding is the NI and NQ tag references in the LOGO! Soft Comfort network XML. The relevant fields are:
<connection name="V_to_NI1" type="S7" direction="read">
<partner ip="192.168.1.5" tsap="01.01"/>
<source area="V" byte="1" bit="0"/>
<target area="NI" byte="1" bit="0"/>
</connection>
Validate the file with Tools > Check Project before any download. A connection of identical source area, source byte, and source bit appearing twice is the programmatic equivalent of the duplicate-binding fault. The same warning applies to source area="M" bindings that target marker memory rather than VM memory.
10. Diagnostics and Monitoring
For continuous monitoring of the S7 session, expose the following markers in the FBD and map them to LOGO! Display or web server variables:
- VM Byte 0 (status): bit 0 = connection to LOGO! 2 established; bit 1 = last read OK; bit 2 = last write OK
- VM Byte 1 (error code): 0 = no error; 1 = timeout; 2 = invalid TSAP; 3 = duplicate binding write conflict
- VM Byte 2 (scan counter): increments on every successful NI update; the value should grow monotonically at the configured poll rate
The S7 error codes returned by the LOGO! 8 server are documented in the LOGO! 8 system manual. The most common return codes for FS4 deployments are:
| Hex | Meaning | Recovery |
|---|---|---|
| 0x00 | No error | No action |
| 0x01 | Hardware fault | Cycle power; check Ethernet cable |
| 0x03 | Object access not allowed | Indicates a duplicate binding - revisit Section 4 |
| 0x05 | Invalid address | VM byte exceeds the 850-byte FS4 limit |
| 0x0A | Object does not exist | Partner NI index not defined on the receiving LOGO! |
| 0xFF | Partner unreachable | Verify partner IP, subnet, gateway; check for loopback or firewall |
11. S7 Protocol Reference for Peer Networks
The S7 protocol used by LOGO! 8 is a streamlined subset of the S7-300/400 communication. The relevant opcodes for a peer VM read are:
| Opcode | Function | Used For |
|---|---|---|
| 0x04 | Read Var | Pull VM byte from partner (PUT/GET) |
| 0x05 | Write Var | Push VM byte to partner (PUT only) |
| 0x00 | Setup Communication | Initial TSAP negotiation on connect |
| 0x01 | Read SZL | System status list - rarely used in peer mode |
The transport is ISO-on-TCP (RFC 1006) on TCP port 102. The TPDU length is fixed at 1024 bytes. The S7 payload uses the standard 12-byte header followed by the parameter and data sections. The polling cycle of the LOGO! 8 client is governed by the user program scan time; there is no independent poll timer.
12. Wireshark Capture Example
A healthy peer session produces the following traffic on the wire (sample Wireshark output, abridged):
No. Time Source Dest Length Info
1 0.000000 192.168.1.6 192.168.1.5 76 TPKT CR TPDU 0
2 0.000142 192.168.1.5 192.168.1.6 76 TPKT CC TPDU 0
3 0.001204 192.168.1.6 192.168.1.5 91 S7COMM Setup communication
4 0.001350 192.168.1.5 192.168.1.6 91 S7COMM Ack Setup
5 0.020112 192.168.1.6 192.168.1.5 104 S7COMM Read Var [V1.0..V1.2]
6 0.020289 192.168.1.5 192.168.1.6 110 S7COMM Data Read [V1.0=0x55 V1.1=0xAA V1.2=0x33]
The duplicate-binding fault produces a second, interleaved Read Var on the same TSAP. Filter with s7comm.param.func == 0x04 and count occurrences within a 1-second window: a healthy session shows exactly 1 (or 0 between updates); the faulty session shows 2 or more.
13. Integration with S7-200, S7-1200, and S7-1500
The LOGO! 8 can read from and write to a full S7 CPU by acting as a client. The procedure is identical to peer-to-peer, with the partner IP set to the S7 CPU and the partner TSAP set to 01.01 (the default for S7-200/1200/1500).
| Source CPU | Source Symbol | LOGO! 8 Target | Required CPU Setting |
|---|---|---|---|
| S7-200 | VB0 | NI1.0 | None (always permits PUT/GET) |
| S7-1200 (FW < 4.5) | DB1.DBB0 | NI1.0 | Enable PUT/GET in CPU Properties > Protection |
| S7-1200 (FW ≥ 4.5) | DB1.DBB0 | NI1.0 | None (PUT/GET permitted by default) |
| S7-1500 | DB1.DBB0 | NI1.0 | None (PUT/GET permitted by default) |
| S7-300/400 | DB1.DBB0 | NI1.0 | None in default configuration |
Reference the S7 CPU's Siemens Industry Online Support entry for the exact CPU article number and the corresponding PUT/GET enable procedure.
14. Firmware Migration Notes
When upgrading from LOGO! 8.3 (6ED1052-xxx08-0BA1) to LOGO! 8.4 FS4 (6ED1052-xxx08-0BA2), review the following items in the project before downloading:
- NI/NQ index above 32 must be re-validated; pre-FS4 firmware truncates the table silently
- VM offset above 48 must be reassigned; pre-FS4 firmware refuses the download with a memory overflow error
- Web server variable list may need to be pruned to 32 entries for backward compatibility with the older LOGO! TD (text display)
- The web server URL changes from
http://<ip>/logotohttp://<ip>/fs4on FS4 - update any saved browser bookmarks
Perform the upgrade on a bench setup first if the FS4 system is the master in a multi-CPU topology. The migration is not hot-swappable: the LOGO! 8 must be powered down for the SD card or Ethernet firmware update to apply.
15. Safety and Commissioning Notes
During commissioning, always keep a hardwired backup (a manual override switch wired to a discrete input of the receiving LOGO!) for the network-driven outputs. The S7 session takes 2-4 scan cycles to establish after power-up; the outputs must be off during this window if the application cannot tolerate the initial zero state.
Verify the S7 connection under worst-case load: run a parallel network stress tool (for example, iperf on TCP port 102) at 50% of the link bandwidth while the peer application is active. The LOGO! 8 client should not disconnect; if it does, the network is oversubscribed and the scan time of the master program is too long.
16. Frequently Asked Questions
Why can Device 2 read Q4 and I5 from Device 1, but not V1.0, V1.1, V1.2?
The Q (output) and I (input) bindings operate on the partner's discrete I/O area, which is mapped 1:1 to NI markers without VM involvement. The V1.0-V1.2 bindings route through the VM (variable memory) area. A duplicate client/server configuration on the V area corrupts the read while the discrete area is unaffected.
Where do I find the NI and NQ block types in LOGO! Soft Comfort?
NI and NQ are not FBD blocks. They appear only in the Network Project tree, accessed via File > New > Network Project. Use Insert > Network Input or Insert > Network Output to add them, then drag the resulting symbol onto the FBD canvas. They are listed in the FBD block dialog under the "Network" category, not under "I/O" or "Marker".
How many S7 connections does a LOGO! 8 FS4 support?
FS4 firmware supports 8 client connections and up to 8 server connections, for a maximum of 16 simultaneous S7 sessions. The connection count is configured per partner IP in Network > Connections. Earlier firmware (pre-FS4) is limited to 8 client and 1 server, which masks the duplicate-binding fault by failing the second connection outright.
Does the fix require a firmware update on the LOGO! 8?
No. The corrected configuration is valid on every LOGO! 8 firmware revision from 8.0 onward. The behaviour is a project-level configuration issue, not a firmware bug. However, FS4 is recommended for new installations because the larger VM area and the higher NI/NQ count simplify peer-to-peer topologies.
Can the LOGO! 8 read V memory from a Siemens S7-1200 or S7-1500?
Yes, with caveats. The S7-1200/1500 must have PUT/GET enabled in the CPU properties (default in V4.5 firmware and later for S7-1200, default for S7-1500). Configure the LOGO! 8 as a client, enter the S7-1200/1500 IP as the partner, and use DB1.DBB0 (or any data block byte) as the source. The S7-1200/1500 side requires no special configuration beyond the PUT/GET enable.