INTERRUPTDECL 10 WHEN $CYCFLAG[254]==FALSE DO VW(#FB_STOP,TRUE)
INTERRUPTON 10
-只要M254没有那么立即执行VW(#FB_STOP,TRUE)开行条件程序
-只能满足条件M245/M255,或者发出模拟信号才能推出VW(#FB_STOP,TRUE)程序
------------------------------------------------------------------
DEF FB_STOP ()启动FB开行条件
INT INT_N
BOOL EXIT_OK
BOOL IN_APO_1
IN_APO_1= NOT (($MOVE_STATE==#PTP_AP02) OR ($MOVE_STATE==#LIN_AP02) OR ($MOVE_STATE==#CIRC_AP02))
-IN_APO_1机器人移动状态不是PTP模式-
IF((IN_APO_1) OR (NOT SEARCH_ACTIV))THEN-SEARCH_ACTIV=FLASE
-机器人移动状态不是PTP模式
$VW_FB_HOLD=TRUE -机器人开行条件被保持住-
ENDIF
IF $PRO_MOVE THEN–当程序开始移动时会立即发生中断轨迹运行-
BRAKE
ENDIF
-DECL T_FB_STATE FB_STATE={N1,HOLD TRUE,APO_2 FALSE}- FB开行条件状态
FB_STATE.APO_2= NOT IN_APO_1 -FB开行条件的状态与IN_APO_1相反,只有PTP轨迹才行
FB_STATE.N=FB_STATE.N+1
FB_STATE.HOLD=$VW_FB_HOLD -FB开行条件的状态是否是停止停止
FB_SAVE_MSG () -FB开行条件信息显示-
FB_LOOP_MSG () –循环FB开行条件信息显示-用于显示M255/M254
$LOOP_CONT=TRUE -开始使用模拟指令
EXIT_OK=FALSE
REPEAT
WHILE NOT ($CYCFLAG[254] OR ( NOT ($LOOP_CONT) AND ($MODE_OP<>#EX)))
-循环执行指令,当没有M254或在外部自动及没有循环控制时,才会执行下面的指令-
-$LOOP_CONT用于模拟指令-
IF($LOOP_MSG[1]==" ") AND ($LOOP_MSG[2]==" ") AND ($LOOP_MSG[3]==" ")THEN
FB_LOOP_MSG ()
WAITSEC 0.1
IF($LOOP_MSG[1]==" ") AND ($LOOP_MSG[2]==" ") AND ($LOOP_MSG[3]==" ")THEN
$LOOP_MSG[]="KeyWord_WarteFBAus”提示信息-等待开行条件
ENDIF
ENDIF
IF $PRO_MOVE THEN -如果有轨迹程序开始移动,立即中断。
BRAKE
IF NOT $ON_PATH THEN -A4040机器人在轨迹上
PTP $AXIS_ACT-执行当前轴的坐标
ENDIF
ENDIF
IF $PRO_MODE1==#BSTEP THEN–程序状态时单步-
ENDIF
WAITSEC 0.001
ENDWHILE-结束循环
IF NOT $LOOP_CONT THEN-按下模拟可使M254=true
$CYCFLAG[254]=TRUE
FOR INT_N=1 TO 8
IF NOT $IN[VW_VERR[INT_N].IN] THEN-如果没有常值1的输入
VW_VERR[INT_N].IN=$IOSYS_IN_TRUE -E4081 常为1
VW_VERR[INT_N].NAME[]="SIMU "-名称变成模拟
ENDIF-
ENDFOR
WRITE_VERR_COND (FALSE) M255=E4081 =TRUE
$LOOP_CONT=TRUE –可以模拟控制
ELSE
$TIMER[62]=-150
$TIMER_STOP[62]=FALSE
WHILE NOT ( NOT $CYCFLAG[254] OR ($TIMER[62]>0))
ENDWHILE
IF $TIMER[62]>0 THEN
$TIMER_STOP[62]=TRUE-超时会T62=true
EXIT_OK=TRUE-超时会退出程序
ELSE
ENDIF
ENDIF
WAITSEC 0.001
UNTIL EXIT_OK-超时会退出程序
$LOOP_CONT=TRUE
FB_LOAD_MSG () -显示提示信息
WAITSEC 0.024
$VW_FB_HOLD=FALSE-不再停止开行FB条件
END
好了,今天就讲到这里,你可以添加到书包慢慢学习哦。