Beckhoff TwinCAT2/3 Ethernet Absolute
Review the following information for setting up and configuring the Beckhoff TwinCAT2/3 Ethernet Absolute driver. This driver replaces the Beckhoff TwinCAT3 Ethernet Absolute (Gen1.3) and Beckhoff TwinCAT2 Ethernet Absolute (Gen1.3) drivers.
Note: This driver is experimental. Some features might not work as expected.
Litmus Edge compatible series
Compatibility parameter | Compatible items |
|---|---|
Driver type | Ethernet |
Validated devices/series | Beckhoff TwinCAT2 Beckhoff TwinCAT3 |
The driver connects to the PLC as an ADS client over AMS/TCP. It reads and writes PLC variables, batching requests with ADS sum commands, and can browse the PLC symbol table, including arrays and structure members. Tags can be read in polling or subscribe mode.
To set up and configure this device in Litmus Edge, do the following:
- Step 1: Set up and configure the PLC device
- Step 2: Set up the PLC device in Litmus Edge DeviceHub
- Step 3: Configure the list of registers
Step 1: Set up and configure the PLC device
If the device is configured for Ethernet access, find its network parameters. Otherwise, follow the steps below.
The PLC accepts connections only from systems in its route table. Add a route for Litmus Edge before you connect the device. The PLC rejects a connection whose Local AMS ID does not match a route.
Note: The Beckhoff PLC is also a PC with its own operating system, and you can set up its IP address in the same way as a PC.
To add a route on a TwinCAT3 PLC:
- Note down the following information and refer to it as needed. Device: TwinCAT 3 Beckhoff PLC Communication I/F: Ethernet
- Launch a new project in TcXaeShell.
- Click Routes to add the target Litmus Edge that connects to the PLC.

- Click Add... and configure the following parameters: Route Name (Target): Enter a name for the route. AmsNetId: Enter the AMS NetId for the route. If the PLC is running as a soft connection, and Litmus Edge and the panel PC are on the same network, the AmsNetId and Address Info values are the same, with .1.1 at the end. Transport Type: Review and confirm the transport type for the route. Address Info: Enter the IP address of the target Litmus Edge in the network. Target Route: Select Static.

- Click the Restart TwinCAT icon. Then, click the Login icon to start the PLC runtime.

Step 2: Set up the PLC device in Litmus Edge DeviceHub
Configure the following parameters when you Connect a DeviceConnect a Device with this driver. Update default values to the specific setup of your device.
Parameter | Value |
|---|---|
Device Type | Beckhoff |
Driver Name | Beckhoff TwinCAT2/3 Ethernet Absolute |
NetworkAddress | The IP address of the PLC you defined in Step 1. Default value 192.168.0.1 |
NetworkPort | The TCP port of the PLC. This must match the port configured on the PLC. Default value 48898 |
AdsPort | The ADS port of the PLC runtime: - TwinCAT3: 851 for PLC runtime 1. Use 852, 853, or 854 for runtimes 2 to 4. - TwinCAT2: 801 Default value 851 |
LocalAmsId | The AMS NetId of the Litmus Edge device: [Litmus Edge IP address].1.1 For example, if the Litmus Edge IP address is 192.168.0.152, enter 192.168.0.152.1.1. This value must match a route on the PLC. Default value 0.0.0.0.1.1 |
The following parameters are under Advanced Parameters.
Parameter | Value |
|---|---|
AmsId | The AMS NetId of the PLC, as six dotted octets, for example 172.16.17.10.1.1. If you leave it empty, Litmus Edge uses the PLC's IP address with .1.1 at the end. This is correct only when the PLC's AMS NetId matches its IP address. |
MaxRequestSize | The maximum number of bytes retrieved in one request. Enter a value from 128 to 65536. Default value 4096 |
ReadTimeout | How long the driver waits for a response, in milliseconds. Enter a value from 1000 to 60000. Default value 5000 |
For the Meta Data, Status Register, and Optional Settings options, see Connect a DeviceConnect a Device.
Step 3: Configure the list of registers
When you Add a TagAdd a Tag to the connected device, see the following register table and tag parameters.
You can also Browse and Add Tags from a DeviceBrowse and Add Tags from a Device for this device. Browsing is the most reliable way to add tags, because it uses the addresses defined in the PLC.
See the following additional resources if necessary:
- Organize Device and Tag Data by Using MetadataOrganize Device and Tag Data by Using Metadata
- Tag Formula VariablesTag Formula Variables
Register table
A tag address is a memory class and a 0-based offset. The driver passes the offset to the PLC as you enter it.
- A BOOL tag in the M, I, or Q class reads the bit image, so its address is a bit offset.
- Every other class and value type uses a byte offset.
Name | Description | Access Type | Address Format | Min Address | Max Address |
|---|---|---|---|---|---|
D | Data | R/W | DDDDDDDDDD | 0 | 2147483647 |
M | Memory | R/W | DDDDDDDDDD | 0 | 2147483647 |
R | Retain | R/W | DDDDDDDDDD | 0 | 2147483647 |
I | Input | R/W | DDDDDDDDDD | 0 | 2147483647 |
Q | Output | R/W | DDDDDDDDDD | 0 | 2147483647 |
All five classes support the following value types:
- BOOL
- SINT
- BYTE
- INT
- WORD
- DINT
- DWORD
- LINT
- LWORD
- REAL
- LREAL
- STRING
- WSTRING
- TIME
- LTIME
- DATE
- DATEANDTIME
- TIMEOFDAY
Tag parameters
- Name: Select a memory class from the drop-down list: D, M, R, I, or Q. To read symbolic tags with this driver use D - DATA register.
- Value Type: Select a data type from the drop-down list.
- Address: For I, Q and M registers enter the address for the particular tag as defined in the PLC Software which matches the Index offset number of that tag. For symbolic tags enter Index offset number in the address field. See the Register table section for when to use a bit or byte offset. To avoid incorrect configuration, it is better to browse and add tags. Driver supports browsing
- Polling Interval: Enter how often the tag polls for data, in seconds. Enter 0 to disable polling.
- Tag Name: Enter a name for the tag.
- Description (Optional): Enter a description for the tag.
The following parameters are under Advanced Parameters:
- Communication mode: Select Polling or Subscribe. Default value Polling.
- Index group: Leave this at 0 to use the default index group for the memory class. Any other value overrides it.