返回首页 hi, 欢迎来到机器人在线 请登录/ 免费注册 订阅邮件
有疑问,咨询在线客服

【干货】详解撰写发那科机器人程序全过程!(下)

时间:2019-03-13 来源:机器人在线

本文承接上篇继续介绍撰写简单机器人程序的过程。

三、手动测试

我们可以在撰写Robot 程序的过程中,随时手动测试此程序。(不一定要整个程序完成后才测试)基于安全的考量,建议测试时将Robot 总速度Override 放慢,或切换到T1 慢速教导模式。测试时请先进行STEP 单段状态测试,按下键可切换状态:

接着把光标移到程序第一行,也就是行号「1」为反白。按下 ,即可进行单段测试,也就是Robot 程序每次只执行一行。所谓的是指: 按着不放, 单击放开,即开始执行程序动作,此时程序会进入「运转中」的状态。

程序执行完毕时,即使不放开,动作也会停止。

若程序未执行完成就放开,则动作暂停,程序进入PAUSED「暂停状态」。

只单段执行完某行程序,也会进入「暂停状态」。暂停状态下,再次按下即可继续执行程序,例如把未完成的该行程序动作做完,或者继续下一行程序。程序全部执行完成后,就不再出现暂停状态,而是呈现ABORTED「已终止状态」。


STEP 单段状态测试没有问题的话,按键切换为连续状态,重新测试此程序连续动作。

若连续测试也没有问题,则可以将Robot 总速度Override 调整为自动生产时需要的速度,并切换到T2 全速教导模式,继续测试。


四、动作指令之说明

接下来详细说明所谓动作指令的意义。动作指令除了程序行号之外分为四个部分:


动作型式有下列三种:J Joint 关节动作;L Linear 直线动作;C Circular 圆弧动作。

关节动作J是指,藉由6个关节各自独立转动,6轴同时开始并同时停止动作,以到达目标位置的姿势,因此其路径通常不是直线。

直线动作L 是指,工具中心点TCP从起始位置到目标位置的路径强制为直线,除了瞬间的加速度、减速度之外,基本上是等速运动。另一种情况也可以使用直线动作L,如下图所示。

在此例中Robot 并未产生任何直线路径,TCP 维持在原来位置,仅将Robot 末端工具绕着TCP 做旋转。需要注意的是这种情况可使用不同的速度单位deg/sec(每秒多少度),来决定Robot 的等速旋转角速度。稍后我们会再详细介绍「速度」。

圆弧动作C是指,工具中心点TCP 从起始位置,中途绕到「经过位置」,到目标位置的路径强制为圆弧。所以点位教导时要多教一个「经过位置」。除了切割用途之外,圆弧动作C 比较少用。

P[1]指的是此Robot 程序中的第1 个教导位置,同样的道理,第2 个教导位置就是P[2]、第3个教导位置就是P[3]。但是P[1]不一定要在第1 行程序里,而且在不同行中,P[1]也可以重复出现,这样可以移动到同样的位置上。在一个动作指令中,只记录了一个教导位置(圆弧动作C 除外),这表示动作指令储存的是「位置」而非「路径」,例如:

1、J P[1] 100% FINE

这个动作指令,指的是从「现在位置」(或上个动作指令的结束位置)移动到P[1]。所以 Robot 在不同的位置上执行这一行程序时,会显现不同的动作路径。动作指令的第3部份是速度,当动作形式为J的时候,速度通常是以%來表示。100%代表最快的速度,若动作不需要太快,可将速度降为50%、20%、5%、1%等速度,可接受1~100 的整数%。

当动作形式为L或C 的时候,速度通常是以mm/sec(每秒多少公厘)來表示。最高速度各机种略有不同,但绝大部分机种至少可输入2000 mm/sec之速度。可依需求输入1 以上的整数速度值。

动作指令的第4部份是连续性,基本上有「FINE 精确」、「CNT连续」两种选项。FINE 指的是此动作指令会精确停顿在此教导位置上,相对的CNT 则会以连续动作为优先,不一定精确经过该点,如下图所示。

此图是显示以下几种不同情况的路径:

L P[2] 500 mm/sec FINE

L P[2] 500 mm/sec CNT0

L P[2] 500 mm/sec CNT50

L P[2] 500 mm/sec CNT100

FINE 的路径在P[2]会有明显的停顿,且精确停留在P[2]的教导点位上。

CNT0 虽然与FINE 的路径相同,但在P[2]不会停顿,继续往P[3]移动。

CNT100 是最远離P[2]的路径,但动作的連续性最佳,

而CNT50 则是介于CNT0、CNT100 中间的路径。

CNT 值可输入0~100 的整數。

基本上像是夹取位置、加工位置、放置位置这种精确性高的点位,建议使用FINE。而路径的经过位置、附近无干涉碰撞的疑虑时,则建议用CNT,以增加Robot 动作的平顺度,同时循环周期时间(Cycle Time)也会略快一些。

五、动作指令的修改

动作指令的内容可以修改。若要变更数值,只要将光标移动到数值上,直接输入数字,按下即可。例如将J P[1] 100% FINE 的速度100%变更为50%,只要把光标移动到数值100 处,按下,,即可变更。同样的方式也可以修改P[ ]的位置号码、CNT 值等。此外文字内容也可以修改,只要将光标移动到文字上,按[CHOICE]选择即可。例如将J P[1] 100% FINE 的动作型式的J并更为L,只要将光标移动到J 处……


并选择第2 个选项Linear,即可变更。同样的方式也可以修改速度单位、连续性等。前面「点位教导」的部分提到,POINT有4 个默认选项。

此时按下ED_DEF 则可修改此预设选项的形式,修改完成后再按DONE,即可完成。

六、点位修正(TOUCHUP)

已经完成的动作指令如需要修改点位,可依以下方式进行。先将光标移动到欲修正点位的行号上,接着将Robot 手动移动到新位置,按下TOUCHUP 即可。若不是显示TOUCHUP,请按切换F1~F5 的功能键至下一列。

如上图,当P[1]前面出现「@」的符号时,表示现在Robot 的位置与P[1]相同。(或者非常接近P[1])

七、加入批注

前述的点位教导均是以「自动编号」方式表示不同的位置,当程序中有许多点位时,将难以理解该位置的意义,此时可将位置加入批注。将光标移动到位置编号上,按,此时可输入批注内容。如我们可使用P[1:Ready]来表示P[1]是准备位置、P[2:Get]来表示P[2]是抓取位置……等。

关键字: 技术干货
阅读 842 19 收藏