3个不稳定版本
0.2.0 | 2024年5月9日 |
---|---|
0.1.1 | 2023年12月28日 |
0.1.0 | 2023年12月28日 |
#291 in 嵌入式开发
210KB
4K SLoC
这是什么?
profirust 是一个纯Rust的 PROFIBUS-DP 兼容通信栈。PROFIBUS 是一种工业总线协议,用于与远程I/O、变送器、阀门、驱动器等现场设备通信。
如果您想了解更多信息,我建议阅读我的关于 profirust 或我的 PROFIBUS 初学者指南 的博客文章。
项目状态
profirust 对于它目前支持的功能表现良好,然而它还没有在实际应用中得到证明。还有一些功能缺失,这些功能对于生产使用是必需的。请查看下面的路线图。
目前,profirust 被作为一个业余项目开发。如果您对这个项目感兴趣,以下形式的热心帮助将受到欢迎
- 代码贡献
- 捐赠用于测试目的的PROFIBUS外设或其他设备
- 资助获取所需的IEC标准以提高合规性
- 报告在使用 profirust 时遇到的所有类型的问题
支持的硬件
profirust 被设计为尽可能减少硬件依赖。您需要的只是一个具有RS-485收发器的UART接口。然后您可以编写一个匹配的 ProfibusPhy
实现方案。鼓励提交此类实现方案以纳入 profirust。
目前,以下实现方案可用
LinuxRs485Phy
:非实时Linux UART设备的实现方案Rp2040Phy
:RP2040微控制器的实现方案- 计划:对
embedded-hal
支持的微控制器的通用实现方案
路线图
- 单主站总线最高6 Mbit/s
- 与DP-V0外设的循环通信
- 基本诊断
- 扩展诊断(DP-V0)
- 多主站总线
- 总线错误跟踪
- 总线发现工具
- 12 Mbit/s的可靠通信
- 与DP-V1外设通信
- 等距总线周期
- 同步总线周期
入门指南
这是关于如何使用您的PROFIBUS外设启动通信的简要指南
- 找到您的外设的GSD(通用站描述)文件。通常,制造商会在某个地方提供这些文件的下载。
- 运行
gsdtool
来设置外围设备的配置和参数化
配置向导将引导您完成所有必要的设置。在此阶段,您还需要设置外围设备的模块。然后向导将为您提供Rust代码,以便将外围设备选项配置为您选择的值。cargo run -p gsdtool -- config-wizard path/to/peripheral.gsd
- 修改针对您外围设备的示例。更新外围设备地址。然后粘贴
PeripheralOptions
块和gsdtool
生成的I/O缓冲区。 - 运行示例,最好使用
RUST_LOG=trace
来查看总线通信。希望您现在能够与外围设备建立循环通信。
许可
在以下任一许可下发布
- Apache License,版本 2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确说明,否则任何有意提交以包含在作品中的贡献,根据Apache-2.0许可证的定义,应按上述方式双许可,不附加任何额外条款或条件。
依赖
~1.1–2.3MB
~50K SLoC