I'm fairly adept with programming these monsters, but there is a bit of code that I've never completely understood. Our integrator uses this code extensively in their move home and transition programs.
CALL SAFE(X) where x is a constant.
Program SAFE
PR[100]=JPOS
PR[100,2]=(-30)
PR[100,3]=0
PR[100,4]=0
PR[100,5]=(-75)
PR[100,6]=(-30)
!CHECK FOR J1 COMMAND
IF (AR[1]<>0),PR[100,1]=(AR[1])
J PR[100] 100% CNT100 ACC125
[END]
Now I understand that I am taking the current joint positions and loading them into position register 100. Then modifying joints 2,5 and 6 position accordingly.
Check if joint 1 position not equal 0, set PR[100,1] equal to the current J1 position.
After all that, it moves to PR[100]
What I don't understand is the value that is passed with the SAFE() program. How does calling SAFE(60) differ from calling SAFE(0)?
My first post, so be gentle