资源描述
S11项目编程培训,培训人:李科,一、KeStudio 文件下载,打开配置好的KeStudio文件,文件中机器人逻辑关系和PLC Configuration中硬件模块已经配置完成,只需要对PLC Configuration中的参数根据机器人情况进行修改; PLC Configuration中的Robots选项中机器人杆件长度、工具坐标、加减速等参数需要配置; 驱动器基本参数和PID参数需要根据负载情况进行配置; 配置完成后,编译通过后下载到CF卡中。,二、原点和Running信号添加,将Running.tta和origin.ttp文件放置到192.168.1.103masterdiskapplicationconfigteachcontrolArtarmTX60L_GLOBAL.TT目录下; 修改origin.ttp文件中机器人位置的值。通过示教盒显示记录下机器人在原点的世界坐标系的XYZ的值,打开origin.ttp文件,修改WX、WY、WZ的值,此时值的大小是原点值的正负10,确保值在一个长度为10mm的正方体中。例如:机器人原点值X=1000,则修改后origin.ttp文件中WX=990,WX=1010。,三、变量的建立,根据示教程序要求建立一个变量,在建立变量时注意变量的类型; 在建立输入输出变量后需要与下位机相关联,这个值根据S11_信号交互表所示中的RCE_UpdateDI和RCE_UpdateDO列中的数值一致。例如:建立了一个输出变量RobotMoving,需要与信号交互表列出的RCE_UpdateDO列中的显示的3,即输出口的第三个口相关联。,示教盒编程时必须要用到一些变量要与下位机的输入输出口相关联,在此就需要建立一些变量。,四、搬运main程序,CALL init() 在主程序一开始先将信号初始化 LABEL A Origin_Permit.Wait(TRUE) 等待PLC反馈会来的原点信号 WaitTime(300) 一个大周期循环完后等待300ms延时 PLC_Start.Wait(TRUE) 等待PLC发送的机器人启动信号 S11_1.Wait(TRUE) 等待PLC发送的车型信号 WAIT Grasp.port OR Put.port OR Serve.port 等待发送的抓件、放件、服务信号 PLC_Start.Wait(TRUE) 再次等待启动信号防止误发送 IF Grasp.port THEN 如果是抓件,则调用抓件子程序 CALL grasp() Program_End.Pulse(TRUE, 200) 发送一个延时200ms的程序结束脉冲 END_IF IF Put.port THEN 如果是取件,则调用取件子程序 CALL put() Program_End.Pulse(TRUE, 200) 在每个程序结束后都要发一个程序结束脉冲 END_IF IF Serve.port THEN 如果是服务,则调用服务子程序 CALL serve_program() Program_End.Pulse(TRUE, 200) END_IF GOTO A,六、抓件子程序,WaitTime(0) 每个子程序添加一个WaitTime(0),防止程序提前触发 CALL openclamp() 在走抓件子程序前调用夹爪打开子程序,必须确保夹爪是打开的 RobotMoving.Set(TRUE) 在机器人走点前加一个机器人运动高电平信号 PTP(ap0, , or200) 点到点运动,增加overlap点使走点顺滑 Lin(cp0, vp5) 直线运动,增加了一个动态速度限制 CALL closeclamp() 走到抓件位置,调用闭合夹爪子程序 Lin(cp2, vp5, or50) 直线运动,同时增加了速度限制和走点连续 Lin(cp11, , or200) WaitTime(0) 现在keba系统需要在输入输出信号前都要增加一个WaitTime(0),防止输入 输出点提前触发 TaskDone.Set(TRUE) 发送工作完成信号,工作完成信号需要在原点信号区域前发送 PTP(ap0, , or200) 走到原点 WaitTime(0) RobotMoving.Set(FALSE) 抓件点走完后将机器人运动置低 TaskDone.Set(FALSE) 工作完成信号置低 WaitTime(300),七、放件子程序,放件子程序结构和抓件子程序相同;,八、夹爪动作子程序,1、210抓具闭合子程序 WaitTime(0) WAIT Sensor1.port AND Sensor2.port Clamp1Close.Set(TRUE) Clamp1ClosePos.Wait(TRUE) Clamp2ClosePos.Wait(TRUE Clamp3ClosePos.Wait(TRUE) Clamp4ClosePos.Wait(TRUE) Clamp1Close.Set(FALSE) WAIT Sensor1.port AND Sensor2.port,165与210搬运的夹爪不同,165的有5个气缸,210的有4气缸。165的气缸打开闭合分别通过两个输出信号控制,在闭合时同时闭合,而打开时需要一号气缸打开到位后再打开其他四个。210的气缸打开闭合分别通过一个信号控制。 闭合时两个接近开关必须得先检测到工件才能发送闭合信号,在闭合完成后再检测下工件以确认抓到了工件。 抓具气缸具有自锁功能,在发送闭合高电平后,等到到位信号后将闭合信号置低即可。,WaitTime(0) Clamp1Open.Set(TRUE) Clamp1OpenPos.Wait(TRUE) Clamp2OpenPos.Wait(TRUE) Clamp3OpenPos.Wait(TRUE) Clamp4OpenPos.Wait(TRUE) Clamp1Open.Set(FALSE),2、210抓具打开子程序,抓具打开子程序与闭合子程序基本相同,只是不必检测2个接近开关的信号。,九、互锁信号添加,WaitTime(0) 输出信号前加WaitTime(0) 防止提前触发 Request1.Set(TRUE) 请求进入互锁区1 Response1.Wait(TRUE) 等待PLC发送过来的另外一台的响应信号,即另外 一台不在干涉区 Request1.Set(FALSE) 等到响应后,请求置低 Lock1.Set(FALSE) 要进互锁区时发送进互锁区的信号,互锁 有效信号是低电平有效 WaitTime(0) Lock1.Set(TRUE) 出互锁区将互锁信号解除,机器人之间的互锁信号发送给PLC,PLC将一台的信号进行处理后发送给另外一台。两条机器人间的互锁信号的命名没有关联。,十、初始化子程序,将所有的需要最开始的输出信号进行初始化,放在main循环的开始,只要机器人程序一开始运行扫描就会执行。如果机器人中间有故障返回原点后可以手动运行一遍初始化程序确保信号不会混乱。 RobotMoving.Set(FALSE) TaskDone.Set(FALSE) request1.Set(FALSE) request2.Set(FALSE) request3.Set(FALSE) request4.Set(FALSE) lock1.Set(TRUE) lock2.Set(TRUE) lock3.Set(TRUE) lock4.Set(TRUE),结 束,
展开阅读全文