Crate ads[][src]

Expand description

Work with PLCs using the ADS protocol

Introduction

ADS is the native protocol used by programmable logic controllers (PLCs) and the TwinCAT automation system produced by Beckhoff GmbH.

The specification can be found on their Information System pages.

Example

// Open the connection to a PLC.
let timeouts = ads::Timeouts::new(std::time::Duration::from_secs(1));
let client = ads::Client::new("myplc:48898", timeouts, None)?;

// Get a handle for a symbol and read data from it.
let handle = client.device

Re-exports

pub use client::AdsState;
pub use client::Client;
pub use client::Device;
pub use client::Timeouts;
pub use errors::Error;
pub use errors::Result;
pub use file::File;
pub use netid::AmsAddr;
pub use netid::AmsNetId;
pub use netid::AmsPort;
pub use symbol::Handle;

Modules

Contains the TCP client to connect to an ADS server.

Defines ADS error types.

File access over ADS.

Well-known index groups as defined here and here.

Contains the AMS NetId and related types.

Everything to do with ADS notifications.

Well known ADS ports as defined here.

Wrapper for symbol handles.

Implements the Beckhoff UDP message protocol for basic operations.

Constants

The default port for TCP communication.

The default port for UDP communication.