搜索插件、代码仓与 APP 分类

插件详情v0.2.0

modbus

适用于 Dart 的简单 Modbus 客户端库。目前仅支持 TCP 连接。

AndroidiOSmacOSWindowsLinux
近 30 天下载
878
喜欢数
36
Pub 分数
140

安装插件

flutter pub add modbus

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

一个简单的 Dart Modbus 客户端库,可通过 TCP 与 Modbus 设备通信。它提供了一个直观的 API,用于从工业自动化系统中读取和写入数据,非常适合物联网和 SCADA 应用。目前仅支持 TCP 连接,暂无 UDP 或 RTU 实现。该库兼容多个平台,包括 Android、iOS、macOS、Windows 和 Linux,可实现工业控制解决方案的跨平台开发。

适合场景

  • 工业物联网监控
  • SCADA系统集成
  • 工厂自动化
  • 远程设备数据检索
  • 实时传感器数据采集

主要特点

  • 仅 TCP 的 Modbus 支持
  • 跨平台兼容性
  • 用于读取/写入寄存器的简单 API
  • 轻量且易于集成
  • 支持标准Modbus功能码

适合对象

  • 开发工业自动化应用程序的开发者
  • 需要Modbus通信的物联网项目
  • 管理PLC的后端服务
  • 使用 Dart 的嵌入式系统集成商
  • 跨平台工业软件

使用建议

  • 不支持RTU或UDP协议
  • 仅限基于TCP的Modbus设备
  • 需要正确的网络配置才能访问PLC
  • 未经优化,不适用于高频轮询
  • 依赖稳定的网络连接

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

modbus-dart

Simple Modbus client library for dart. Currently only the TCP connection is supported.

pub package

Usage

Single slave (Modbus RTU)
import 'package:modbus/modbus.dart' as modbus;


main(List<String> arguments) async {
    
  var client = modbus.createTcpClient(
    '10.170.1.20',
    port: 1001,
    mode: modbus.ModbusMode.rtu,
  );
    
  try {
    await client.connect();
    
    var slaveIdResponse = await client.reportSlaveId();
    
    print("Slave ID: " + slaveIdResponse);
  } finally {
    client.close();
  }
}
Multi slaves with one connection (Modbus RTU)
import 'package:modbus/modbus.dart' as modbus;


main(List<String> arguments) async {
    
  var client = modbus.createTcpClient(
    '10.170.1.20',
    port: 1001,
    mode: modbus.ModbusMode.rtu,
  );
    
  try {
    await client.connect();
    
    client.setUnitId(100);
    var slaveIdResponse = await client.reportSlaveId();
    
    print("Slave ID: " + slaveIdResponse);

    client.setUnitId(150);
    var slaveIdResponse = await client.reportSlaveId();

    print("Slave ID: " + slaveIdResponse);
  } finally {
    client.close();
  }
}

Limitations

SerialConnector is not implemented yet.

所属分类

依赖

依赖清单 1 项

源码仓库

使用此插件的项目

暂无相关数据。