原标题:原来可以这样编写Fanuc机器人程序!
Robot 为自动化设备,但在自动化运转之前,必须先告诉Robot 要自动完成哪些动作,透过「撰写Robot 程序」可达到此目的。
Robot 程序主要由「动作指令」构成,只要熟悉手动操作Robot 的方式,将Robot 移动到欲记錄的位置,即可在「教点」的同时完成动作指令与Robot 程序。
本单元将介绍如何撰写简单的Robot 程序。
一、建立新程序(CREATE)
与许多计算机软件一样,首先需要「开新档案」,建立一个新的Robot 程序。
按下
进入Robot 程序选择一览表。
此时
功能应显示为CREATE,若不是,请按
切F1~F5的功能键至下一列,即可出现CREATE。
上图画面中,
的右方有「>」符号,代表F1~F5 功能键有其他功能可供换。按下
CREATE 以建立一个新的Robot程序,此时显示以下画面等待输入程序名称:
程序名称有以下限制:
1. 不可与其他已存在的程序名称相同。
2. 由英文大写字母、數字、_(底线)组成。
3. 共1~8 个字符。
4. 第1个字必须是英文字母。
5. 中间不可有空格。
请先将教示盘的开关切换到ON的位置,程序名称输入完成请按兩次,进入程序编辑画面。
出现此画面代表新程序建立完成。
二、点位教导(Teaching)
此时
功能应显示为POINT,若不是,请按
切换F1~F5 的功能键至下一列,即可出POINT。
切换到手动模式,将Robot 手动移动到需求的位置。按下
POINT,将出现4 个选项。
虽然这些选项各有其不同意义,但目前请任意选其中一个,例如选
。
即可记錄现在Robot 的位置,并同时撰写一行动作指令。如上图。接下來继续手动移动Robot 到下一个位置,按下+POINT,即可记錄第2 个位置,并撰写第2行动作指令。+POINT 代表上述4 个选项中,沿用上次选择的选项。如此重复进行每一个位置的点位教导,即可完成如下的程序。
此程序会使Robot 执行如下的动作,从Robot现在位置移动到第1 个记錄位置,然后移动到第2个记錄位置,再移动到第3 个记錄位置。
三、手动测试
我们可以在撰写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 比较少用。
如需更详细的资料,请參阅FANUC 原厂手册,或洽询发那科工程师。
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)也会略快一些。 以下是几个动作指令的范例与意义。
1: J P[1] 100% FINE
精确地以关节动作100%的速度
由现在位置移动到P[1]
2: L P[2] 500mm/sec CNT100
优先考虑100%
連续性以直线路径500mm/sec
的速度由前一位置移动到P[2]
3: L P[3] 500mm/sec FINE
精确地以直线路径500mm/sec 的速度
由前一位置移动到P[3]
另外动作指令的后面也可以追加「附加命令」,例如加速度的控制等。
五、动作指令的修改
动作指令的内容可以修改。若要变更數值,只要将光标移动到數值上,直接输入數字,按
下即可。
例如将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]是抓取位置……等。
文章来源:综合网络,如有侵权,联系删除。
▼
责任编辑: