如何编写Fanuc机器人程序!
PLC全套学习资料,参与就有!还有全套KUKA!
限时下载|ABB、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]是抓取位置……等。
-------End-------
FANUC发那科工业机器人KAREL程序的调试方法
记得关注我们哦~
本文章已经由维权骑士进行版权登记,原创不易,还望多多支持!
教师节快乐
首先祝所有的同行们:教师节快乐!
今天的我们没有放假,依然战斗在教学的第一线,或许这样是对教师节最好的献礼,信息化时代的我们开始了混合式教学,也会让更多人感受到教学改革的成果,我们将继续以一个教师的身份站好这一班岗!在今天即将结束的时候,用这样一篇文章来祝贺属于这一特殊行业的节日吧!
程序的调试
所有的程序员都是在不断处理各种bug的过程中成长起来的,对程序一遍遍得调试、检查,是一个程序员成长的必经过程。对于KAREL程序而言,是不能在示教器上进行查看,有过嵌入式调试或者大数据处理的人可能会习以为常,但是对于机器人行业的小白,如果只是接触过PLC梯形图编程,在使用KAREL编程的时候会出现各种不适应,那对于这种有点黑盒性质的程序该如何检查呢?
KAREL程序的调试方法主要有三种方式,分别是WRITE输出、查看KAREL变量以及单步调试。
KAREL程序打印输出
KAREL语言中的输出与其他语言的输出在原理和操作上基本相同,只是所使用的函数名称有所不同,WRITE输出方式是最经典的方式,其可以将程序的执行过程全部输出打印从而帮助工程师调试程序。
KAREL语言中进行用户界面输出所使用的函数是WRITE函数 ,其中file_var 代表的是串行设备或者是文件,可以利用write函数将数据输出到屏幕,或者写入文件。其中file_var是用单书名号表示的,在编写函数时可以不写,默认情况下就是用户界面TPDISPLAY ,如果需要写入文件则此处需要写入文件路径。而data_item 就是所需要输出或者写入的数据,可以是字符串或者数值,如果是需要同时输出多个变量,使用逗号 将其进行区分即可;
利用WRITE函数就可以将当前所执行的KAREL程序函数输出到用户界面上,通过输出信息来进行调试程序是常规方法之一。
查看KAREL变量
第二种常见的方法就是通过观察KAREL变量方式,但这种方法只针对于KAREL程序中的全局变量有效,局部变量是无法看到 。
在了解如何查看KAREL变量之前,需要首先对KAREL中的存储类型有所了解。KAREL语言中主要有CONST和VAR这两种类型,还有一种TYPE类型后面再做介绍,其中CONST 顾名思义,就是运行过程中不会发生变化的量 ,所以其在定义时就需要进行赋值 ;相对应的VAR就是程序运行时可以变化的量 ,也就是变量,不同于Python,其在定义时就需要指定其文件类型 。
相对于其他的语言,除了常见的整形、布尔和实数外,对工业机器人的位置还有两种比较特殊的位置变量,分别是XYZWPR和JOINTPOS6用于存储位置信息的变量。在这几种变量当中,整型、布尔和实数可以设置为列表,而且KAREL也是支持多维列表 ,或者又称之为多维数组。
至于可以设置多少个变量,只跟机器人的内存大小有关,但有一点一定要注意,就是变量一定是先定义后使用 !
查看方式也比较容易,按下DATA按键后,选择F1查看KAREL变量就可以了,该方法适用于检测变量的变化。
单步调试
最后一种方法就是单步调试,其实这个方法在之前机器人点动环节中就使用过多次,只是如果想针对KAREL进行调试,就需要单独进行设置。
设置方式也比较简单,按下MENU键,选择试运行后,选择第三项单步命令执行方式中的每个命令 即可,使用该方式可以实现对KAREL程序的单步运行,从而进行程序调试。
课程小结
本次课程讲解了KAREL程序调试的三种基本方法,可以根据实际情况选择不同的调试方式,同时对KAREL程序的变量类型进行了讲解,更多的相关内容请关注我们,同时也感谢您的支持~
请一定先关注我们哦~有您的支持,我们才能走得更远~
相关问答
发那科导出PLC参数步骤?
发那科导出PLC参数的步骤如下:1.连接到发那科机器人控制器:使用以太网或串口连接到机器人控制器。2.打开FANUCrobotteachpendant:在机器人控制...
如何修改fanuc-0mPLC参数?
修改fanuc-0mPLC参数:MDI方式OFF/SETTING的设置画面参数写入设1(可写)SYSTEM的参数画面输入参数号执行NO检索找到参数修改参数...修改fanuc-0m...
如何修改fanuc-0mPLC参数?
修改fanuc-0mPLC参数:MDI方式OFF/SETTING的设置画面参数写入设1(可写)SYSTEM的参数画面输入参数号执行NO检索找到参数修改参数...修改fanuc-0m...
发那科plc导入系统的方法?
该发那科plc导入系统的方法如下:1、将存储卡插入计算机,打开FAAPTLADDERⅢ程序,建立一个新程序。NewProgram窗口下,选择程序位置,命名,PMCType,选择...
发那科数控机床控制系统怎么和电气控制柜中的plc通讯通讯?
有两种硬线连接方式:1)间接方式,DCS的DI/DO硬线直接接入PLC,通过PLC实现对电动机的启停控制。2)直接控制,电动机的已起、已停等反馈信号直接从就地盘的接...
FANUC与三菱系统PLC参数?
FANUC和三菱电机PLC具有不同的参数,主要体现在功能、通信协议和编程语言等方面。FANUCPLC擅长运动控制,提供强大的运动指令集和高精度的运动控制能力。其常...
发那科PLC开关怎么设置?
发那科PLC开关的设置可以通过编程实现。首先,需要在PLC的编程软件中创建一个开关变量,并为其分配一个适当的数据类型。接下来,可以使用逻辑函数或者条件语句...
发那科机器人与plc如何信号交互?
发那科机器人与PLC的信号交互主要通过通信接口和协议实现。发那科机器人通常支持以太网通信,并使用标准的TCP/IP协议进行数据传输。而PLC根据具体型号和厂家,...
谁知道FANUC系统如何改语言啊?
将PLC梯形图用编程软件传出到个人计算机中进行编辑修改,之后重新传入数控系统中。注意事项:1、RS232C参数设置必须正确2、更改PLC后需要编译,确保程序正确,...
给个FANUC加工中心镗孔程序实例?
FANUC指令用于精镗孔加工。镗削至孔底时,主轴停止在定向位置上,即准停,再使刀尖偏移离开加工表面,然后再退刀。这样可以高精度、高效率地完成孔加工而不损伤...