-
Notifications
You must be signed in to change notification settings - Fork 98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Beckhoff Linux Distro: Connection closed by remote #433
Comments
Hi, the documentation you are referring too assumes that you are using a linux client to access a Windows Beckhoff PLC and that the Linux client has no ADS router (e.g. not the Beckhoff distribution). The Beckhoff Linux system is very new and pyads has never been tested with it (so this is an interesting test), it also means that the documentation predates the Beckhoff Linux distribution. I would have liked to think if you are running the pyads on the same system as the linux PLC then it would just work with localhost and you wouldn't need to create any routes. I'm slighty confused by your 3 screenshots: is the first screenshot you running pyads on the Beckhoff Linux PC? Is the second screenshot you running pyads on a Windows machine with PLC running on Linux? and the third screenshot you running both pyads and the PLC on a windows machine? I wouldn’t be surpirsed if there is some issue with pyads connecting correctly to a Beckhoff Linux PLC as it stands and the code would probably be trying to access its own ADS router type functionalty which may cause issues. It may be an easy fix though... |
we see that |
did any of this help? |
We are testing some stuff currently - we could see the same behavior in some other libraries as well, so maybe not related to the PyADS implementation. I will update any findings asap. |
Made some new tests. I am really not familiar with neither Linux or ADS so please bear with me.
Which threw the error message
I exported the functions available in libTcAdsDll.so
Maybe it is not the right file, but it is the only one I could find containing "adsdll".
|
Hi,
I am running the Linux distribution provided by Beckhoff, which includes the TwinCAT runtime and the ADS router. I am trying to use the PyADS library to communicate with either the local runtime or another TwinCAT runtime on a Windows system.
In both cases, there is already an ADS route present. However, I am struggling to get PyADS to work as expected. After reviewing the PyADS documentation and troubleshooting, I suspect the issue might be related to how routes are handled on Linux, given that the Beckhoff distribution already has an integrated ADS router.
The PyADS documentation states:
For Linux systems the route is created automatically on the client-side. For the target-side, you can use add_route_to_plc().
Since a route is already present, could this be the reason for my issues?
This is my Python code
If I remove the route from the Linux machine, and only have it on the Windows machine, I instead get the following error.
(10.200.238.2.1.1 is the AMS Net id to my Windows machine).
But from my development computer, we can clearly see that the target port exists (same code)
The text was updated successfully, but these errors were encountered: