本帖最后由 dstjs 于 2015-11-11 10:49 编辑
精简了,系统不能超过10000个字。有精继续分享。。。。
例。3.宏程序调用及刀库相关系统参数 本项目采用M指令的M06调用宏程序实现刀库的换刀控制。 介绍一种通过宏程序调用实现斗笠式刀库换刀控制的方法。刀库容量为16(装16把刀),利用伺服主轴电动机的内置编码器进行定向/准停。 有关PMC的I/O接口分配地址如表附9-1所示。 序号 | 地址 | 信号名称 | 说明 | 1 | X7.6 | 松刀到位 | | 2 | X7.7 | 紧刀到位 | | 3 | X10.0 | 刀库推出到位 | | 4 | X10.1 | 刀库退回到位 | | 5 | X10.3 | 刀库计数 | | 6 | X10.4 | 刀库原定/回零 | | 7 | X10.7 | 松刀 | | 8 | X10.5 | 刀库电动机过载 | 过载保护器触点 | | | | | 10 | Y6.0 | 刀库正转 | 通过继电器带动接触器线圈 | 11 | Y6.1 | 刀库反转 | 通过继电器带动接触器线圈 | 12 | Y6.5 | 松刀 | 通过继电器带动电磁阀 | 13 | Y7.6 | 刀库推出 | 通过继电器带动电磁阀 | 14 | Y6.6 | 三色灯(绿灯) | 通过继电器驱动 | 15 | Y6.7 | 三色灯(红灯) | 通过继电器驱动 | 16 | Y6.8 | 三色灯(黄灯) | 通过继电器驱动 |
3.1 指定调用宏程序的M代码值参数(PRM#6080~6089) PRM#6080~PRM#6089分别对应调用程序号为O9020~9029的宏程序所需的M代码值。当用“M06“调用O9023宏程序时,必须将PRM#6083设为“6”。本项目中的宏程序号为O9021,所以PRM#6081设置为“6”。 3.2 主轴准停位置设置参数(PRM#4031) 当刀库调整好后,将所测主轴准停的位置数据设置在参数PRM#4031中,参数PRM#4077(定向时停止位置偏移量)设为0。当执行完主轴准停指令(M19或手动主轴准停)后,NC输出的准停结束信号(F45.7)为“1”。 3.3 主轴定向速度参数(PRM#4038) 在执行M19或手动主轴准停指令时,主轴按参数PRM#4038所设定的运转速度进行准停定向。 3.4 换刀点设置参数(PRM#1241) 一般情况下,用第二参考点作为主轴换刀或还刀点。对于立式加工中心,一般只需将刀库调整好后所测的Z轴位置数据设置在参数PRM#1241中。 例中刀库容量为16。 % O9021 ;换刀宏(子)程序号 #23=#4003 ;保存米制或英制系统 #24=#4006 ;保存增量或绝对编程方式(G90、G91方式) G91 ;增量坐标编程 M05 ;主轴停止 G30P2Z0 ;至抓刀点(换刀点) M19 ;主轴准停 M26 ;刀号读取(判断刀库刀号与主轴刀号是否一致) IF[#1000EQ1]GOTO30 ;T码值≥17时退出换刀程序 IF[#1001EQ1]GOTO40 ;主轴刀号等于T码值时退出换刀程序 IF[#1002EQ1]GOTO50 ;T码值为0时退出换刀程序 M23 ;刀库推出 G04P500 ;停0.5秒 M25 ;松刀 G04P500 ;停0.5秒 G28Z0 ;至Z轴零点 M21 ;刀库转(刀盘旋转选刀) G30P2Z0 ;至抓刀点 M24 ;紧刀(抓刀) M22 ;刀库退回 GOTO100 ;换刀结束并返回 N30#3000=1(TOOL NOT FOUND) ;刀没找到报警 GOTO100 ;结束换刀并返回 N40#3000=2(TOOL NO. ON SPINDLE) ;主轴刀号已是需换刀刀号报警 GOTO100 ;结束换刀并返回 N50#3000=3(T CODE IS 0) ;换刀刀号为0报警 N100M05 ;主轴停转 G#23 ;恢复到主程序的米、英制系统 G#24 ;恢复至主程序的增量或绝对编程系统 M99 ;返回主程序 % 从程序中可以看出,M19为主轴准停指令,M20为刀库回零指令,M21为选刀(刀库转)指令,M22为刀库退回指令,M23为刀库推出指令,M24为紧刀指令,M25为松刀指令,M26为刀号读取指令。 5.PMC控制程 图附9-2 刀库控制的PMC程序-1 图附9-3 刀库控制的PMC程序-2
图附9-4 刀库控制的PMC程序-3
图附9-5 刀库控制的PMC程序-4
图附9-6 刀库控制的PMC程序-5 file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps37B.tmp.jpg 图附9-7 刀库控制的PMC程序-6
|