-
Notifications
You must be signed in to change notification settings - Fork 9
/
README
executable file
·87 lines (64 loc) · 2.57 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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 install
if you want to activate debug, please use:
./configure CFLAGS='-DADSDebug=ADSDebugAll'
or some more selective debug:
ADSDebugOpen
ADSDebugPacket
ADSDebugByte
ADSDebugAnalyze
ADSDebugPrintErrors
by 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 48898
The 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-linux
WHAT 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 Router
All 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