Problem Overview
Field installations that pair a Siemens LOGO! 8 base module (BM) as a Modbus TCP client with a smart-me Kamstrup HAN gateway consistently report a single failure mode: the LOGO! reads a constant 0 from the energy meter while an independent Modbus master test tool (QModMaster, Modbus Poll, the Home Assistant Modbus integration, or libmodbus-based scripts) reads the same register and returns a valid IEEE-754 32-bit float. The fault is layered: three independent root causes stack on top of each other, and any one of them produces the identical 0-value symptom that the LOGO! program surfaces.
This article documents the three failure modes, the correct Network Analog Input (NAI) configuration in LOGO! Soft Comfort V8.x, the F/I converter pattern required to scale the 32-bit float into the LOGO!'s native 16-bit signed integer range, and the verification sequence using the LOGO! Online Test Data Table.
Symptom Matrix
| Observed symptom | Tool that reports the symptom | Most likely root cause | Section |
|---|---|---|---|
LOGO! reads 0 from a register that QModMaster reads as a valid float |
LOGO! Soft Comfort Online Test / Data Table | Register width mismatch (16-bit read of a 32-bit value) | Fix #2 |
| LOGO! connection times out, no NAI update | LOGO! Soft Comfort diagnostics | Wrong IP address in NAI server field (e.g., 198.168.0.x) |
Fix #1 |
LOGO! and QModMaster both receive ECONNREFUSED on TCP/502 |
Wireshark / Modbus Poll / QModMaster | smart-me local Modbus server disabled in firmware | Fix #3 |
| LOGO! reads non-zero but oscillating or scaled incorrectly | LOGO! Online Test | Byte order / word swap between VW pairs | Byte Order |
LOGO! Online Test shows NAI value stuck at -32768
|
LOGO! Soft Comfort | Server returns signed 16-bit value; LOGO! native range reached | Integer Range |
6ED1052-1MD08-0BA1 (FS04), 6ED1052-1xx08-0BA2 (FS05), and 6ED1052-2xx08-0BA2 with Ethernet interface, running LOGO! Soft Comfort V8.3 or later. Smart-me Kamstrup HAN gateway modules with firmware 1.2.x and later are covered. LOGO! 8 FS-03 modules (6ED1052-1MD08-0BA0) ship with reduced Modbus client support (4 concurrent connections instead of 8) and are called out where divergent.Root Cause Analysis
The three independent failure modes are documented below in the order they should be ruled out during commissioning. Each section provides the diagnosis, the corrective action, and the verification step.
Failure Mode A — Network Address Misconfiguration
The LOGO! NAI block contains a four-field IP address (octet 1 through octet 4) and a separate port field. A single typo in any of the four octets — most commonly 198.168.0.x instead of 192.168.0.x — sends the TCP SYN to a non-existent host. The LOGO! Modbus client implementation reports the timeout to the FBD interpreter, the NAI value is never updated, and the local V-memory location retains its power-on reset value of 0.
The IP address in the LOGO! program must match the IP address that QModMaster uses to read the same smart-me module. The QModMaster connection status (green indicator) confirms the TCP path; if QModMaster reads the meter but LOGO! reads 0, the LOGO! NAI IP address field is wrong even when it looks correct at a glance.
Failure Mode B — Register Width Mismatch
A single LOGO! NAI block issues Modbus function code 0x03 (Read Holding Registers) with quantity = 1, returning a single 16-bit register. The Kamstrup meter exposes active power, voltage, current, and energy values as 32-bit IEEE-754 floats across two consecutive holding registers (4 bytes). With quantity = 1, the LOGO! receives only the first 2 bytes of the 4-byte value; the remaining 2 bytes are silently discarded by the master. The high 16 bits of an IEEE-754 float representing a normal residential active power value (e.g., 1.234 kW) often decode to a value that the LOGO! FBD interpreter rejects as out-of-range, and the NAI output is clamped to 0.
The correct pattern is to use two NAI blocks at consecutive V-memory addresses (e.g., VW0 and VW2) that read the same starting register address, then combine the two 16-bit halves into a 32-bit value using the LOGO! arithmetic block, and finally convert the IEEE-754 float to a LOGO! integer with the F/I (Float-to-Integer) converter block.
Failure Mode C — smart-me Local Modbus Server Disabled
Smart-me Kamstrup HAN gateway modules ship with the local Modbus TCP server on port 502 disabled by default in firmware revisions up to and including 1.2.x. Until the local connection is enabled through the smart-me cloud onboarding flow or the local web UI, every Modbus client (LOGO!, QModMaster, Home Assistant Modbus integration) receives a TCP RST on the SYN, surfacing as ECONNREFUSED in Linux or a connection failure dialog in QModMaster.
The smart-me setup flow includes a "Local connection test" that exercises the TCP/502 endpoint after the user enables local API access. If the test fails, the smart-me firmware keeps the local Modbus server disabled until the user re-runs the cloud configuration or until the device is power-cycled.
System Topology
Siemens LOGO! Modbus Architecture Reference
The LOGO! 8 base module integrates an Ethernet interface that supports three concurrent roles: S7 communication (PUT/GET), Modbus TCP server, and Modbus TCP client. The Modbus TCP client functionality is exposed inside the FBD program through three block families:
- NAI — Network Analog Input: reads a single 16-bit signed integer holding register (function code 0x03, quantity = 1) from a remote Modbus server.
- NAQ — Network Analog Output: writes a single 16-bit signed integer holding register (function code 0x06 or 0x10) to a remote Modbus server.
- Network Digital Input (NDI) / Output (NDQ): reads/writes a single coil (function code 0x01 / 0x05).
There is no native 32-bit read block. Two consecutive 16-bit NAI blocks must be combined in the FBD program to reconstruct a 32-bit value. The LOGO! Soft Comfort program editor allows the user to assign the V-memory target of each NAI block explicitly; this is the mechanism used to align two NAI blocks to a 32-bit-aligned address (VW0 + VW2 = VD0).
LOGO! Modbus Client Limits
| Parameter | LOGO! 8 FS04 / FS05 | LOGO! 8 FS03 | LOGO! 7 |
|---|---|---|---|
| Concurrent Modbus TCP client connections | 8 | 4 | 0 (not supported) |
| Modbus function codes supported | 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x10 | 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 | N/A |
| Maximum polling rate (combined NAI/NAQ blocks) | ~10 Hz aggregate, scan-time dependent | ~4 Hz aggregate | N/A |
| Default Modbus TCP port (server role) | 502 (configurable 1–65535) | 502 | N/A |
| V-memory byte address range | 0–850 (VW0–VW848) | 0–850 | N/A |
Pre-Commissioning Network Verification
Before opening LOGO! Soft Comfort, verify the TCP path from the LOGO! base module to the smart-me module with a generic Modbus master. This step isolates the network from the LOGO! configuration and prevents misdiagnosis.
- Connect a Windows PC to the same Ethernet subnet as the smart-me module and the LOGO! BM.
- Install QModMaster (open-source) or Modbus Poll (commercial).
- Configure the connection: TCP/IP, IP address = the smart-me module IP (commonly
192.168.0.121for the HAN gateway default), port =502, timeout = 1000 ms. - Issue a Read Holding Registers request at function code 0x03, starting address =
0, quantity =2. The response should decode to a valid IEEE-754 float when interpreted as a 32-bit value (little-endian word order). - If the read returns an exception code (e.g., 0x02 ILLEGAL_DATA_ADDRESS), confirm the smart-me register map and verify that the local Modbus server is enabled.
- If the read returns
ECONNREFUSED, the smart-me local Modbus server is disabled. Enable it through the smart-me cloud onboarding or local web UI before continuing.
Record the IP address, port, and a representative register value (e.g., active power in kW) returned by QModMaster. These values are required for the LOGO! Soft Comfort NAI configuration in the next section.
Fix #1: IP Address Configuration in the NAI Block
Open the LOGO! Soft Comfort FBD program and double-click the NAI block that targets the smart-me module. The block properties dialog contains four fields in the IP Address group: IP1, IP2, IP3, IP4, plus a Port field. Enter each octet of the smart-me module's IP address in its respective field:
| Field | Example value (smart-me HAN default) | Common typo |
|---|---|---|
| IP1 | 192 |
198 |
| IP2 | 168 |
rare |
| IP3 | 0 |
rare |
| IP4 | 121 |
122, 221
|
| Port | 502 |
503, 8052
|
Save the FBD program and transfer to the LOGO! BM. Open the LOGO! Online Test view and watch the NAI block status. If the IP address is correct, the NAI block status indicator turns green within one scan cycle and the V-memory target begins updating.
0 indefinitely. To confirm the network path, use ping from a PC on the same subnet or use Wireshark on the LOGO! Ethernet port to observe the absence of Modbus TCP traffic.Fix #2: Register Width and NAI Configuration
A single NAI block reads one 16-bit register. To reconstruct a 32-bit IEEE-754 float, configure two NAI blocks at consecutive V-memory addresses that both target the same starting holding register address on the smart-me module:
- Add a first NAI block. Set IP Address to the smart-me module IP (see Fix #1), Port = 502, Register Address = the starting register of the 32-bit value (e.g.,
0for active power on the standard Kamstrup register map), V-memory Target =VW0. - Add a second NAI block with the same IP, port, but with Register Address = (starting register + 1) and assign V-memory Target =
VW2. - Both blocks return one 16-bit register each (the first and second halves of the 32-bit value). The pair
VW0+VW2is byte-aligned toVD0.
The LOGO! arithmetic block then combines VW0 and VW2 into a 32-bit value. Because LOGO! Soft Comfort V8.x does not provide a native 32-bit register combinator block, the combination is done in two steps: scale VW2 by 65536 and add VW0 to produce a 32-bit integer in the range 0–4294967295, then convert to a LOGO! integer range with the F/I (Float-to-Integer) block.
NAI Configuration Table — Active Power Read
| Block | Server IP | Port | Register address (decimal) | Function code | V-memory target | Notes |
|---|---|---|---|---|---|---|
| NAI #1 (low word) | 192.168.0.121 | 502 | 0 | 0x03 (Read Holding) | VW0 | Low 16 bits of 32-bit IEEE-754 value |
| NAI #2 (high word) | 192.168.0.121 | 502 | 1 | 0x03 (Read Holding) | VW2 | High 16 bits of 32-bit IEEE-754 value |
| Arithmetic combiner | — | — | — | — | VD0 (VW0 + VW2 × 65536) | Forms 32-bit IEEE-754 raw value |
| F/I converter | — | — | — | — | VW4 | IEEE-754 → LOGO! signed 16-bit integer |
Note that for many Kamstrup register maps the low word is held at the lower Modbus register address and the high word is at register address+1 (little-endian word order). The LOGO! F/I converter expects the 32-bit IEEE-754 representation in the LOGO!'s internal format; if the float reads backwards (e.g., 1.234 decodes as -1.923e-18), swap the V-memory targets of NAI #1 and NAI #2 or insert a word-swap using the arithmetic block (multiply VW0 by 65536 and add VW2 instead).
Register Width Diagram
Data Type Conversion with F/I and I/F Blocks
The LOGO! Soft Comfort FBD library provides two converter blocks that bridge the gap between IEEE-754 32-bit floats and LOGO!'s native 16-bit signed integer range (-32768 to +32767):
-
F/I (Float-to-Integer): accepts a 32-bit IEEE-754 float on input
ENand a scaling gain on inputG. OutputQproducesround(input_float × gain), clamped to the LOGO! 16-bit signed range. The block truncates silently if the input exceeds the integer range. -
I/F (Integer-to-Float): the inverse: accepts a 16-bit signed integer on
ENand a scaling gain onG. OutputQproduces(input_integer ÷ gain)as a 32-bit IEEE-754 float.
Scaling Gain Calculation
The F/I converter is the workhorse for displaying meter values on the LOGO! built-in display or for driving an analog output. The gain G is selected to map the expected meter range into the LOGO! 16-bit signed range:
| Meter quantity | Typical full-scale value | LOGO! display range | Recommended gain G
|
|---|---|---|---|
| Active power (kW) | 0.000–10.000 kW residential | 0–10000 (1 unit = 1 W) | 1000 |
| Voltage L1 (V) | 0.0–250.0 V | 0–2500 (1 unit = 0.1 V) | 10 |
| Current L1 (A) | 0.0–100.0 A | 0–1000 (1 unit = 0.1 A) | 10 |
| Energy total (kWh) | 0.0–99999.9 kWh | 0–999999 (1 unit = 0.1 kWh) | 10 |
| Power factor | -1.00 to +1.00 | -100 to +100 (1 unit = 0.01) | 100 |
| Reactive power (kvar) | -10.000 to +10.000 kvar | -10000 to +10000 (1 unit = 1 var) | 1000 |
| Frequency (Hz) | 45.00–55.00 Hz (EU) / 55.00–65.00 Hz (US) | 4500–5500 (1 unit = 0.01 Hz) | 100 |
The integer output of the F/I block can then be displayed on the LOGO! built-in text display, written to an NAQ block (16-bit write to a SCADA), or routed through additional scaling for use in a control loop.
1/G are lost. For energy metering where 0.1 kWh resolution is acceptable, the gain table above is appropriate. For revenue-grade metering or sub-watt power resolution, route the raw 32-bit float to a more capable controller (S7-1200 with FB "MODBUS_PNI"), an IOT2050, or a Pi with a Modbus-to-MQTT bridge.F/I Scaling Diagram
Byte Order and Word Swap
The Kamstrup meter transmits 32-bit IEEE-754 values with the low word at the lower Modbus register address (little-endian word order, the Modbus standard). The LOGO! F/I converter assumes the IEEE-754 representation is byte-swapped to LOGO! internal order. If the resulting float reads backwards (e.g., 1.234 decodes as -1.923e-18, or reads 0.0 for a non-zero meter load), the word order in the LOGO! is reversed.
To diagnose, write the combined 32-bit raw value to VD0 and observe it in the Online Test Data Table as a hexadecimal word pair:
-
Correct little-endian word order (Kamstrup default):
VD0 = VW0 + (VW2 × 65536). The arithmetic block computesVW2 × 65536 + VW0and writes the result toVD0. The F/I block then readsVD0and produces the correct float. -
Reversed (big-endian word order):
VD0 = VW2 + (VW0 × 65536). Swap the arithmetic operands and re-test.
A quick field check: if the LOGO! reads 0.0 for all loads but QModMaster reads the expected value, the arithmetic operands are likely inverted. Reverse the operand order and confirm.
Kamstrup smart-me Modbus Register Map
The smart-me Kamstrup HAN gateway exposes the underlying Kamstrup meter register map through a thin Modbus TCP wrapper on port 502. The exact register map depends on the smart-me firmware revision and the connected meter type (single-phase, three-phase, or three-phase with neutral). The typical register layout for a single-phase Kamstrup meter exposed through the smart-me gateway is:
| Register address (decimal) | Quantity | Data type | Unit | Description |
|---|---|---|---|---|
| 0 | Active power, total | IEEE-754 float, 32-bit | kW | Instantaneous total active power (positive = import) |
| 2 | Voltage L1 | IEEE-754 float, 32-bit | V | RMS voltage phase L1 |
| 4 | Current L1 | IEEE-754 float, 32-bit | A | RMS current phase L1 |
| 6 | Active energy, import | IEEE-754 float, 32-bit | kWh | Cumulative imported active energy |
| 8 | Active energy, export | IEEE-754 float, 32-bit | kWh | Cumulative exported active energy |
| 10 | Reactive power, total | IEEE-754 float, 32-bit | kvar | Instantaneous total reactive power |
| 12 | Power factor | IEEE-754 float, 32-bit | — | Cos φ, signed |
| 14 | Frequency | IEEE-754 float, 32-bit | Hz | Grid frequency |
| 16 | Active power L1 | IEEE-754 float, 32-bit | kW | Per-phase active power L1 (three-phase meters only) |
| 18 | Active power L2 | IEEE-754 float, 32-bit | kW | Per-phase active power L2 (three-phase meters only) |
| 20 | Active power L3 | IEEE-754 float, 32-bit | kW | Per-phase active power L3 (three-phase meters only) |
| 22 | Voltage L2 | IEEE-754 float, 32-bit | V | RMS voltage L2 (three-phase meters only) |
| 24 | Voltage L3 | IEEE-754 float, 32-bit | V | RMS voltage L3 (three-phase meters only) |
| 26 | Current L2 | IEEE-754 float, 32-bit | A | RMS current L2 (three-phase meters only) |
| 28 | Current L3 | IEEE-754 float, 32-bit | A | RMS current L3 (three-phase meters only) |
The exact register layout for the smart-me gateway is published in the smart-me developer documentation and is subject to firmware revision. The LOGO! program should be parameterized against the live register map returned by QModMaster rather than against a printed table; if a register returns an exception code 0x02 (ILLEGAL_DATA_ADDRESS), the meter does not support that quantity and the NAI block must be removed or re-mapped.
Modbus Exception Codes
| Code | Name | Meaning | Action |
|---|---|---|---|
| 0x01 | ILLEGAL_FUNCTION | Function code not supported by meter | Verify function code (typically 0x03 for holding registers) |
| 0x02 | ILLEGAL_DATA_ADDRESS | Starting register or quantity out of range | Re-query register map; reduce quantity |
| 0x03 | ILLEGAL_DATA_VALUE | Value in request field invalid | Check quantity range (1–125 for FC 0x03) |
| 0x04 | SERVER_DEVICE_FAILURE | Meter internal error (e.g., HAN link down) | Check Kamstrup HAN/NMI link; cycle smart-me power |
| 0x05 | ACKNOWLEDGE | Long-duration command in progress | Retry after delay; not applicable to LOGO! reads |
| 0x06 | SERVER_DEVICE_BUSY | Meter busy with another request | Increase LOGO! poll interval; serialize NAI blocks |
smart-me Local Modbus Server Activation
Smart-me Kamstrup HAN gateway modules ship with the local Modbus TCP server disabled by default. The local server is independent of the smart-me cloud API and must be enabled through one of three paths:
- Cloud onboarding flow: during the initial smart-me setup, the user is prompted to enable the local connection. Selecting "Enable local Modbus" writes a configuration bit to the device and reboots the local Modbus server on port 502.
-
Local web UI: browse to
http://<smart-me IP>from a PC on the same subnet, log in with the device credentials (default usernameadmin, password on the device label), navigate to Settings → Local API → Modbus TCP, and toggle Enable. The change applies after a device reboot (~30 s). - Cloud API configuration endpoint: the smart-me cloud exposes a REST endpoint that toggles the local Modbus server. This path is reserved for OEM integrators; the endpoint URL and authentication token are documented in the smart-me developer portal.
Online Test Data Table Verification
The LOGO! Soft Comfort Online Test Data Table is the primary verification tool for confirming that the LOGO! Modbus client is correctly reading the smart-me module. The procedure is:
- Connect LOGO! Soft Comfort to the BM via Ethernet (Tools → PC ↔ LOGO! Connection, or the online button in the toolbar).
- Open the Tools → Online Test view, or press F8.
- Switch to the Data Table tab. The table supports byte, word, and double-word address entries:
VB0,VW0,VD0, etc. - Add the following entries to the watch list:
-
VW0— low 16 bits of the active power read -
VW2— high 16 bits of the active power read -
VD0— combined 32-bit view -
VW4— output of the F/I converter
-
- Observe the values update at the LOGO! scan rate. If
VW0andVW2both change in step with the live meter load, the NAI blocks are reading correctly. IfVW0andVW2are both stuck at0, the NAI blocks are not receiving responses (network or register address issue). IfVW0changes butVW2is stuck at0, the high register address is out of range or the byte order is reversed.
Verification State Machine
Troubleshooting Matrix
| Observed value at VW0 / VW2 / VW4 | Diagnosis | Action |
|---|---|---|
| VW0 = 0, VW2 = 0, VW4 = 0 | No Modbus response; check IP address and server availability | Verify IP in NAI block; ping smart-me IP; check port 502 with QModMaster |
| VW0 = 0, VW2 = nonzero, VW4 = 0 | NAI #1 reading wrong register or out of range | Confirm register address matches smart-me map; verify quantity = 1 (16-bit) per NAI |
| VW0 = nonzero, VW2 = 0, VW4 = 0 | NAI #2 reading out of range | Confirm register address = (start) + 1; verify server accepts second register |
| VW0 = nonzero, VW2 = nonzero, VW4 = 0 | Combination arithmetic or F/I gain is wrong | Inspect arithmetic block scaling; verify F/I gain matches expected magnitude |
| VW0 / VW2 updating, VW4 = -32768 | F/I output exceeds 16-bit signed range; gain too high | Reduce F/I gain; meter value × gain must fit -32768 to +32767 |
| VW0 / VW2 updating, VW4 oscillating wildly | Byte order reversed; high and low 16-bit halves swapped | Swap NAI #1 and NAI #2 V-memory targets (use VW0/VW2 reversed) |
| All values match QModMaster but display on LOGO! shows wrong unit | F/I gain does not match display scaling | Adjust gain; for 0.1 V display, gain = 10 |
| Values update once then freeze | Modbus client connection lost; LOGO! scan time saturated | Reduce number of NAI blocks; verify network stability; check for duplicate IP |
| VW0 = -32768, VW2 = -32768 | Server returns signed 16-bit negative; LOGO! native range reached | Use F/I to scale into LOGO! range; meter returns negative value (e.g., exported power) |
| VW4 jumps between 0 and valid value | Intermittent network; NAI timeout mid-read | Check Ethernet cable; verify switch port speed/duplex; reduce LOGO! scan load |
| Exception code 0x02 visible in QModMaster | Register address not in meter map | Re-query register map; remove or remap the NAI block |
| Exception code 0x04 visible in QModMaster | HAN/NMI link down between meter and gateway | Verify Kamstrup meter HAN LED; reseat HAN cable; cycle smart-me power |
Verification Procedure
After completing the configuration, follow this end-to-end verification sequence to confirm that the LOGO! is reading the Kamstrup smart-me module correctly:
-
Network path: from a PC on the same subnet, run
ping 192.168.0.121(replace with the smart-me IP). Reply time should be < 5 ms on a wired Ethernet segment. - Modbus TCP endpoint: with QModMaster, connect to the smart-me IP on port 502 and read holding register 0, quantity = 2. Confirm a valid IEEE-754 float response. Record the value.
- LOGO! NAI status: in LOGO! Soft Comfort Online Test Data Table, add VW0, VW2, VW4. Within 5 seconds, all three should show non-zero values that change as the meter load changes.
- F/I converter output: confirm that VW4 (F/I output) matches the expected scaled value. For active power = 1.234 kW with gain = 1000, expected VW4 = 1234.
- Display test: configure a LOGO! display message to show VW4. Confirm the displayed value matches the QModMaster value scaled by the F/I gain.
- Stress test: run the program for 24 hours. Confirm VW4 remains non-zero and updates at the scan rate. Investigate any NAI timeout events by checking the smart-me cloud for connection logs.
- Failover test: power-cycle the smart-me module. The LOGO! should automatically re-establish the Modbus TCP connection within one scan cycle and resume updating VW0 / VW2 / VW4.
Frequently Asked Questions
Why does my LOGO! read 0 from the smart-me module while QModMaster reads a valid value?
Three layered causes are most common: a typo in the IP address field of the LOGO! NAI block (e.g., 198.168.0.x instead of 192.168.0.x), a register width mismatch where the LOGO! reads only one 16-bit register of a 32-bit IEEE-754 float (correct pattern: two NAI blocks at VW0 and VW2, then F/I converter), or the smart-me local Modbus TCP server disabled on port 502 in the device firmware. Open the LOGO! Online Test Data Table and watch VW0, VW2, and the F/I output to isolate which layer is failing.
How do I read a 32-bit float value from the smart-me Kamstrup meter in LOGO! Soft Comfort?
Add two NAI (Network Analog Input) blocks with identical IP and port (502), but with consecutive register addresses (e.g., 0 and 1), and assign V-memory targets VW0 and VW2 respectively. Combine the two 16-bit halves with an arithmetic block (VW2 × 65536 + VW0 for little-endian Kamstrup output), then add an F/I (Float-to-Integer) converter with gain G to scale into the LOGO! native 16-bit signed integer range (-32768 to +32767). For active power in kW with one-decimal display, gain = 1000.
Does LOGO! support DInt (32-bit signed integer) natively?
No. LOGO! 8 base modules support 16-bit signed integers (-32768 to +32767) in the FBD program. 32-bit IEEE-754 floats can be imported through two consecutive NAI blocks into V-memory (VW0 + VW2 = VD0) and viewed in the Online Test Data Table, but arithmetic on 32-bit values requires the F/I or I/F converter blocks. For native 32-bit integer arithmetic, migrate to a SIMATIC S7-1200 / S7-1500 controller with the MODBUS_PNI function block.
How do I enable the local Modbus TCP server on a smart-me Kamstrup HAN gateway?
Smart-me modules ship with port 502 disabled by default. Enable the local server through the smart-me cloud onboarding flow (select "Enable local Modbus" during device setup), through the local web UI at http://<smart-me IP> (Settings → Local API → Modbus TCP → Enable), or through the smart-me cloud REST API for OEM integrators. The change applies after a ~30 second device reboot. Confirm cloud connectivity (blue LED on the module) before toggling, since some firmware revisions require the cloud to authorize the configuration write.
Can I forward the LOGO! Modbus data to AWS, S7, or another SCADA?
Yes. The LOGO! 8 BM exposes the V-memory range (VB0–VB850, VW0–VW848, VD0–VD424) as both a Modbus TCP server (port 502 by default) and an S7 PUT/GET server. The VW4 value containing the scaled active power can be read by an S7-1200 via PUT/GET, by an AWS IoT Greengrass gateway via Modbus TCP, or by any SCADA supporting S7 or Modbus TCP. Configure the LOGO! BM as a Modbus TCP server (Tools → Ethernet Connections → Modbus Server) and ensure that the destination client is on the same subnet or routed through the BM gateway.
Why does the LOGO! F/I block output jump between 0 and the meter value?
This symptom indicates intermittent network connectivity. The LOGO! Modbus client issues a TCP SYN to the smart-me module; if the SYN times out or the response is lost, the NAI block retains its last valid value rather than reporting an error. Check the Ethernet cable, verify the switch port is configured for auto-negotiation (or 100 Mbps / full duplex explicitly), confirm there is no duplicate IP on the subnet, and reduce the LOGO! scan load by removing unused blocks. If the issue persists, replace the Ethernet cable or move the smart-me module to a different switch port.