例。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