7 个不稳定版本

0.4.1 2023年2月19日
0.4.0 2023年1月14日
0.3.0 2022年2月25日
0.2.2 2022年10月16日
0.1.0 2021年9月14日

#870异步

Download history 16/week @ 2024-03-09 38/week @ 2024-03-16 8/week @ 2024-03-23 17/week @ 2024-03-30 27/week @ 2024-04-06 11/week @ 2024-04-13 48/week @ 2024-04-20 8/week @ 2024-04-27 17/week @ 2024-05-04 27/week @ 2024-05-11 23/week @ 2024-05-18 76/week @ 2024-05-25 35/week @ 2024-06-01 1/week @ 2024-06-08 6/week @ 2024-06-22

54 每月下载次数
plctag 中使用

MIT 许可证

2MB
31K SLoC

C 27K SLoC // 0.2% comments Rust 1.5K SLoC // 0.1% comments C++ 741 SLoC // 0.3% comments Java 464 SLoC // 0.4% comments Python 401 SLoC // 0.4% comments Shell 305 SLoC // 0.1% comments Go 234 SLoC // 0.2% comments Pascal 116 SLoC // 0.7% comments

plctag-async

libplctag 的异步包装器。

crates.io docs build license

如何使用

plctag-async 添加到您的 Cargo.toml 文件中

[dependencies]
plctag-async= "0.4"

示例

use plctag_async::{AsyncTag, Error, Pool, PoolEntry};
use tokio::runtime;

let rt = runtime::Runtime::new().unwrap()?;
rt.block_on(async {
   let path="protocol=ab-eip&plc=controllogix&path=1,0&gateway=192.168.1.120&name=MyTag1&elem_count=1&elem_size=16";// YOUR TAG DEFINITION
   let pool = Pool::new();
   let tag = pool.entry(path).await.unwrap();
   let tag_ref = tag.get().await.unwrap();
   let offset = 0;
   let value:u16 = tag_ref.read_value(offset).await.unwrap();
   println!("tag value: {}", value);

   let value = value + 10;
   tag_ref.write_value(offset, value).await.unwrap();
});

构建

请参阅 如何构建 来设置构建环境。

许可证

MIT

依赖

~0.5–2.8MB
~55K SLoC