To make a customize INSTRUCTION... Sorry, but I've never seen an instruction created by users...
You could do a routine with parameters and/or a Function.
For example a routine wiht parameters to do a circle:
PROC rFigCircle(
robtarget PosCenter,
num SpeedCut,
num Zona,
num Radius,
num DisBetweenHoles,
wobjdata wobjControle)
!
MoveL RelTool(PosCenter,0,0,0\Rx:=0\Ry:=0\Rz:=0),v100\V:=SpeedCut,z1\Z:=Zona,toolCaneta\WObj:=wobjEstacao;
MoveLDO RelTool(PosCenter,Radius,0,0\Rx:=0\Ry:=0\Rz:=0),v500,fine,toolCaneta\WObj:=wobjEstacao1,do13_LiberaAgua,;
MoveC RelTool(PosCenter,0,Radius,0\Rx:=0\Ry:=0\Rz:=0),RelTool(PosCenter,-Radius,0,0\Rx:=0\Ry:=0\Rz:=0),v100\V:=SpeedCut,z1\Z:=Zona,toolCaneta\WObj:=wobjEstacao;
MoveC RelTool(PosCenter,0,-Radius,0\Rx:=0\Ry:=0\Rz:=0),RelTool(PosCenter,Radius,0,0\Rx:=0\Ry:=0\Rz:=0),v100\V:=SpeedCut,fine\Z:=Zona,toolCaneta\WObj:=wobjEstacao;
rControleCaneta\DesligaAgua;
ENDPROC
And call routine like this:
rFigCirEst1 [[884.94,1218.5,262.77],[0.104796,-0.266659,0.047049,-0.956921],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],SpeedCut,5,8,0,wobjEstacao;
Instead of only movements, you could use logical instructions and so on.
But to do all checks that you need on full time, I don't think this is the better way...
If this is what you're looking for, go ahead!