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