read_write_example/
read_write_example.rs

1#![allow(unused_imports)]
2use rust_ads_client::client::Client;
3use ads_proto::proto::ams_address::{AmsAddress, AmsNetId};
4use byteorder::{LittleEndian, ReadBytesExt};
5use std::net::Ipv4Addr;
6
7fn main() {
8    //Create client. If route = None then targed is local machine
9    let ams_address = AmsAddress::new(AmsNetId::new(192, 168, 0, 150, 1, 1), 851);
10    //let ipv4 = Ipv4Addr::new(192, 168, 0, 150);
11    //let mut client = Client::new(ams_address, Some(ipv4));
12    let mut client = Client::new(ams_address, None);
13    //Connect client
14    client.connect().expect("Failed to connect!");
15
16    //Get a var handle with read_write
17    let var_name = "Main.counter";
18    let handle = client
19        .read_write(0, 4, var_name.as_bytes().to_vec())
20        .unwrap();
21
22    let handle = handle.data.as_slice().read_u16::<LittleEndian>().unwrap();
23    println!("The var hadle for {:?} is {:?}", var_name, handle);
24
25    let handle = client
26        .read_write(0, 4, var_name.as_bytes().to_vec())
27        .unwrap();
28    let handle = handle.data.as_slice().read_u16::<LittleEndian>().unwrap();
29    println!("The var hadle for {:?} is {:?}", var_name, handle);
30}