-
Notifications
You must be signed in to change notification settings - Fork 113
Support for Beckhoff RT-Linux operating system (uses FreeBSD solution) #479
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
Conversation
|
Thanks for this, is this for when you are running pyads on the RT Linux IPC itself? I wonder why it doesnt pick up the |
|
Yes, the issue appears when using Beckhoff RT-Linux, and that's the reason why I created additional function for that. I assume Beckhoff RT-Linux shares some (most) of the features with TwinCAT/BSD, which leads that is_platform_linux() function doesn't fully work on this case - even though the system is Linux. One of the issues it that without the update, pyads cannot create connection to the system (and so, cannot read any variables). The very same library (libTcAdsDll.so) is found in RT-Linux, like in FreeBSD (or TwinCAT/BSD) system. |
|
may fix #433 |
|
I don't have access to a Beckhoff Linux IPC unfortunately. Out of interest, do you know what the command |
|
that makes sense and I suspect very much related to #433. The implementation of pyads never thought that Beckhoff may one day release a linux IPC so defo did not consider this in our implementation. It may also be fixed if we updated our ads dll we package too as that is quite old but that is a task for another day! I think this workaround will do for now. Can we just add a comment to the fucntion platform_is_linux_rt to say this is a workaround for when pyads is running on rt linux and say |
Pull Request Test Coverage Report for Build 20267218058Details
💛 - Coveralls |
|
hi @dewabe i think you are accidentally committing the README changes to this PR too, I was just about to merge this and push a new release |
|
Hi @chrisbeardy |

To support Beckhoff RT-Linux, we need to use a FreeBSD-based solution, even though the operating system itself is Linux-based.
My solution is to check whether TwinCAT is installed on Beckhoff RT-Linux (sudo apt install tc31-xar-um). If TwinCAT is installed - os.path.exists("/usr/bin/TcSystemServiceUm") - the system then uses a FreeBSD-based approach.