高效稳定的六轴机械手程序:信捷XD5和威纶触摸屏编写,成熟可靠且具有借鉴价值高,附带详尽注释
六轴机械手程序 用信捷XD5和威纶触摸屏编写。 此程序已经实际设备上批量应用程序成熟可靠借鉴价值高程序有注释。最近在车间摸鱼的时候翻到一个挺有意思的六轴机械手项目用的是信捷XD5 PLC配威纶TK8071iQ触摸屏。这玩意儿已经在十几台设备上跑了大半年没出过幺蛾子程序注释写得比小说还详细适合拿来当模板用。先说说硬件架构。六个伺服轴全挂在XD5本体脉冲输出口Y0-Y5分别对应1-6轴原点信号接在X0-X5。威纶屏通过COM2口和PLC做数据交互关键参数都做了掉电保持设备重启也不用重新设置。原点回归程序写得有点讲究看这段代码//轴1原点回归 RST M0 //复位运行标志 MOV K3 D200 //回归速度300mm/s ZRN D200 X0 Y0 //执行原点回归 WAIT M8029 //等待完成信号 MOV K0 D50 //到位后偏移量清零这里用到了信捷特有的ZRN指令D200存回归速度X0是原点传感器Y0对应脉冲输出口。注意最后那个D50清零操作之前调试的时候有遇到过累计误差问题加上这个偏移量补偿才搞定。运动控制部分用了批量示教点位触摸屏上存了30组预设坐标MOV U0 D100 //读取HMI选择的点位编号 * D100 K6 D200 //计算数据偏移量每个点位6个轴数据 MOV D200 D0 //传输到D0-D5寄存器 DRV D0 D1 D2 D3 D4 D5 //六轴联动执行这里用到了变址寄存器批量搬运数据*指令做乘法偏移贼方便。之前试过用FOR循环搬运结果执行时间多了20ms流水线上直接翻车...六轴机械手程序 用信捷XD5和威纶触摸屏编写。 此程序已经实际设备上批量应用程序成熟可靠借鉴价值高程序有注释。触摸屏这边做了个挺骚的操作用宏指令实现防呆macro_command main() //检查坐标是否超限 if (GetData(a1_pos, XD5, D100, 1) 3000) then SetData(1, Local HMI, LB0, 1) PlaySound(error.wav) endif end macro这个实时坐标监控功能救了老命了新员工乱输参数也不会撞机。注意用PlaySound要提前把音频文件塞进触摸屏的存储器文件名别带中文。通信部分有个坑得注意威纶屏的数值元件默认是16位整数处理32位数据时要勾选32-bit Data选项。之前有次位置数据溢出机械手直接来了段街舞吓得操作工差点按急停。调试时最实用的还是这个状态监控程序MOV K4 D500 //心跳间隔4秒 DHTIMER D500 M100 //定时器触发 MOV M100 D501 //心跳信号 MOV Y0 D502 //脉冲输出状态 MOV M8029 D503 //完成标志位这几个寄存器接到触摸屏的指示灯元件设备卡在哪个步骤一目了然。有次夜班维修靠这个五分钟就定位到是4号轴驱动器过热报警。程序里还藏了个彩蛋在HMI连续点击版本号五次会弹出高级参数设置界面。别问我怎么知道的厂家工程师喝大了自己说的...其实注释里写着呢但没几个人看完三万行注释
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2437976.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!