Introduction
The Automation Device Specification (ADS) describes a device-independent and fieldbus-independent interface governing the type of access to ADS devices.
Device concept
The TwinCAT system architecture allows the individual modules of the software (e.g. TwinCAT PLC, TwinCAT NC, ...) to be treated as independent devices: For every task there is a software module ("Server" or "Client").
The messages between these objects are exchanged through a consistent ADS interface by the "message router". This manages and distributes all the messages in the system and over the TCP/IP connections. TwinCAT message routers exist on every TwinCAT PC and on every Beckhoff BCxxxx Bus Controller.
This allows all TwinCAT server and client programs to exchange commands and data.
Device definition
An object that has implemented the ADS interface (thus being accessible via ADS) and that offers "server services", is known as an ADS device. The detailed meaning of an ADS service is specific to each ADS device, and is described in the relevant ADS device documentation:
ADS libraries
To allow participation in ADS communication (as an ADS client or, possibly, as an ADS server) the following software objects are made available:
- "TcSystem.lib" PLC library
can be used in the TwinCAT PLC. - ADS-DLL
for use under e.g. C/C++, Delphi, etc. - ADS.NET
for use under e.g. VB.NET, C#, Delphi.NET, Delphi Prism etc. - ADS-OCX (ActiveX-Control)
for use under e.g. Visual Basic, C++, Delphi, etc. - ADS-Script-DLL
for use under e.g. VBScript, JScript, etc. - ADS-WebService
ADS services via HTTP for use under e.g. Visual C#, Delphi.NET, etc. - ADS-Java-DLL