modbus library

A pure Dart modbus library supporting RTU, ASCII, and TCP client implementations

Classes

ASCIIClientProvider
ASCII client provider for Modbus ASCII
ClientProvider
Client provider interface for underlying protocol implementations
DataConverter
Data type conversion utilities for Modbus registers.
LRC
Longitudinal Redundancy Check for Modbus ASCII
ModbusClient
Modbus client interface providing all standard Modbus functions.
ModbusClientImpl
Default modbus client implementation
ModbusTCPServer
Modbus TCP Server implementation
PointTableConfig
Point table configuration loaded from YAML
ProtocolDataUnit
Protocol Data Unit (PDU) is independent of underlying communication layers
ProtocolTCPHeader
Protocol TCP header
RandomValueGenerator
Random value generator based on data type
RegisterDefinition
Register definition in a point table.
RegisterMap
Point table (register map) for a Modbus device.
RTUClientProvider
RTU client provider for Modbus RTU
SerialConfig
Serial port configuration
SerialPort
Abstract serial port interface Users should implement this interface using platform-specific libraries such as flutter_libserialport or dart_serial_port
TCPClientProvider
TCP client provider for Modbus TCP

Enums

ByteOrder
Byte order for multi-register data types.
DataType
Data type for register values.
RegisterType
Register type enumeration.

Constants

addressBroadCast → const int
addressMax → const int
addressMin → const int
asciiAduMaxSize → const int
asciiAduMinSize → const int
asciiCharacterMaxSize → const int
exceptionCodeAcknowledge → const int
exceptionCodeGatewayPathUnavailable → const int
exceptionCodeGatewayTargetDeviceFailedToRespond → const int
exceptionCodeIllegalDataAddress → const int
exceptionCodeIllegalDataValue → const int
exceptionCodeIllegalFunction → const int
exceptionCodeMemoryParityError → const int
exceptionCodeNegativeAcknowledge → const int
exceptionCodeServerDeviceBusy → const int
exceptionCodeServerDeviceFailure → const int
funcCodeMaskWriteRegister → const int
funcCodeOtherReportSlaveID → const int
funcCodeReadCoils → const int
funcCodeReadDiscreteInputs → const int
funcCodeReadFIFOQueue → const int
funcCodeReadHoldingRegisters → const int
funcCodeReadInputRegisters → const int
funcCodeReadWriteMultipleRegisters → const int
funcCodeWriteMultipleCoils → const int
funcCodeWriteMultipleRegisters → const int
funcCodeWriteSingleCoil → const int
funcCodeWriteSingleRegister → const int
pduMaxSize → const int
pduMinSize → const int
readBitsQuantityMax → const int
readBitsQuantityMin → const int
readRegQuantityMax → const int
readRegQuantityMin → const int
readWriteOnReadRegQuantityMax → const int
readWriteOnReadRegQuantityMin → const int
readWriteOnWriteRegQuantityMax → const int
readWriteOnWriteRegQuantityMin → const int
rtuAduMaxSize → const int
rtuAduMinSize → const int
tcpAduMaxSize → const int
tcpAduMinSize → const int
tcpHeaderMbapSize → const int
tcpProtocolIdentifier → const int
writeBitsQuantityMax → const int
writeBitsQuantityMin → const int
writeRegQuantityMax → const int
writeRegQuantityMin → const int

Functions

bytesToUint16(List<int> bytes) Uint16List
Convert bytes to uint16 values (big endian)
crc16(List<int> data) int
Calculate CRC16 checksum
pduDataBlockSuffix(List<int> suffix, List<int> values) List<int>
Create PDU data block with suffix
responseError(ProtocolDataUnit response) Exception
Create modbus exception error from response PDU
uint16ToBytes(List<int> values) Uint8List
Convert uint16 values to bytes (big endian)

Typedefs

ModbusRequestHandler = Future<ProtocolDataUnit?> Function(int slaveId, ProtocolDataUnit request)
Callback for handling Modbus requests

Exceptions / Errors

ModbusException
Exception error from modbus server