plctag-core

a rust wrapper of libplctag, with rust style APIs and useful extensions.

crates.io docs build license

How to use

Add plctag-core to your Cargo.toml

toml [dependencies] plctag-core= "0.3"

Examples

read/write tag

```rust use plctagcore::{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&elemcount=1&elem_size=16";// YOUR TAG DEFINITION let tag = RawTag::new(path, timeout).unwrap();

//read tag let status = tag.read(timeout); assert!(status.isok()); let offset = 0; let value:u16 = tag.getvalue(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 environment.

License

MIT