rust实现三菱mc协议3e帧二进制通信

💡 原文中文,约1100字,阅读约需3分钟。
📝

内容提要

我用 Rust 实现了三菱 PLC MC 协议的 3E 帧通信库,支持异步读写位和字数据,具有模块化设计,便于扩展到其他品牌 PLC,计划支持松下 PLC 和 ASCII 格式,旨在为工业自动化提供高性能的通用通信库。

🎯

关键要点

  • 用 Rust 实现三菱 PLC MC 协议的 3E 帧通信库,支持异步读写位和字数据。
  • 项目地址为 tokio-mc GitHub 仓库,支持三菱 3E 协议(以二进制格式)。
  • 库具有模块化设计,底层通信解耦,便于扩展到其他品牌 PLC,如松下。
  • 计划支持松下 PLC 通信适配,并扩展支持 ASCII 格式帧。
  • 提供 Python / C# / C++ 的 FFI 调用封装,旨在打造跨平台和跨语言的通用 PLC 通信库。
  • 项目初衷是为工业自动化通信提供高性能、高可扩展性的通用库,填补 Rust 在 PLC 通信协议方面的空白。
  • 欢迎从事工业控制、PLC 通信、异步架构的人员参与讨论和贡献。

延伸问答

这个Rust库支持哪些PLC协议?

该库支持三菱PLC的3E协议,并计划支持松下PLC和ASCII格式。

如何使用这个Rust库进行异步读写?

可以通过调用库中的异步方法,如`context.write_u8s`和`context.read_bits`来进行异步读写。

这个库的设计有什么特点?

该库采用模块化设计,底层通信解耦,便于扩展到其他品牌PLC。

项目的初衷是什么?

项目旨在为工业自动化通信提供高性能、高可扩展性的通用库,填补Rust在PLC通信协议方面的空白。

这个库是否支持跨语言调用?

是的,该库提供Python、C#和C++的FFI调用封装,支持跨语言使用。

如何参与这个项目的开发?

欢迎从事工业控制、PLC通信、异步架构的人员通过提交issue或PR参与讨论和贡献。

➡️

继续阅读