Crate plctag_core
source ·Expand description
plctag-core
a rust wrapper of libplctag, with rust style APIs and useful extensions.
How to use
Add plctag-core to your Cargo.toml
[dependencies]
plctag-core= "0.1"
Examples
read/write tag
use plctag_core::{Encode, Decode, RawTag, ValueExt};
let timeout = 100;//ms
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 tag = RawTag::new(path, timeout).unwrap();
//read tag
let status = tag.read(timeout);
assert!(status.is_ok());
let offset = 0;
let value:u16 = tag.get_value(offset).unwrap();
println!("tag value: {}", value);
let value = value + 10;
tag.set_value(offset, value).unwrap();
//write tag
let status = tag.write(timeout);
assert!(status.is_ok());
println!("write done!");More examples
please take a look at examples
Build
Please refer to How to build to setup build
License
MIT
Modules
Structs
wrapper of tag model based on
libplctagEnums
plc tag error code representations
Traits
this trait abstracts tag value.
you can use the trait to implement your UDT.
generic value getter/setter
Type Definitions
plctag result