30 个版本 (12 个重大变更)

0.14.0 2024 年 7 月 21 日
0.12.0 2024 年 3 月 21 日
0.9.0 2023 年 7 月 27 日
0.7.1 2023 年 2 月 28 日
0.0.0 2017 年 8 月 21 日

#28 in 网络编程

Download history 6594/week @ 2024-05-02 7381/week @ 2024-05-09 8169/week @ 2024-05-16 8369/week @ 2024-05-23 6385/week @ 2024-05-30 6927/week @ 2024-06-06 7581/week @ 2024-06-13 9563/week @ 2024-06-20 9764/week @ 2024-06-27 10833/week @ 2024-07-04 11068/week @ 2024-07-11 12731/week @ 2024-07-18 12051/week @ 2024-07-25 13485/week @ 2024-08-01 13126/week @ 2024-08-08 10629/week @ 2024-08-15

每月 51,690 次下载
26 个 Crates 中使用 (23 个直接使用)

MIT/Apache

180KB
4K SLoC

tokio-modbus

一个基于 Rust 的纯 Modbus 库,基于 tokio

Crates.io Docs.rs Security audit Continuous integration MIT licensed Apache 2.0 licensed

Modbus 基于一个 主/从 通信模式。为了避免与 Tokio 术语混淆,此库中的 被称为 客户端,而 被称为 服务器

功能

  • 纯 Rust 库
  • Modbus TCP 或 RTU,任选其一
  • 既支持 async(非阻塞,默认)也支持 sync(阻塞,可选)
  • 客户端 API
  • 服务器实现
    • 用于 直接使用
    • 作为自定义实现的起点
  • 开源(MIT/Apache-2.0)

安装

将以下内容添加到您的 Cargo.toml

[dependencies]
tokio-modbus = "*"

Cargo 功能

  • "rtu":异步 RTU 客户端(默认)
  • "tcp":异步 TCP 客户端(默认)
  • "rtu-sync":同步 RTU 客户端
  • "tcp-sync":同步 TCP 客户端
  • "rtu-server":(异步) RTU 服务器
  • "tcp-server":(异步) TCP 服务器
  • "rtu-over-tcp-server":(异步) RTU over TCP 服务器

示例

如果您只需要异步 TCP 客户端,请将以下行添加到您的 Cargo.toml 文件中

[dependencies]
tokio-modbus = { version = "*", default-features = false, features = ["tcp"] }

对于异步 RTU 客户端

[dependencies]
tokio-modbus = { version = "*", default-features = false, features = ["rtu"] }

对于 RTU 服务器

[dependencies]
tokio-modbus = { version = "*", default-features = false, features = ["rtu-server"] }

对于 TCP 服务器

[dependencies]
tokio-modbus = { version = "*", default-features = false, features = ["tcp-server"] }

示例

示例文件夹中可以找到使用异步或同步API的Modbus RTU和TCP的多种示例。

测试

工作空间包含所有可用功能的文档、测试和示例。

cargo test --workspace
cargo test --workspace --all-features

协议规范

许可

版权(c)2017-2024 slowtec GmbH

MIT/Apache-2.0

依赖项

~3–13MB
~122K SLoC