Resolving LOGO! 8 FS4 Network Input VB Block Read Failures

David Krause16 min read
Industrial NetworkingSiemensTroubleshooting
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

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.

Symptom signature: Boolean NI mappings (Q-NI, I-NI) function correctly, but byte/word/dword NI mappings sourced from the V area do not propagate. This pattern is the diagnostic fingerprint of a duplicated VM-to-NI binding inside the LOGO! Soft Comfort project file.

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:

  1. 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.
  2. 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

LOGO! 1 (192.168.1.5) V1.0 / V1.1 / V1.2 NQ1 / NQ2 / NQ3 Duplicate binding! Server role (A) Client role (B) Q4, I5 (working) LOGO! 2 (192.168.1.6) NI1 / NI2 / NI3 Read fails (0/stale) NI4 (Q4 reads OK) NI5 (I5 reads OK) FBD program Output stage Conflicting write

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

  1. In the project tree, expand Network > Connections and list every connection that references V1.0, V1.1, or V1.2.
  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.
  3. Right-click the redundant entry and select Delete Connection. Confirm the deletion in the dialog.
  4. Open the Tools > Connection Status view and verify that exactly one entry per VM byte remains.
  5. 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.
  6. Download the corrected program to Device 1 with PC > LOGO! (Download). Wait for the Transfer complete message before powering Device 2.
  7. 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.
  8. 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.

Performance note: A LOGO! 8 FS4 client can sustain roughly 50-100 PUT/GET transactions per second against a single peer, limited by the scan time of the master. Do not attempt to poll VM bytes faster than the program scan - the S7 stack will queue and the effective rate will collapse.

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>/logo to http://<ip>/fs4 on 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

Safety: The LOGO! 8 is a logic module, not a safety PLC. Do not route safety-critical signals through the S7 network connection. The connection is not SIL-rated, has no watchdog on the client side, and can stall silently if the Ethernet cable is removed. Use a dedicated safety relay (for example, 3SK1 or Sirius) for emergency stop circuits.

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.

Back to blog