Skip to content

3.4.6 Field Hardware

Field path from meter to server:

Stage Detail
Meter TUF-2000B ultrasonic meter
RS485 Modbus RTU (typically 9600 8N1) to an RS485-to-Ethernet gateway
Gateway TCP Client / Modbus TCP to the estate server Modbus listener

V1 meters pushed HTTP text. V2 polls Modbus. The gateway must be a TCP client (device dials the server). The server does not dial out to the meters.

Server Destination

The TCP Client destination host and port are configured by authorised technical staff. Do not publish server IP addresses, SSH hosts, or firewall allow-lists in public documents.

Estate Meters

Three TUF-2000B (or equivalent) ultrasonic flow meters, typically:

Panel Name Serial (SN) Modbus Slave (M46)
Bore Water 23110130 1
Soak Drain 23068250 2
Potable Water 23090339 3

Positive totalizer unit is litres (L) (meter menu M31). Flow rate is m³/h.

TUF-2000B Menus That Must Match the Panel

The meter only implements Modbus function codes 03 (read) and 06 (write). The loader uses 03 for holding registers.

Menu Setting Why
M63 MODBUS_RTU Factory default is often MODBUS-ASCII. ASCII makes the loader time out
M46 Slave ID Must equal panel Modbus unit ID
M62 Serial, usually 9600 8N1 Must equal gateway RS485 UART settings
M31 Totalizer unit L Matches seeded Positive total unit

Address mapping (0-based in the panel = manual REG − 1):

Quantity Manual Panel Address Count Format
Flow rate REG0001–0002 REAL4 0 2 float32_le
Positive total REG0009–0010 LONG 8 2 int32_le
Positive fraction REG0011–0012 REAL4 10 2 float32_le (optional)

RS485 Wiring

Use a twisted pair for A/B (sometimes labelled D+/D−). Keep the shield earthed at one end only if that is site practice. The gateway RS485 port must match the meter’s A/B polarity; swapped A/B looks like timeouts, not a clean protocol error.

If several meters share one bus, each M46 slave ID must be unique. The seeded estate layout uses one gateway per meter (unit IDs 1, 2, 3), which avoids bus contention.

Gateway Configuration

Configure in the module’s web UI (or vendor tool):

  1. Work mode: TCP Client — destination = host and port supplied by estate technical staff
  2. Protocol: Modbus TCP / Modbus gateway — not transparent serial. Transparent mode sends raw RTU or leftover V1 text; the loader will not decode that as Modbus TCP
  3. RS485 baud, data bits, parity, stop bits = meter M62
  4. Give the module a stable LAN IP. Put that IP in the panel as expected peer IP if you want strict matching

Reconnect behaviour: if the WAN drops, the client should retry. The loader records disconnected then a new connected/polling session.

Network Path

  • Access: Prefer VPN or locked source IPs for the Modbus listener. Do not leave the Modbus port open to the whole internet if you can avoid it
  • NAT: Must allow outbound TCP from the gateway to the server. No inbound port-forward on the estate is required for this design
  • Firewall / listen settings: Maintained by technical staff, not in this public manual

Verifying in the Field

  1. Meter M63 = RTU, M46 = panel unit ID, M62 = gateway serial
  2. Gateway shows TCP connected to the server
  3. Panel Diagnostics → Sessions shows polling and a recent last-poll time
  4. Monitor Positive total ticks up when water is moving
What You See Meaning
Unsolicited ESN / POS text Gateway still in transparent / V1 push mode
Sessions never appear Wrong TCP Client destination, firewall, or loader not running — escalate
Poll timeouts with TCP up ASCII mode, baud, slave ID, or meter off the bus
Version Control
Version Date Description
1.0 2026-10-18 Initial Release — server IPs, SSH, and sniff/probe tooling omitted for public publication
1.1 2026-10-20 Style guide compliance — field-path table and network list labels

Next Review Date: 2027-04-20