I'm trying to train a guy by making a nice, easy program to take the robot from where it is, put it to below home, drop a box off, then back up.
Anyhow, the problem i'm having is inconsistent usage of PR[x,y] where the position register element can either mean the cartesian coordinates or the joint position. FANUC foolishly uses the same instruction for two very different things and it seems to be contextual whether it uses either.
My program starts with defining the user frame and tool frame, and has one position register that draws from others to move the robot. (I call it RUNPOS).
OK so i set the user frame and tool frame... then.
PR[86: RUNPOS] = LPOS ; <-- if i use STEP and check after this it's still a cartesian coordinate position register.
Next step is PR[86,3] = 1970 (max height in that frame) <-- If I use STEP it can either in POSN be cartesian and make Z = 1970 (good) or it decides to show me the joint values and Axis 3 is set to 1970, which causes a limit error in the next step which is a joint movement, because it's trying to rip the arm off the robot.
The thing is.. sometimes I run it in STEP and it's cartesian, sometimes it's joint, and i haven't changed anything else. I run at full speed it's always JOINT and will limit error (thankfully not ripping the robot arm off).
Why would it turn something where i clearly set it to LPOS and then modified element 3 to a joint position register instead of cartesian. There's no reason, unless I'm dumb and have overlooked something.