程序流程指令WaitUntil-ABB机器人标准指令编程
程序流程指令WaitUntil-ABB机器人标准指令编程WaitUntil [\InPos,] Cond [\MaxTime][\TimeFlag];
[\InPos] : 提前量开关。 ( switch )
Cond: 判断条件。 ( bool )
[\MaxTime]: 最长等待时间 s。( num )
[\TimeFlag]: 超时逻辑量。 ( bool )
ABB机器人程序流程指令WaitUntil-应用:
当前指令用于等待满足相应判断条件后,才执行以后指令,使用参变量 [\InPos],机器人及其外轴必须在完全停止的情况下,才进行条件判断,此指令比可以指令 WaitDI 的功能更广,可以替代其所有功能。
ABB机器人程序流程指令WaitUntil-限制:
[*]当前指令在使用参变量 [\InPos] 时,遇到程序突然停止运行,机器人不能其保证停在最终停止点进行条件判断。
ABB机器人程序流程指令WaitUntil-实例:
PROC PickPart()
MoveJ pPrePick,vFastEmpty,zBig,tool1;
WaitUntil di_Ready=1;→机器人等待输入信号,直到信号 di_Ready 值为 1,才执行随后指令。
(WaitDI di_Ready,1;)
PROC PickPart()
MoveJ pPrePick,vFastEmpty,zBig,tool1;
WaitUntil nCounter=4\MaxTime:=5;
…→机器人等待相应数据输入,如果 5 秒内仍没有得到相应数据值 4,自动进行 Error Handler 处理,如果没有 Error Handler,机器人停机报错 。
ERROR
IF ERRNO=ERR_WAIT_MAXTIME THEN
TPWrite “……”;
RETRY;
ENDIF
ENDPROC
ABB机器人程序流程指令WaitUntil-实例:
PROC PickPart()
MoveJ pPrePick,vFastEmpty,zBig,tool1;
bTimeout:=TRUE;
nCounter:=0;
WHILE bTimeout DO
IF nCounter>3 THEN
TPWrite “……”;
ENDIF
IF nCounter>30 THEN
Stop;
ENDIF
WaitUntil bOK=TRUE\MaxTime:=1\TimeFlag:=bTimeout;
Incr nCounter; →机器人等待相应逻辑值,如果 1 秒内仍没有得到相应值,机器人自动执行随后指令,但此时 TimeFlag 值为 TRUE;机器人得到相应逻辑值,TimeFlag 值为 FALSE。
ENDWHILE
…
ENDPROC
页:
[1]