#工业自动化 #PLC #OPC-UA #自动化 #Modbus

bin+lib rplc

使用 Rust 编写的 PLC 编程

15 个版本

0.3.0 2023 年 7 月 29 日
0.2.4 2023 年 7 月 10 日
0.2.0 2023 年 6 月 18 日
0.1.11 2023 年 6 月 1 日
0.1.0 2023 年 4 月 26 日

#769硬件支持

Apache-2.0

185KB
5K SLoC

rPLC - 使用 Rust 在 Linux 上进行 PLC 编程 crates.io 页面 docs.rs 页面

rPLC 项目允许使用经典的 PLC 编程方法在 Linux 系统上编写 PLC 程序。

rPLC 支持开箱即用的 Modbus 和 OPC-UA 输入/输出协议,并且可以很容易地通过自定义 I/O 进行扩展。

rPLC 是 EVA ICS 开源工业自动化生态系统中的一部分。

快速示例

use rplc::prelude::*;

mod plc;

#[plc_program(loop = "200ms")]
fn tempmon() {
    let mut ctx = plc_context_mut!();
    if ctx.temperature > 30.0 {
        ctx.fan = true;
    } else if ctx.temperature < 25.0 {
        ctx.fan = false;
    }
}

fn main() {
    init_plc!();
    tempmon_spawn();
    run_plc!();
}

技术文档

可在 https://info.bma.ai/en/actual/rplc/index.html 查找

依赖关系

~18–35MB
~565K SLoC