工博士机器人技术有限公司是一家集研发、生产、销售、技术服务于一体的专注于自动化、智能化设备生产和机器人系统集成应用的科技型企业,与ABB、库卡KUKA、发那科FANUC、安川YASKAWA、欧地希OTC、川崎Kawasaki、遨博AUBO、现代HYUNDAI、电装DENSO、欧姆龙OMRON、爱普生EPSON等机器人公司签订了战略合作关系。
公司业务范围:
◆机器人本体及配套产品销售、机器人应用技术培训服务;
◆机器人在焊接、切割、搬运、激光技术、机床上下料、钣金折弯、锻造等领域的系统集成应用;
◆机器人变位机、导轨、防护工作房、焊接工装夹具等系统周边设备的设计和生产。
地址:上海市嘉定区南翔镇众仁路399号B座20楼2007室(王工:18616566200)
----------------------------------------------------------------------------------------------------------
Robot为自动化设备,但在自动化运转之前,必须先告诉Robot要自动完成哪些动作,透过「撰写Robot程序」可达到此目的。
Robot程序主要由「动作指令」构成,只要熟悉手动操作Robot的方式,将Robot移动到欲记錄的位置,即可在「教点」的同时完成动作指令与Robot程序。
这一次将介绍如何撰写简单的Robot程序。
一、建立新程序(CREATE)
与许多计算机软件一样,首先需要「开新档案」,建立一个新的Robot程序。
按下
此时
上图画面中,
程序名称有以下限制:
1.不可与其他已存在的程序名称相同。
2.由英文大写字母、數字、_(底线)组成。
3.共1~8个字符。
4.第1个字必须是英文字母。
5.中间不可有空格。
请先将教示盘的开关切换到ON的位置,程序名称输入完成请按兩次,进入程序编辑画面。
出现此画面代表新程序建立完成。
二、点位教导(Teaching)
此时
切换到手动模式,将Robot手动移动到需求的位置。按下
虽然这些选项各有其不同意义,但目前请任意选其中一个,例如选。
即可记錄现在Robot的位置,并同时撰写一行动作指令。如上图。接下來继续手动移动Robot到下一个位置,按下
此程序会使Robot执行如下的动作,从Robot现在位置移动到第1个记錄位置,然后移动到第2个记錄位置,再移动到第3个记錄位置。
三、手动测试
我们可以在撰写Robot程序的过程中,随时手动测试此程序。(不一定要整个程序完成后才测试)基于安全的考量,建议测试时将Robot总速度Override放慢,或切换到T1慢速教导模式。测试时请先进行STEP单段狀态测试,按下
接着把光标移到程序行,也就是行号「1」为反白。按下
也就是Robot程序每次只执行一行。所谓的
程序执行完毕时,即使不放开
若程序未执行完成就放开
只单段执行完某行程序,也会进入「暂停狀态」。暂停狀态下,再次按下
STEP单段狀态测试没有问题的话,按
若連续测试也没有问题,则可以将Robot总速度Override调整为自动生产时需要的速度,并切换到T2全速教导模式,继续测试。
四、动作指令之說明
接下來详细說明所谓动作指令的意义。动作指令除了程序行号之外分为四个部分:
动作型式有下列三种:
.JJoint关节动作
.LLinear直线动作
.CCircular圆弧动作
关节动作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:JP[1]100%FINE
这个动作指令,指的是从「现在位置」(或上个动作指令的结束位置)移动到P[1]。
所以Robot在不同的位置上执行这一行程序时,会显现不同的动作路径。
动作指令的第3部份是速度,当动作形式为J的时候,速度通常是以%來表示。100%代表快的速度,若动作不需要太快,可将速度降为50%、20%、5%、1%等速度,可接受1~100的整數%。
当动作形式为L或C的时候,速度通常是以mm/sec(每秒多少公厘)來表示。速度各机种略有不同,但绝大部分机种至少可输入2000mm/sec之速度。可依需求输入1以上的整數速度值。
动作指令的第4部份是連续性,基本上有「FINE」、「CNT連续」兩种选项。FINE指的是此动作指令会停顿在此教导位置上,相对地CNT则会以連续动作为优先,不一定经过该点,如下图所示。
此图是显示以下几种不同情况的路径:
LP[2]500mm/secFINE
?LP[2]500mm/secCNT0
?LP[2]500mm/secCNT50
?LP[2]500mm/secCNT100
FINE的路径在P[2]会有明显的停顿,且停留在P[2]的教导点位上。
CNT0虽然与FINE的路径相同,但在P[2]不会停顿,继续往P[3]移动。
CNT100是远離P[2]的路径,但动作的連续性,而CNT50则是介于CNT0、CNT100中间的路径。
CNT值可输入0~100的整數。
基本上像是夹取位置、加工位置、放置位置这种性高的点位,建议使用FINE。而路径的经过位置、附近无干涉碰撞的疑虑时,则建议用CNT,以增加Robot动作的平顺度,同时循环周期时间(CycleTime)也会略快一些。以下是几个动作指令的范例与意义。
1:JP[1]100%FINE
地以关节动作100%的速度
由现在位置移动到P[1]
2:LP[2]500mm/secCNT100
优先考虑100%
連续性以直线路径500mm/sec
的速度由前一位置移动到P[2]
3:LP[3]500mm/secFINE
地以直线路径500mm/sec的速度
由前一位置移动到P[3]
另外动作指令的后面也可以追加「附加命令」,例如加速度的控制等。
五、动作指令的修改
动作指令的内容可以修改。若要变更數值,只要将光标移动到數值上,直接输入數字,按
下即可。
例如将JP[1]100%FINE的速度100%变更为50%,只要把光标移动到數值100处,按下,
,即可变更。同样的方式也可以修改P[]的位置号码、CNT值等。
此外文字内容也可以修改,只要将光标移动到文字上,按
例如将JP[1]100%FINE的动作型式的J并更为L,只要将光标移动到J处……
并选择第2个选项Linear,即可变更。同样的方式也可以修改速度单位、連续性等。
前面「点位教导」的部分提到,
此时按下
六、点位修正(TOUCHUP)
已经完成的动作指令如需要修改点位,可依以下方式进行。
先将光标移动到欲修正点位的行号上,接着将Robot手动移动到新位置,按下
如上图,当P[1]前面出现「@」的符号时,表示现在Robot的位置与P[1]相同。(或者非常接近P[1])
七、加入批注
前述的点位教导均是以「自动编号」方式表示不同的位置,当程序中有许多点位时,将难以理解该位置的意义,此时可将位置加入批注。
将光标移动到位置编号上,按,
如我们可使用P[1:Ready]來表示P[1]是准备位置、P[2:Get]來表示P[2]是抓取位置……等。
更多咨询:发那科机器人
- 下一篇:详解:发那科机器人的内存介绍!
- 上一篇:发那科FANUC机器人抓取程序案例