@modbus-ts/client
v0.0.5
Published
The client package for modbus-ts.
Maintainers
Readme
@modbus-ts/client
High-level Modbus client API for read, write, and subscribe.
Installation
pnpm add @modbus-ts/clientCore Exports
- ModbusClient
- ModbusClientOptions
- ClientEvent
Minimal Example
import { ModbusClient } from '@modbus-ts/client'
import { TcpTransport } from '@modbus-ts/transport-tcp'
const client = new ModbusClient({
transport: new TcpTransport({ host: '127.0.0.1', port: 502 }),
defaultUnitId: 1,
defaultTimeout: 1000,
mode: 'tcp',
})
await client.connect()
const regs = await client.readHoldingRegisters(0, 4)
const inputRegs = await client.readInputRegisters(0, 4)
const coils = await client.readCoils(0, 8)
const discreteInputs = await client.readDiscreteInputs(0, 8)
await client.writeMultipleRegisters(10, [1, 2, 3, 4])
await client.writeSingleCoil(11, true)
await client.writeMultipleCoils(12, [true, false, true])
console.log({ regs, inputRegs, coils, discreteInputs })
await client.close()Events
- connect
- disconnect
- timeout
- error
Point Mapping
| Point Type | Function Code | Read API | Write API | | ----------------- | ------------- | -------------------- | -------------------------------------------- | | Coils | FC1/FC5/FC15 | readCoils | writeSingleCoil / writeMultipleCoils | | Discrete Inputs | FC2 | readDiscreteInputs | Not supported by Modbus spec | | Holding Registers | FC3/FC6/FC16 | readHoldingRegisters | writeSingleRegister / writeMultipleRegisters | | Input Registers | FC4 | readInputRegisters | Not supported by Modbus spec |
API Selection Guide
- Use readCoils for digital output status bits.
- Use readDiscreteInputs for read-only digital input bits.
- Use readHoldingRegisters for writable word registers.
- Use readInputRegisters for read-only word registers.
Packages
- high-level Modbus client
- shared contracts, types, and errors
- FC1/FC2/FC3/FC4/FC5/FC6/FC15/FC16 frame encode/decode for TCP/RTU/ASCII
- serial request queue with priority
- polling engine and range merge
- Node TCP transport with reconnect
- Node UDP transport
- browser WebSocket transport with reconnect
- typed Electron main/renderer bridge
- Electron IPC transport adapter
- WebSocket to TCP binary relay gateway
- register-value codec helpers
- shared async and comparison utilities
