Skip to content

About

C# Windows Forms tool for browsing PLC symbols and reading/writing values through Beckhoff TwinCAT ADS.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Latest commit

 

History

10 Commits

Folders and files

Repository files navigation

Beckhoff Target Browser

A C# Windows Forms application for browsing PLC symbols and reading or writing values through Beckhoff TwinCAT ADS.

This industrial software project connects a desktop interface to a PLC runtime: discover symbols, inspect their metadata, and work with their values from one window.

Capabilities

  • Connect to a target by AMS Net ID using ADS port 851.
  • Browse symbols under MAIN and GVL in a hierarchical or flat view.
  • Search by symbol-name segment or look up a symbol directly.
  • Inspect name, data type, byte size, index group, and index offset.
  • Read symbol values and write values back to the selected symbol, including Boolean values.

Technology

Component Implementation
Language and UI C# and Windows Forms
Target framework .NET Framework 4.6.1
PLC communication TwinCAT.Ads assembly, referenced as version 4.3.20.0
Target runtime TwinCAT 3 PLC Runtime 1, ADS port 851

Build from source

Requirements:

  • Windows with Visual Studio and the .NET desktop development tools.
  • The .NET Framework 4.6.1 targeting pack required by the existing project.
  • A compatible TwinCAT ADS .NET library installed locally.
  • A reachable TwinCAT PLC runtime and a configured ADS route.
git clone https://github.com/umutkonmus/BeckhoffTargetBrowser.git
cd BeckhoffTargetBrowser
  1. Open TargetBrowser.sln in Visual Studio.
  2. Check the TwinCAT.Ads reference in TargetBrowser/TargetBrowser.csproj. Its current HintPath is relative to the original development machine; update it to your installed TwinCAT.Ads.dll.
  3. Build the solution and run TargetBrowser. A Release build produces TargetBrowser/bin/Release/TargetBrowser.exe.

Connect and inspect

  1. Add the target route using the TwinCAT route configuration tool.
  2. Start the application and enter the target AMS Net ID. Leaving it empty attempts a connection to the local TwinCAT system.
  3. Connect and load symbols. Choose the flat or hierarchical view.
  4. Select a symbol to inspect its metadata and current value, or use the symbol lookup controls.
  5. If needed, enter a compatible value and use the write control.

The write control changes the PLC value. Use a test runtime or an explicitly authorized target when exploring the application.

Route configuration

TwinCAT route configuration

Application interface

Beckhoff Target Browser interface

Implementation guide

The integration uses TcAdsClient, TcAdsSymbolInfoLoader, ReadSymbol, and WriteSymbol.

Scope and limitations

This is a focused desktop integration example. The current source uses a fixed ADS port and filters the initial symbol list to MAIN and GVL. It does not implement a configurable multi-runtime connection manager or a durable monitoring service.

The project retains its original .NET Framework and ADS API dependencies. Building on a new machine requires resolving the local assembly reference; compatibility with newer ADS API generations has not been verified. There is no automated test suite in this repository.

Troubleshooting

  • ADS assembly missing: correct the TwinCAT.Ads reference path before building.
  • Connection fails: check the AMS Net ID, ADS route, network connectivity, and target runtime port.
  • Symbol list is empty: confirm the target exposes symbols under MAIN or GVL.
  • Read or write fails: check the selected symbol, supported data type, and supplied value.

About

C# Windows Forms tool for browsing PLC symbols and reading/writing values through Beckhoff TwinCAT ADS.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages