You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@plc4x.apache.org by Christofer Dutz <ch...@c-ware.de> on 2023/02/23 08:15:36 UTC

[DISCUSS] Update the format of an ADS address?

Hi all,

so in the past we have been assuming some things for ADS:

  *   The default targetAmsNetId is {ip}.1.1, the port is a default etc.
  *   There is only one device to reach with an open connection

It turns out both are wrong or at least not 100% correct.
The thing is with {ip} we connect to the AMS router on the target device and identify ourselves with our IP and “sourceAmdNetId”. However, it is absolutely possible to talk to different targets on that device using the same connection.

So if I want to talk to the DeviceManager on that PLC, I use target port 10000 and the AmsNetId as the PLC. But I can also use {ip}.2.1 or {ip}3.1 to talk to the first or second EtherCAT Master (the AMS net IDs are completely configurable so they don’t have to follow that rule). If for example {ip}.3.1 is the AmsNetId of the EtherCat master on my Beckhoff setup, I can talk to the Master via port FFFF or use the EtherCAT address to talk to the EtherCAT slave directly.

So I would like to poropose to add the AmsNetId and Port to the tag address instead of the connection string (We can still provide defaults there … so you can keep addresses unchanged, but I would love to be able to talk to the DeviceManager, PlC and EtherCAT devices using the same connection and not having to needlessly create new connections for each.

What do you folks think?

Chris