文档介绍:S11项目编程培训
培训人:李科
一、KeStudio 文件下载
打开配置好的KeStudio文件,文件中机器人逻辑关系和PLC Configuration中硬件模块已经配置完成,只需要对PLC Configuration中的参数根据机器人情况进行修改;
PLC Configuration中的Robots选项中机器人杆件长度、工具坐标、加减速等参数需要配置;
驱动器基本参数和PID参数需要根据负载情况进行配置;
配置完成后,编译通过后下载到CF卡中。
二、原点和Running信号添加
\\\masterdisk\application\config\teachcontrol\ArtarmTX60L\;
。通过示教盒显示记录下机器人在原点的世界坐标系的XYZ的值,,修改WX、WY、WZ的值,此时值的大小是原点值的正负10,确保值在一个长度为10mm的正方体中。例如:机器人原点值X=1000,>=990,WX<=1010。
三、变量的建立
根据示教程序要求建立一个变量,在建立变量时注意变量的类型;
在建立输入输出变量后需要与下位机相关联,这个值根据S11_信号交互表所示中的RCE_UpdateDI和RCE_UpdateDO列中的数值一致。例如:建立了一个输出变量RobotMoving,需要与信号交互表列出的RCE_UpdateDO列中的显示的3,即输出口的第三个口相关联。
示教盒编程时必须要用到一些变量要与下位机的输入输出口相关联,在此就需要建立一些变量。
四、搬运main程序
CALL init() 在主程序一开始先将信号初始化
LABEL A
(TRUE) 等待PLC反馈会来的原点信号
WaitTime(300) 一个大周期循环完后等待300ms延时
(TRUE) 等待PLC发送的机器人启动信号
(TRUE) 等待PLC发送的车型信号
WAIT OR OR 等待发送的抓件、放件、服务信号
(TRUE) 再次等待启动信号防止误发送
IF THEN 如果是抓件,则调用抓件子程序
CALL grasp()
(TRUE, 200) 发送一个延时200ms的程序结束脉冲
END_IF
IF THEN 如果是取件,则调用取件子程序
CALL put()
(TRUE, 200) 在每个程序结束后都要发一个程序结束脉冲
END_IF
IF THEN 如果是服务,则调用服务子程序
CALL serve_program()
(TRUE, 200)
END_IF
GOTO A
六、抓件子程序
WaitTime(0) 每个子程序添加一个WaitTime(0),防止程序提前触发
CALL openclamp() 在走抓件子程序前调用夹爪打开子程序,必须确保夹爪是打开的
(TRUE) 在机器人走点前加一个机器人运动高电平信号
PTP(ap0, , or200) 点到点运动,增加overlap点使走点顺滑
……
Lin(cp0, vp5) 直线运动,增加了一个动态速度限制
CALL closeclamp() 走到抓件位置,调用闭合夹爪子程序
Lin(cp2, vp5, or50) 直线运动,同时增加了速度限制和走点连续
……
Lin(cp11, , or200)
WaitTime(0) 现在keba系统需要在输入输出信号前都要增加一个WaitTime(0),防止输入
输出点提前触发
(TRUE) 发送工作完成信号,工作完成信号需要在原点信号区域前发送
PTP(ap0, , or200) 走到原点
WaitTime(0)
(FALSE) 抓件点走完后将机器人运动置低
(FALSE) 工作完成信号置低
WaitTime(300)
七、放件子程序
放件子程序结构和抓件子程序相同;
八、夹爪动作子程序
1、210抓具闭合子程序
WaitTime(0)
WAIT AND
(TRUE)