Skip to content

About

Open Modbus Device Specification

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

openmodbus-spec

An open, vendor-neutral, machine-readable device contract for Modbus: what a device exposes, how values are encoded and scaled, what they mean, what may be written, and which constraints a client must respect. Think OpenAPI, but for Modbus devices.

Status: v0.1.0 draft, not yet agreed. Start with docs/PROPOSAL.md.

Path What
docs/PROPOSAL.md Goals, prior art, the 16 decisions to agree, tooling plan, roadmap, risks.
spec/openmodbus-0.1-draft.md Draft specification: addressing, decoding/encoding, conversion, validity, constraints, writes, validation rules.
schema/0.1/contract.schema.json JSON Schema 2020-12 for the document structure.
examples/ Three complete contracts for fictional devices (power meter, inverter with scale factors, I/O module).
conformance/decode-vectors.yaml Language-neutral decode/encode test vectors.
devices/ Reviewed vendor and device contracts.
corpus/ Source URLs, provenance, checksum lock and checks against vendor data.

At a glance

openmodbus: 0.1.0
info:   { id: acme/pm100, title: Acme PM-100 power meter, version: 0.1.0 }
device: { manufacturer: Acme Metering, model: PM-100 }
defaults: { table: input_register, wordOrder: little, byteOrder: big }
points:
  - { id: frequency, address: 20, type: f32, unit: Hz }
  - id: power_factor
    address: 30
    type: i16
    conversion: { multiplier: 0.001 }
    invalid: [-32768]

A contract describes the device, not the deployment: no IP addresses, serial settings, polling schedules or credentials.

Planned layout

Tooling lives in separate repositories (see the proposal, §4): go-openmodbus (model, validator, runtime, omb CLI), py-openmodbus and openmodbus-studio (editor).

The device catalog lives here. Run make corpus CORPUS_SET=all to rebuild every contract from its original vendor source. The corpus guide describes source links, checksums, extractors and the temporary cache. Roster coverage lists the mapped, needs-check and blocked models per device class, and the corpus work items list the open questions, including spec-gap candidates.

Licence

MIT for the specification, schema, vectors, tools and the device catalog (decision D15, maintainer): see LICENSE. Catalog contracts carry their vendor source link, checksum and attribution.

About

Open Modbus Device Specification

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages