The joint move were for gross movements over the cell. Once in front of a fixture I would enter into a specific fixture program, which did include a lot of linear moves.
The loop could be running on the robot side as a background logic program. It would take over the role of the reference position function. Disable the reference positions for a particular point, and turn on the output that was associated with the reference position with the BG program.
Code
/PROG BG_WORLDZONE
/ATTR
OWNER = MNEDITOR;
COMMENT = "";
DEFAULT_GROUP = *,*,*,*,*;
/MN
1: R[101:X World]=($SV_INFO[1].$CART_POS[1]) ;
1: R[102:Y World]=($SV_INFO[1].$CART_POS[2]) ;
1: R[103:Z World]=($SV_INFO[1].$CART_POS[3]) ;
2: DO[10]=(R[101]>1500 AND R[101]<1600 AND R[102]>(-100) AND R[102]<100 AND R[103]>1000 AND R[103]<1200) ;
/POS
/END
Display More