工博士机器人技术有限公司是一家集研发、生产、销售、技术服务于一体的专注于自动化、智能化设备生产和机器人系统集成应用的科技型企业,与ABB、库卡KUKA、发那科FANUC、安川YASKAWA、欧地希OTC、川崎Kawasaki、遨博AUBO、现代HYUNDAI、电装DENSO、欧姆龙OMRON、爱普生EPSON等机器人公司签订了战略合作关系。
公司业务范围:
◆机器人本体及配套产品销售、机器人应用技术培训服务;
◆机器人在焊接、切割、搬运、激光技术、机床上下料、钣金折弯、锻造等领域的系统集成应用;
◆机器人变位机、导轨、防护工作房、焊接工装夹具等系统周边设备的设计和生产。
地址:上海市嘉定区南翔镇众仁路399号B座20楼2007室(王工:18616566200)
----------------------------------------------------------------------------------------------------------
01
参数传递
在TP程序中,使用CALL指令调用程序,在调用程序时,可以向被调用的程序传入参数,数据类型可以为 直接: 整型、字符串型、浮点型;间接 : R、SR、AR。
01 - 1 TP调用TP程序参数传递
允许两个TP程序间进行参数传递,在TP程序中的参数传递,使用CALL调用,并在程序名后加如括号"( )",里面可以放入要传入的参数,规则由左向右,依次为参数1,参数2,参数3.... 例如下面的调用情形,在MAIN程序中调用了MAKE_1子程序,并传入了参数: 1 和 间接R[3]寄存器的值,此时在MAKE_1子程序如果要使用传入的参数,需要用到AR寄存器,AR为局部变量,仅在使用的程序有效,AR[1] 代表个参数,AR[2]代表第二个参数,以此类推。
图 1-1 TP程序间的参数传递
CALL 程序名 (参数1,参数2,参数3,....)
参数1 对应 AR[1],参数2对应AR[2].....
调用参数:
光标移至程序名后面,选择
选择参数类型
传入参数,多个参数再次点击[选择]
参数寄存器使用:
指令 - 数值寄存器
AR寄存器只允许出现在赋值号右侧
支持的参数类型:
>>直接:
整型常量值: 123,234,66
浮点型常量值: 123.456,0.234
字符串常量值: 'hello','nihao'
>>间接:
R寄存器:CALL MAKE_1( R[1],R[3] )
SR寄存器: CALL MAKE_1( SR[1] )
参数寄存器: CALL MAKE_1( AR[1],AR[2] )
>>注意1:间接的参数类型,不能再进行间接指定,例如以下是错误的:
CALL MAKE_1( R[ AR[1] ] )
>>注意2:调用时的参数个数应当大于或等于参数寄存器的个数。
>>注意3:参数传递只允许使用CALL调用时进行传递。
>>注意4:参数寄存器赋值时与左侧必须参数类型一致。
>>注意5: 参数多支持30个
例如 在MAIN程序中,调用了MAKE_1子程序,并传入了两个参数,在MAKE_1中使用了来自MAIN主程序调用时传入的两个参数:
MAIN主程序
MAKE_1子程序
运行MAIN程序结果为:R[1] 寄存器被赋值为123,SR[1]寄存器被赋值为'Hello'。
01 - 2 TP调用KAREL程序参数传递
TP在传入KAREL的方法同TP与TP间的参数传递,但TP使用的是AR参数寄存器,而KAREL程序内使用GET_TPE_PRM内置程序,获取从TP程序CALL调用时传入的参数。
GET_TPE_PRM定义:
参数说明:
>>param_no :参数编号,支持10个参数
>>data_type :参数类型,返回从TP程序传入的参数类型,值为以下三个值
1 - INTEGER类型
2 - REAL 类型
3 - STRING 类型
>>int_value : 返回从TP中传入的整型(INTEGER)参数
>>real_value : 返回从TP中传入的浮点型(REAL)参数
>>str_value : 返回从TP中传入的字符串型(STRINGR)参数
>>注意1: TP传入参数的个数必须小于等于KAREL中的参数编号之和。
>>注意2: 每次使用GET_TPE_PRM,将重新赋值GET_TPE_PRM的参数表,除传回的类型参数外,其余都为空(INTEGER=0 ; REAL=0.0 ; STRING='')
参数传入:
调用时选择COLLECT
选择参数类型
传入参数,多个参数再次点击[选择]
例如MAIN主程序调用了KAREL程序 PARM_1并传入了三个参数:
CALL PARM_1(123,'TEST',234.5)
在KAREL中获取从TP传入的参数:
02
Arg参数“注记”文件
当拿到一个编写带有参数的TP或者KAREL程序,在进行程序调用时,我们并不知道每个参数是干什么的,因此可以使用“DT”格式的文件用于提示使用者,并可向用户提供一个弹出的菜单项供用户快速选择。系统仅支持7DC3 及以后版本,对于之前7DC2、7DA7或者更早的版本将不支持。
例如,在iRPickTool功能加载的KAREL程序:
文件存储格式:
ARGDISPEG01.DT 文件另存为格式为ANSI:
DT文件命名规则:
ARGDISPEG01.DT
>>其中ARG:argument 为参数的意思; DISP: display 显示的意思。
>>ARGDISP为系统程序在控制启动时自动检索的DT文件开头格式。
>>EG代表为语言为英文,经测试,即使示教器为中文,也必须使用英文(英语语言与中文语言通用,但必须包含中文词典才可在DT使用中文,否则乱码),否则将无法显示提示注记符号,以下为语言简写:
>>01代表参数文件编号,支持01 - 99,支持功能代号:
ARGDISPEGJ518.DT
DT文件的加载:
>>方式1:文件界面的加载 ,并进行重启,便可以使用参数提示功能。
>>方式2: CM命令的加载
参考以下CM命令加载,且也必须进行重启才对TX生效:
语法结构
>>{} :为注释,该注释的内容不参与程序指令中
>>[PROGRAM] : 程序名及参数个数设定
NAME="PROG_NAME" {双引号内为程序名}
ARGUMENT='5' {单引号内指定参数的数量}
>>[ARGUMENT] : 参数表,支持多30个参数
>>[ENDPROGRAM] : 单个程序的参数提示符结束标志。
参数表:
基本的写法为
「N(参数的种类)01(第几个参数)=(等号)"Pick Pos PR"(显示的参数的意思)」
参数的种类包含:N:常数、V:宏定义、S:字符串、W:字符串列表
N - 常数(传入参数类型为INTEGER、REAL)
只允许用户传入常数,并提示字符串:
N01="Pick Pos PR"
后加初始值的情况:
N01="Pick Pos PR1" : '100'
则在进行调用时,默认输入值为100:
发那科机器人
V - 宏定义(传入参数类型为INTEGER)
允许用户从上拉列表选择,传入值只能为整型,多个枚举值用","逗号隔开,一个参数多支持35个枚举。
V02="BLUE":'1',"GREEN":'2',"YELLOW":'3',"BLACK":'4',"None":'0'
发那科机器人维修
上述选择传入KAREL程序的参数2的值为 0
S - 字符串(传入参数类型为STRING)
允许用户传入字符串,并用字符串进行提示:
S04="Rotation VR"
后加初始值的情况:
S04="Rotation VR":"HELLO"
注意,这与常数的初始值不一样,字符串值使用双引号""包含。
W -字符串表(传入参数类型为STRING)
允许用户从上拉列表选择,传入值只能为字符串类型,多个枚举值用","隔开,一个参数多支持35个枚举。
W03="$KAREL_ENB","$APPLICATION[1]","None"
一个DT文件,支持1000个程序的注记,因此你可以按照语法结构进行多个程序设定:
系统变量TX控制显示(重启生效):
加载错误与对策:
我开始接广告了,为自己挣些零花钱。因此今天是次接到推广的广告,但不影响文章的发布,广告大概一个月去接一次。在文章发布过后一天,就可以把广告的文章删除啦,不影响后续阅读。现在做一个调研,麻烦动动手指来投个票吧 ^_^
更多咨询:发那科机器人
- 下一篇:发那科机器人回收
- 上一篇:FANUC发那科机器人维护保养的流程