- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
机器人编程
目录
一、选择和启动机器人程序
二、创建机器人程序
三、程序中添加指令
四、程序中的变量
五、程序中的逻辑
六、子程序和功能程序的数据处理
七、补充
一、选择和启动机器人程序
二、创建机器人程序
【Cell】:外部自动运行时的牵引程序(有且仅能存在一个)
【Expert】和【Modul】:用户程序(由SRC和DAT文件构成)
【Expert Submit】和【Submit】:后台程序
【Function】:功能模块程序
(用户:专家模式)
三、程序中添加指令
【联机表格】:
机器人已定义好的指令,仅需更改表格中的元素,就可实现运动和功能。
运动指令
逻辑指令
案列1:利用联机表格添加指令
【注意】:机器人编程不区分大小写
本机:复制程序
黏贴到虚拟机“C:\KRC\ROBOTER\KRC\R1\Program”
关闭重启虚拟机
如何往虚拟机导入程序
案列一(分析)
打开后,这些是什么?
变量
如果只输入联机表格的名称:PTP P1 CONT VEL=100% PDAT1
机器人不仅没动,还报编程错误的原因是:
机器人实际运行的是折合的变量和程序。
四、程序中的变量
变量的存储位置
【例】 DECL GLOBAL INT IPHONE_X
①
②
③
【注意】在DAT文件中:声明和初始化始终在一行
【注意】在SRC文件中:声明和初始化始终在两个独立的行中进行
4.1创建变量—简单的数据类型(INT、REAL、BOOL、CHAR)
DECL INT IPHONE
DECL
变量数据类型
变量名称
DECL INT X[10]
DECL REAL TD[20]
DECL BOOL ERROR[10]
案列2:具有简单数据类型和计数循环的数组
存储位置在Config.dat、machine.dat系统文件里。
系统变量总是以“$”开头,如输入信号 $ IN[1]。
1.系统变量—系统状态变量
2.系统变量—外部自动运行
3.系统变量—全部
(全部系统变量请查看资料《system cariables》)
$pos_act:当前位置
$vel_act:当前速度
$softn_end[ ]:轴的限位开关
4.2系统变量—已定义好的全局变量
案例3、利用系统变量编程
这些是什么?
位置数据的变量
(复杂数据类型的变量)
已有系统预设定的结构后,可直接进行位置变量的声明
DECL AXIS XP1
XP1={A1 20,A2 20,A3 20,A4 15,A5 30,A6 0}
对位置变量赋值
PTP XP1
运动到XP1位置
4.3系统结构—已定义好的复杂数据类型
绝对运动:
相对运动:
【注】详见《机器人编程2》第五章:用变量来运动编程
4.4创建复杂的数据类型—结构
流程控制
为什么用continue指令?
阻止预进停止,机器人动作流程顺畅
五、程序的流程控制
5.1 信号等待
5.2 时间等待
5.3 循环指令
六、子函数的数据传递
6.1创建局部子程序
6.2创建全局子程序
6.3将参数传递给子程序
案例4、建立函数传递的子程序
子程序 功能程序
主程序
DEF MY_PROG( )
DECL REAL S
S=1
CALC(S)
END
子程序
DEF CALC( NUM:OUT)
DECL REAL NUM
NUM=NUM+1
END
主程序
DEF MY_PROG( )
DECL REAL S
DECL INT R
S=1
R=CALC(S)
END
功能程序
DEFFCT INT CALC( NUM:OUT)
DECL INT M
DECL REAL NUM
NUM=NUM+1
M=300
RETURN(M)
ENDFCT
功能程序是一个会返回指定数据类型的全局子程序
6.4自定义功能程序
新建名为CALC的功能程序,返回值类型是REAL
在主程序中调用CALA功能程序
【案例5】建立功能程序
新建名为“CALC”功能程序,然后将返回数据类型改为REAL
在主程序中调用CALC功能程序
6.5系统自带的功能程序
怎么使用系统的功能程序?
【案例6】使用复杂的功能程序
DEF MY_PROG( )
DECL E6POS POS_1
DECL E6AXIS POS_2
DECL INT STATUS
POS_2={A1 30,A2 30,A3 20,A4 60,A5 10,A6 30}
STATUS=1
POS_1=FORWARD(POS_2, STATUS)
END
【目的】 坐标转换E6AXIS
文档评论(0)