1 个不稳定版本
0.1.0 | 2024年8月3日 |
---|
#15 在 #plc
每月下载 120 次
53KB
1K SLoC
rs-melsec
rs-melsec 是 MELSEC 通信协议的 Rust 实现,允许您与三菱PLC交互。受 pymcprotocol
和 pymelsec
库的启发,rs-melsec
旨在提供更多功能和增强的灵活性,同时利用 Rust 编程语言的安全性和性能优势。
安装
将
rs-melsec
添加到您的Cargo.toml
[dependencies]
rs-melsec = "0.1.0"
用法
use rs_melsec::client::Client;
use rs_melsec::db::DataType;
use rs_melsec::tag::QueryTag;
use std::env;
fn main() {
let args: Vec<String> = env::args().collect();
let host = args.get(1).expect("failed to get host");
let default_port = 6000;
let num_port = args
.get(2)
.and_then(|s| s.parse::<u16>().ok())
.or(Some(default_port))
.unwrap();
let mut tags = Vec::new();
tags.push(QueryTag {
device: "M8304".to_string(),
data_type: DataType::BIT,
});
let client = Client::new(host.to_string(), num_port, "iQ-R", true);
let result = client.read(tags).expect("failed to read data");
for tag in result {
println!("{}", tag);
}
}
运行
cargo run --bin host port
依赖关系
~2.3–3.5MB
~56K SLoC