【Rust日报】2022-10-26 EtherCrab -- 一个用 Rust 编写的 EtherCAT 主站

EtherCrab -- 一个用 Rust 编写的 EtherCAT 主站

什么是 EtherCAT

EtherCAT 名称的由来是:Ethernet for Control Automation Technology,也就是用于控制自动化技术的以太网协议技术,其实也就是工业以太网的一种。EtherCAT 是倍福公司旗下的 ETG( EtherCAT 技术协会)负责研发并推广的一种实时以太网技术,它是一种开放的网络协议,可以进行主从设备之间的通信。通过主从系统架构进行控制。主站发送“目标数据”,从站接收目标数据并写入“实际数据”。目标数据可以是用于有源设备(执行器)的控制指令,以便执行特定的动作,例如设置电动机的转速。另一方面,实际数据表示来自被测设备(传感器)的有关各种状态(例如当前位置,转速或温度)的信息。

EtherCAT 主站是做什么的

EtherCAT 主站组装 EtherCAT 数据报,然后通过所有连接的从站发送它们。EtherCAT 的特殊之处在于,在通过过程中,每个从站都将从循环数据报中取出其特定目标数据,同时将自己的实际数据放入数据报中。所有不打算用于从站的剩余数据都将原封不动地转发。数据报经过所有从站后,它会返回并由主站接收。即使对于大量互连的 EtherCAT 从站,此过程也非常快捷,因为单个从站的通过延迟仅为几纳秒。 

d287ee0411bae8d4327fc46c7d523756.jpeg

 而 EtherCrab 就是用 rust 编写的 EtherCAT 主站。目前 EtherCrab 正在招募赞助商

  • https://github.com/ethercrab-rs/ethercrab

RuSTy -- 一个用 Rust 编写的结构化文本编译器

RuSTy 是用 Rust 编写的结构化文本 (ST) 编译器,基于 LLVM 编译器后端。使用 logos crate 库在自定义解析器运行之前执行词法分析。RuSTy 通过翻转命令行标志来输出静态或共享对象以及 LLVM IR 或位码。作者的目标是打造至少支持第 2 版 IEC 61131 标准中的功能的开源工业级 ST 编译器。

  • https://github.com/PLC-lang/rusty

  • https://plc-lang.github.io/rusty/

  • https://plc-lang.github.io/rusty/build_and_install.html

Cnosdb 的 Rust 教学

  • 课程主题:内存布局

  • 内容概览:Struct内存布局,成员顺序优化,enum内存布局等

  • 😈 大家依旧相约直播间:

  • https://live.bilibili.com/23768194


From 日报小组 侯盛鑫 mock

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss

  • 微信公众号:Rust语言中文社区

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值