[go: nahoru, domu]

Skip to content
forked from Beckhoff/ADS

Beckhoff protocol to communicate with TwinCAT devices.

License

Notifications You must be signed in to change notification settings

NanoFlexRobotics/ADS

 
 

Repository files navigation

This library is intended to provide easy use as ADS client applications running on non-windows systems (e.g. FreeBSD, Linux, ...) to communicate with TwinCAT devices via TCP/IP.

To build this library a recent compiler with C++14 support is required.

Currently (2022-02-21) tested with:
===================================

host (amd64)     | target| compiler
-----------------|-------|-------------
TC/BSD 12        | amd64 | clang 10.0.1
Debian Bullseye  | amd64 | clang 11.0.1
Debian Bullseye  | amd64 | gcc 10.2.1
Debian Bullseye  | i686  | gcc 10.2.1
Debian Bullseye  | mips  | gcc 10.2.1
Ubuntu 18.04 LTS | win32 | gcc 5.5.0
Windows 10       | win64 | gcc 8.3.0


compile & usage
===============
# clone the repository
git clone https://github.com/Beckhoff/ADS.git

# change into root of the cloned repository
cd ADS

# configure meson to build the library into "build" dir
meson build

# let ninja build the library
ninja -C build


Prepare your target to run the example
======================================
- Download your PLC project to your target e.g. "PLC-TestProject" of our GitHub repository.
- Authorise your ADS client for the TwinCAT target by adding an AMS route.

Sample AMS route:
  Name:           MyAdsClient     
  AMS Net Id:     192.168.0.1.1.1 # NetId of your ADS client, derived from its IP address or set by bhf::ads:SetLocalAdress().
  Address:        192.168.0.1     # Use the IP of the ADS client, which is connected to your TwinCAT target
  Transport Type: TCP/IP
  Remote Route:   None / Server
  Unidirectional: false
  Secure ADS:     false
  
Routes can be configured by several possibilities
TwinCAT Engineering:  Go to the tree item SYSTEM/Routes and add a static route.
TwinCAT Systray:      Open the context menue by right click the TwinCAT systray icon. (not available on Windows CE devices) 
  TC2*: Go to Properties/AMS Router/Remote Computers
  TC3:  Go to  Router/Edit routes.
TcAmsRemoteMgr: Windows CE devices can be configured locally (TC2*/TC3). Tool location: /Hard Disk/System/TcAmsRemoteMgr.exe
IPC Diagnose: Beckhoff IPC’s provide a web interface for diagnose and configuration. Further information: http://infosys.beckhoff.de/content/1033/devicemanager/index.html?id=286

*Requires a TwinCAT restart.

Prepare your client to run the example/example.cpp
==================================================
- set "remoteNetId" to the AMS NetId of your TwinCAT target (this is the AMS NetId found in the "About TwinCAT System window" e.g. "192.168.0.2.1.1").
- set "remoteIpV4" to the IP Address of your TwinCAT target (e.g. 192.168.0.2)
- (optional) enable bhf::ads::SetLocalAddress() and set to the AMS NetId you choose for the ADS client (e.g. 192.168.0.1.1.1).

# configure meson to build example into "build" dir
meson example/build example

# let ninja build the example
ninja -C example/build

# and run the example
./example/build/example

---
ADS/AMS Specification: https://infosys.beckhoff.com/content/1033/tc3_ads_intro/index.html

About

Beckhoff protocol to communicate with TwinCAT devices.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 92.4%
  • Shell 4.2%
  • C 1.2%
  • Meson 1.2%
  • Makefile 0.4%
  • CMake 0.4%
  • Python 0.2%