Skip to content
Protocol libraries

go-modbus-capture

MBCAP, the capture format for what Modbus devices answered and when, so a virtual device can serve it again. Go library and mbcapctl to inspect, verify, convert, filter, merge and repair captures.

Install

go get github.com/otfabric/go-modbus-capture

Protocols

The README on GitHub has the full feature list, examples and changelog.

go-modbus

Modbus client and server for the functions of the specification: TCP, RTU, ASCII, TLS and UDP, typed register codecs, pooling, retries and a PDU tap for recording.

go get github.com/otfabric/go-modbus

go-modbus-trace

Read pcap and pcapng traces of Modbus/TCP offline: transactions, devices, poll patterns and address coverage. Library and mbtracectl, with timeline, sub-trace and MBCAP export.

go get github.com/otfabric/go-modbus-trace

go-sunspec

SunSpec over Modbus, both sides: discovers and decodes 112 built-in models into typed, scaled values, and serves simulated or real SunSpec devices.

go get github.com/otfabric/go-sunspec

modbus-simulator

Deterministic, stateful Modbus TCP and TLS device simulator driven by JSON fixtures, with fault injection, request traces and CI assertions.

modbusctl

Identify, fingerprint, scan, poll, decode and write Modbus devices over TCP, serial and TLS. Record them to MBCAP capture files and replay those as a simulated device.

sunspecctl

Detect, list, read and poll SunSpec inverters, meters and batteries, and serve a simulated device from a JSON file or a capture of a real one.

go-serial

Cross-platform serial ports for RS-232 and RS-485, with a Modbus RTU preset.

go get github.com/otfabric/go-serial

modbus-interop

Modbus TCP reference stacks: libmodbus, PyModbus, digitalpetri, NModbus and tokio-modbus.

Modbus Trace Explorer

Open a packet trace of Modbus/TCP traffic and see it in Modbus terms: every request with its response, per device, per poll and per register. Then export the real traffic to replay as a simulated device.

SunSpec Explorer

Connect to a SunSpec inverter, meter or battery and see every model it exposes fully decoded. Read once or poll, record and export, without ever writing to the device.