MODULE MainModule
PROC Main()
WHILE TRUE DO MoveJ pHome, v1000, z50, tool0;Place_1:SearchL\Stop, di_Crash1\NegFlank, pfound1, Offs(pPlace,0,0,0), v100, tGriper\WObj:=CurWobj;//NegFlank信号取反,从pfound1开始检测到pPlace点位 IF di_Crash1 =0 THEN GOTO Place_2;//碰撞到了,跳转到回退处理行ENDIF
Place_2:IF di_Crash1 =0 THEN //判断是否有碰撞,避免误入程序pfound1:=CRobT(\Tool:=tGriper\WObj:=CurWobj);MoveL offs(pfound1,0,0,100), vMidLoad, fine, tGriper\WObj:=CurWobj;//回退100Setgo go_Error, 1;//给PLC报错PulseDO\PLength:=1,do_RobError;Stop;Setgo go_Error, 0;GOTO Place_1;//再启动时再次进入运动程序ENDIFENDWHILE
ENDPROC