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参与讨论和贡献。
➡️