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
- 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