【原创】ABB机器人编程之程序流程指令(含案例)(A3)
导读:机器人程序的执行是从上到下的方式,从第一条指令逐次扫描至程序的结尾,不断循环。但是在某种场合,需要程序的等待、程序的跳转以及程序的停止,这些场合都会影响到程序的流程。
例如:在机器人抓取物料的时候,机器人抓完了之后,需要等机器人抓稳了,机器人才移动,这就需要进行程序的等待!那接下来我们来看几个关于程序流程指令吧!
1.waitTime:用于等待给定的时间
例1:
WaitTime 0.5;程序执行等待0.5秒
程序执行等待的最短时间(以秒计)为0 s。
最长时间不受限制。分辨率为0.001 s。
详解:机器人程序指针执行到此条指令,必须等待0.5秒以后才继续往下执行!
例2:
WaitTime \InPos,0.5
详解:在 WaitTime指令后面加入了Inpos参数的含义就是:机器人到位且完全停止后才开始计时,时间到达0.5秒以后才继续往下执行!
例3:
MoveJ p1, vmax, fine, tool2;
WaitTime \InPos,0.5;
MoveJ p2, vmax, z30, tool2;
详解:机器人到达P1位置点之后,并且机器人完全停止下来,才开始计时,时间到达0.5秒以后才机器人继续执行到达P2位置点。
2. WaitDI:用于等待,直至已设置数字信号输入
例1:
WaitDI di4, 1;
仅在已设置di4输入后,继续程序执行。
详解:机器人程序指针执行到此条指令,需要等待开关信号di4为1的时候,才往下执行。
例2:
WaitDI di0,1\MaxTime:=3;
详解:在WaitDI di0,1指令后面加上了可选参数MaxTime:=3,则表示允许的最长等待时间3秒。如果在3秒时间以内di0还没有为1,机器人则报错处理。
3. WaitUntil:用于等待,直至满足逻辑条件 。例如,其可以等待,直至已设置一个或多个输入
例1:
WaitUntil di4 = 1;
仅在已设置di4输入后,继续程序执行。
详解:机器人程序指针执行到此条指令,需要等待开关信号di4为1的时候,才往下执行。等同于WaitDI di4, 1指令
例2:
WaitUntil di0=1\MaxTime:=3;
详解:在WaitUntil di0,1指令后面加上了可选参数MaxTime:=3,则表示允许的最长等待时间3秒。如果在3秒时间以内di0还没有为1,机器人则报错处理。等同于WaitDI di0,1\MaxTime:=3指令
例3:
WaitUntil di0=1 AND di1=1\MaxTime := 60 \TimeFlag := flag1;
MoveJ p1, vmax, fine, tool2;
详解:等待di0和di1都为1。如果未在60秒以内满足两个输入条件,则移动至P1。如果在允许的最长等待时间耗尽,未等到信号,则flag1为true,但是不报错,程序指针往下执行。
结束语:以上就是关于ABB机器人的一部分程序流程指令。使用程序流程指令的时候一定要注意其指令后面的可选参数,只有充分理解了,才能编程更加的得心应手!合理利用程序流程指令,是每个机器人工程师的必备技能之一,你还知道哪些关于ABB机器人流程指令的呢?