write_control_example/
write_control_example.rs

1#![allow(unused_imports)]
2use rust_ads_client::client::Client;
3use ads_proto::proto::{
4    ads_state::AdsState,
5    ams_address::{AmsAddress, AmsNetId},
6};
7use std::net::Ipv4Addr;
8
9fn main() {
10    //Create client. If route = None then targed is local machine
11    let ams_address = AmsAddress::new(AmsNetId::new(192, 168, 0, 150, 1, 1), 851);
12    //let ipv4 = Ipv4Addr::new(192, 168, 0, 150);
13    //let mut client = Client::new(ams_address, Some(ipv4));
14    let mut client = Client::new(ams_address, None);
15    //Connect client
16    client.connect().expect("Failed to connect!");
17
18    //Set PLC to stop
19    let ads_state = AdsState::AdsStateStop;
20    let response = client.write_control(ads_state, 0).unwrap();
21    println!("Command id    :{:?}", response.command_id);
22    println!("ADS result    :{:?}", response.result);
23}