Waypoints (in a feature) not being saved after a reboot

I have a subroutine in my main program (Pick_Block_Left) where I cannot save waypoints properly.

The waypoints are all taught in a feature (BladeBlockStack). The feature seems to save it’s position correctly.

I will teach the waypoints with these coordinates;
BladeBlockStack: X=0, Y=-100, Z=-150, RX=0 RY=0 RZ=0
which translates in BASE Feature to: X=-491, Y=367, Z=160, RX=180, RY=0, RZ=90

I can save and run the program and it will work correctly.

Then I shutdown the robot and start it again. Don’t run anything or move the robot just go and edit that position and it will not be in the same position.

New Position BladeBlockStack: X= 25, Y=-175, Z=156 RX=180, RY=-0.65, RZ=-151
which translates in BASE Feature to: X=-566, Y=392, Z=-146, RX=-0.5, Ry=0.65, Rz = -118.6

This is very repeatable, just reboot the robot and positions changed. I have many other subroutines with waypoints that are not doing this, just this one subroutine seems to be affected so far.

Has anyone seen anything like this and have any idea what could be causing the issue?

After I Restart


Coordinates Before I restart


I think I have figured out part of this problem…

The program and subroutines were initially made in another installation. I changed the main program’s installation, but this somehow left the subprograms in the default installation. When I opened the subroutine on it’s own it warned me of this… so it was using a different value of the feature that was somehow adjusting the values of the waypoints on startup.

The only way I could fix it was to delete the subprogram and rewrite it again… the main program somehow seems to keep its own copy of the subprogram.. The more I look at how this robot does subprograms the less I like it…

Sub programs and the main program + link to the installation file is absolutely abysmal for user experience. I have regretted every single instance of using subprograms. I always trick myself into thinking it will save me code / is the best implementation and every single time I get screwed over by stuff like you’re seeing here.

The file management in general is just horrendous. You MIGHT be able to open the subprogram on its own, then from there manually open a new installation file and choose “Update Program” then delete and re-add the subprogram to your main job. Good luck, I feel your pain.