On the Robot a .urp programm should be executed, Here it is essential, that this programm is made on the teach panel (Later i want to remotely load/play/etc.)
Secondly I want to change variables or position variables, For example the var changes and now the Robot moves to a point but the new x,y or z is x + var
Since Dashboard does not allow the change of variables and RTDE cannot call .urp programms like the Dashboard …
Which combination of communication methods should be used here? Is there also a way to get both functionalities within one method?
REPEAT: I do not want to fully send ur-script commands
NOTE: I am using Python and a UR15 e-Series Robot
Structure schould be like:
– .urp “normal” commands"
– robot signals for new variable (Here Python and Robot should both know when to send and expect)
– python sends this variable
– Robot continues with “normal” .urp commands
– And repeat
*Addition
The Interpreter Mode sounds somewhat promising for this, however how can I check for, when Python and Robot are allowed to exchange
In .urp the Interpreter is started by calling interpreter_mode()
However how can i signal this to Python?
How about calling your programs as subprograms inside a main program instead of actually loading new .urp files? This way, you would not have to deal with the dashboard server, as you point out yourself.
The drawbacks are that you will have to edit the main program each time a new program is introduced. And you cannot keep track of the sequence execution as easily.
But it’ll be a much simpler setup communication-wise, since you can just alter a variable to call a new program. And you can have a general home sequence in the BeforeStart, which does not need to be included in each program.
I use a combination of the Dashboard and the Modbus Server build into the UR.
I use a script on the computer to give Dashboard commands then the HMI sends offsets via Modbus. I don’t use Python; however, I am sure there is a Modbus lib out there that you could use rather than the HMI like I am.
I basically have my program written and when needed the waypoint is a variable that can be offset by a specific Modbus address value.
I tried Dashboard with combination of Interpreter. It may not be the most elegant way, but works properly. (I feel RTDE sometimes behaves more complex, compared to socket communication.
Thank you for your idea, I solved my problem
In addition I noticed: Do not believe AI-Tools. In my experience the AI tells you, that using Interpreter on 30020 will not work, and everything strictly has to be done on Secondary Interface