Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gass/libads
Implementation of BECKHOFF's ADS protocol.
https://github.com/gass/libads
Last synced: 16 days ago
JSON representation
Implementation of BECKHOFF's ADS protocol.
- Host: GitHub
- URL: https://github.com/gass/libads
- Owner: gass
- License: lgpl-3.0
- Created: 2009-04-18T22:08:30.000Z (over 15 years ago)
- Default Branch: master
- Last Pushed: 2014-11-10T08:50:48.000Z (about 10 years ago)
- Last Synced: 2024-07-31T22:56:36.409Z (3 months ago)
- Language: C
- Homepage: http://github.com/gass/libads/
- Size: 855 KB
- Stars: 33
- Watchers: 13
- Forks: 9
- Open Issues: 5
-
Metadata Files:
- Readme: README
- Changelog: ChangeLog
- License: COPYING
Awesome Lists containing this project
README
libAds :: IMPLEMENTATION OF BECKHOFF'S ADS PROTOCOL
---------------------------------------------------libads's purpose is to provide a way to comunicate with the Beckhoff's Automation modules.
They comunicate via TCP/IP packets, using an open[1] specification format: ADS.[2]ADS stands for "Automation Device Specification".
This is a library that was started by Thomas Hergenhahn, as part of Visual[3].
BUILD
-----
clone the git repository present in github: https://github.com/gass/libads
build with:
autoreconf -i -s
./configure
make
make installif you want to activate debug, please use:
./configure CFLAGS='-DADSDebug=ADSDebugAll'
or some more selective debug:
ADSDebugOpen
ADSDebugPacket
ADSDebugByte
ADSDebugAnalyze
ADSDebugPrintErrorsby default debug is:
ADSDebugNone
To make a full test, it should be configured with:
./configure CFLAGS='-DADSDebug=ADSDebugAll -Wall -Werror'TESTS AND EXAMPLES
---------------------There are a few test cases in the test directory.
In the examples directory there is a working ADS server: ADSserver.
Must be called: ./ADSserver 48898 48898The client is AdsClient: ./AdsClient
It connects to it self, so the server must be running.
CONTACT AND DISCUSSION
-----------------------You can contact the authors, but it is preferred to use the general mailling list:
List email address: [email protected]
Lista archive: http://groups.google.com/group/beckhoff-linuxWHAT IS LIBADS
---------------
LibAds is a 2 layer library:
- a low level api
- a higher level api, compatible with the oficial Beckhoff's Api[4]LibAds is distributed under LGPLv3.
STATE OF LIBADS
----------------
the ADS protocol is implemented, as client, by 2 components:
- A router (ADS router)
- client API (oficial api)The router is a daemon (in windows is a service) that manages conections to the ADS servers.
This router is accessed by the AdsAPI.Currently, libads does not have a router, so the api it self manages (badly) the connections.
The best approach is to use the lower level api.FUTURE
----------------
Further development is needed to do 3 things:
- finnish the support of the official Ads API.
- review the code (that is a mess) and implement a better logging and error management.
- develop an Ads RouterAll all functions, except the notification, where tested with a Beckhoff BC9000.
[1] "Open" as in "They provide the specification"
[2] http://www.beckhoff.com/download/Document/Software/TwinCAT/1033/TcAdsCommon.pdf
[3] http://sourceforge.net/projects/visual
[4] http://www.beckhoff.com/download/Document/Software/TwinCAT/1033/TcAdsDll.pdf