Jobs taught with refence plane but not updating

I have 14 programs with every waypoint taught in reference to a plane feature. Each program is called as a subprog by a main job.

We relocated the machine, and things didn’t align perfectly, so i updated the plane feature as i had planned. But none of the sub programs are running correctly for this new plane. It’s like they are ignoring it completely.

When i open the jobs directly, 1 time out of 5 the job will run correctly, which makes even less sense.

Any ideas?

Are you able to post your program structure? Did you create a seperate program then load it in as a subprogram or did you create the subprogram within the main program and save it from there?

Sub programs are all taught 100% on their own, using the same installation file.
The jobs are ~40 movep waypoints, all taught reference to the plane feature.

Then the parent job handles the model input case statement, and calls the subprog from there.

what is extra annoying for me, is that this is my second system setup like this, and the first one worked fine when moved.

Did you reload the subprogam(s) in to the main program?

One thing that messed me up with subprograms is that they don’t work how real subprograms do so you if you change it you have to reimport it doesn’t actually get called, its like a fancy copy/paste. However if you have the box checked that says something like “keep subprogram updated with this program” saving your main program will rewrite the old import over the new update. You also have to check that box for each subprogram so it’s possible you don’t have it checked for all of them, you hit save on your main program and it sends the old imported information back to what you original updated in the core file.

From what you are doing it sounds like you would want to actually make a script for each case instead of a sub program. Im in the process of learning python and java to make our own URCaps and scripts as it can be limiting using the built in features when you want to get really custom.

The keep updated check box is marked for each model. I sanity checked myself there.

I haven’t gotten to using scripts yet, it seems way more complicated then just using the URP jobs.

My last ditch effort was to remove every subprogram, open each one individually, then reload them to the main program, but the result was the same.
I ended up having to reprogram everything in order to move my project along.

That’s what I am saying though, if you have it checked it will overwrite your subprogram with the old code it doesn’t update that other way.

When you open the main program it will not update all the subprograms unless you reimport them. So if you change the subprogram, save it then open the main program and hit save without importing the subprogram before hand all your doing is overwriting your changes you made in the subprogram because the keep updated box only keeps the subprogram updated if you made changes in the main program but not the other direction. Let me know if that makes sense lol

I don’t keep the box checked since it doesn’t work the way my brain thinks it should. If I make a program and import it in to 10 programs I just want to change the one and have all the others update but UR doesn’t seem to agree.

OOOOO i follow what you mean now.
I did not know that, and did assume it went both ways… I’m pretty sure that I have tested that before via path adjustments directly in the subprogram and seen the change reflected in the master. But I will double check that for sure now.

Going forward I will remove subprogram call, make the change, then add the subprogram and see how that goes.

If you figure out how to make that work please let me know lol to me it should work both ways as that’s how general programming works. It’s also why I was mentioning scripts, which I am new to but it’s the direction I am going. However I haven’t done enough scripting to know if it pulls it in every time. Now that I am talking about it I will need to test that this week to verify before I get too crazy with my scripting.

So i just did a test in simulation.

Create a sub job with 5 waypoints,
create a parent job with some popups, and a switch case subprog call to sub job. Checked the “Keep Updated” option

Ran parent job. everything runs as expected.
Added a new waypoint in the sub program from the parent job file, ran the program.
Opened the sub program directly, and the new waypoint was there.

Added a new wait and waypoint in the sub program, saved and went back to parent job, and the new items were there.

So it does seem that changes are reflected both directions with a subprogram is the option is checked.

What version of polyscope are you using? YOu did it on a UR in similation mode or you used the simulation program on a computer?I did the UR core and advanced training a couple weeks ago and discussed this with the instructor to make sure I wasn’t misunderstanding anything which he agreed the way they do it sucks. However we were using 5.12 in the class and I use 5.12 on the 4 URs that I have. I haven’t had a chance to use 5.13 which I know they did a nice update on variables so my hope is you’re going to say you are using 5.13 lol. Regardless I hope the new version 6 fixes a lot of the ways programming is done to align with the rest of the world.

I used the UR simulator virtual machine. 5.12.4 Aug 31 2022 version.

Im on 5.12.2 I have to back up from the 5.12.4 because it caused some issues with my pallet program and when I emailed them they said they had some bugs they were tracking down in that. I am going to update to 5.13 and see if it works for me because they would be awesome to make changes in my subprogram and have it update my main without reloading.