APP下载

基于大连光洋GNC60 系列数控系统的刀具磨削设计软件协同部署*

2015-04-23刘庆宏董大鹏刘静文张力刚

制造技术与机床 2015年2期
关键词:铣刀子程序数控系统

刘庆宏 董大鹏 刘静文 张力刚 刘 鑫

(大连光洋科技集团有限公司,辽宁 大连 116600)

1 GNC60 系列数控系统简介

该系列数控系统以国家“高档数控机床与基础制造装备”科技重大专项科(专项课题2009ZX04009-012)的成果GNC60 数控系统为基础,针对西门子840D 等国际一流数控系统功能特点,结合高档数控机床市场需求分析,逐步完善GNC60 数控系统功能而形成的系列产品,目前该系列包括GNC60、GNC61、GNC62 等产品。GNC60 系列数控系统重点开发五轴误差测量与补偿,针对车削、铣削、磨削加工的智能化GMDL 会话编程,以及伺服参数在线整定和各种约束条件的五轴插补、侧铣加工、实时防碰撞等功能、在已经实现的IEC61131-3 梯形图语言的基础上,扩展结构文本、ST 语言、IL 语言等编程方式,有力地支持了我国数控机床产业的技术进步和核心竞争力提升,是产业升级和产业结构调整的关键环节,为推动我国数控机床产业实现跨越式发展,为国家的战略经济安全提供稳定、可靠、先进的高档数控装备筑造了坚实的基础。

GNC 系列数控系统在进行构架之初,极具前瞻性地选择了IntelX86/X64CPU 体系结构作为硬件,并采用通用操作系统WindowsNT 系列操作系统作为软件基础平台,最大限度地保证了数控系统的通用性和开放性。

2 刀具设计软件GTOOL 简介

数控刀具磨削机床必须基于NC 程序进行刀具磨削加工,而由于刀具加工程序十分复杂,通常需要五轴联动加工,用户实际使用中不可能像传统三轴机床一样手动编写程序进行刀具加工。同时,由于刀具外型通常由若干参数约束,而不是像常规的复杂零件通过表面曲面的形式描述,并且在设计过程中需要经常修改这些约束参数,所以通用型CAM 软件的“导入模型-设置加工走刀轨迹策略-生成加工程序”的操作流程也不适合于刀具设计,加之通用CAM 软件生成的走刀轨迹具有一般性,也不适合刀具磨削。

因此,五轴刀具磨床必须得到配套的专用刀具磨削软件的支持,否则仅有五轴工具磨床并不能生产出合格的刀具。国际上成功的刀具磨削机床生产厂商,也都提供专用的刀具设计软件,而且一般封闭性极强,仅可用于自家机床,不可用于其他厂家的刀具磨床。国外刀具机床供应商对国内刀具生产商提供的刀具加工机床和刀具设计软件不仅价格偏高,而且进行了种种限制,严重制约了中国刀具设计生产技术的发展。综上所述,基于刀具产业对国家工业的重要性,研发可以进行多种刀具设计的刀具磨削软件势在必行。但由于刀具磨削软件技术难度大,涉及内容复杂,属于一种特殊的CAM 软件,具有一般CAM 软件的大型化、综合化等特点,软件开发工程量大,不仅需要开发单位拥有较强的代码设计组织能力,还需要大量的刀具加工工艺支持,以及较强的数学建模和数学模型求解能力。笔者公司看准这一市场需求,经过严密论证,组织人力物力开展了刀具设计软件的开发工作。该项工作于2012年起与株洲钻石切削刀具股份有限公司等单位合作,大连光洋科技集团有限公司作为主要参与方,主要负责刀具磨削机床的生产以及配套刀具设计软件的开发工作。

以此为项目背景,经过多年的潜心开发,目前大连光洋科技工程集团公司的刀具磨削设计软件——GTOOL 软件,已经可以支持常见的刀具类型,如圆柱平头铣刀、圆柱球头铣刀、圆柱倒圆铣刀、圆柱倒角铣刀、锥度平头铣刀、锥度球头铣刀、锥度倒角铣刀、锥度倒圆铣刀、麻花钻、直槽钻、阶梯钻、铰刀等类型刀具设计,并可以完成从刀具设计到仿真虚拟验证等工作。经评估,可以满足常用刀具设计生产要求,已经投放市场。

3 整合工作需求提出

用户公司用户计划采用我公司TG3515 系列五轴刀具磨床进行不间断连续加工生产,对此用户提出了一系列针对连续加工生产的特殊要求:

(1)刀具设计软件(GTOOL 软件)不仅要能够在刀具设计人员的电脑上运行,还必须可以运行在GNC数控系统硬件平台上,以保证车间现场工人可以随时方便地修改刀具设计参数或者砂轮参数,无需额外配置电脑,以提高生产效率。

(2)GNC60 系列数控系统要可以保证连续循环运行GTOOL 软件生成的刀具加工代码,通过自动上下料机械手的配合,实现刀具的不间断无人值守加工。

(3)刀具不间断加工过程中,可能出现砂轮磨损等情况,会影响刀具加工尺寸精度。需要在不间断加工运行过程中实时修改刀具尺寸或砂轮尺寸参数进行补偿,保证磨削加工的刀具尺寸精度始终在公差范围内。该修改过程不可以打断正常加工过程,即不许暂停或停止加工。修改的结果不可以影响当前正在加工的刀具(避免不同参数加工同一把刀,引起废刀),但一定要在之后下一把刀的加工过程中生效。

以上要求,直接影响用户对机床的评估,如果无法满足,则判定机床不合格,不予采购。而笔者公司的TG3515 系列刀具磨床,虽然配备了自动上料机械手,但之前未考虑到用户提出的连续加工要求。因此在接到用户的这一需求后,笔者公司相关团队考虑的是如何在最短的时间内从软件方面完成用户要求。

4 整合工作具体实现

分析用户的需求,我们充分利用了GNC 系列数控系统的硬件标准化、软件开放化的特征,采用综合统筹,逐个击破的方案,最终实现了用户的需求。

4.1 GTOOL 软件部署

用户需求最基本的一步是实现GTOOL 软件在GNC60 硬件环境下部署。这一需求在GTOOL 软件设计之初并没有提出,因此软件设计开发过程中并没有充分考虑该项需求。GTOOL 系列软件设计为可以运行于安装MicroSoft 公司的Windows 7 及以上操作系统的PC 硬件平台上。在此,得益于GNC 系列数控系统的硬件标准化和软件开放化的特性,GNC60 系列数控系统采用了Intel 的X64 构架工控机硬件作为系统基础硬件,并运行于Windows XP 系统之上。虽然WindowsXP 系统是Windows 7 系统之前的版本,但由于其均为MicroSoft 公司的NT 系列操作系统,具有一定的继承性。通过测试,GTOOL 软件的绝大部分模块可以直接兼容。少量不兼容模块,通过少量的修改后重新编译也可以兼容运行。因此本来应该是最艰难的第一步,刀具设计软件的跨平台部署工作仅数小时即可完成。

部署完成后,在GNC60 系列数控系统的硬件平台之上,软件部分的构架如图1 所示,GRTK 部分(gona real time kernel)为数控系统实时内核,其上运行着GNC 系列数控系统的实时任务,如运动控制、PLC 控制等;Window 环境下(非实时)运行着GNC 数控系统的非实时部分,如HMI 等,同时运行着GTOOL 软件。

4.2 刀具连续加工功能

GTOOL 软件的成功部署,保证了可以实现在线修改刀具参数并生成NC 程序,接下来需要解决用户提出的连续刀具加工问题。目前GTOOL 软件生成的NC程序,对应一把刀具的全部加工过程。因此,该项需求实际上是要求CNC 对某个NC 程序实现多次反复调用。在GNC 系列数控系统的框架下,这个需求可以通过若干方案解决,例如,可以通过在GTOOL 软件生成的NC 程序中加入循环指令的方式,也可以通过PLC程序实现同一个NC 程序的反复调用,或者通过另写1个主程序调用子程序的方式实现重复调用。这里,GNC60 系列数控系统为机床使用者提供了充分的选择余地,因此可以充分考虑其他方面的限制,做出选择。

4.3 程序更新生效

考虑到用户的进一步要求,需要在线修改刀具参数保证刀具精度,这一需求在GTOOL 软件成功部署在GNC60 平台下之后,变成了“对于GTOOL 软件生成的NC 程序,每次CNC 重新执行之前进行更新读取”的工作。对于不打断加工运行流程的前提下重新读取这一需求,综合考虑连续加工的可能方案,最终选择了主程序/子程序调用的方案,子程序为GTOOL 生成的刀具加工程序,由主程序负责循环调用子程序。因为GNC60 系列数控系统可以保证每次调用子程序,都会重新读取子程序,所以这个方案是需要额外工作最少就能实现连续加工、及时更新的方案。其他方案,如NC 程序中直接加入循环指令,或者PLC 进行重复的NC 程序调用,都需要额外做更多的工作。

此处的主程序NC 代码如下:

这里通过GNC 系列数控系统预留的宏参数(#变量),提供给用户输入连续加工的刀具数目,由于GNC60 系列数控系统对于NC 程序中嵌入宏编程语法的支持较好,主程序写完后可以不用修改,每次通过修改宏变量满足用户的不同控制需求。

4.4 线程互锁保护

至此,用户提出的需求基本已经完成。但这里还有1 个隐藏的问题需要解决。由于GNC 数控系统的NC 文件读取模块和GTOOL 软件是2 个独立的进程,都需要访问刀具加工NC 程序(GNC 数控系统是读取,GTOOL 设计软件是写入),因此该NC 程序文件属于多个线程共享的临界资源,需要加以保护,否则可能出现访问冲突,即GTOOL 软件在更新写入刀具加工NC程序的同时,GNC60 系列数控系统恰巧需要再次调用该子程序,进行读入工作,或者相反,数控系统读入尚未完成时,GTOOL 设计软件需要写入,都可能造成文件访问出错,出现软件出错停止加工,甚至数控系统读入NC 程序混乱导致严重事故。

虽然由于GNC 系列数控系统和GTOOL 软件都采用了一些策略减少冲突,例如数控系统方面采用了统一的快速读入NC 程序至缓存,之后释放对NC 程序文件所有权的方式读入NC 程序,缩短了CNC 读取NC程序的时间窗口;而GTOOL 软件也采取了先将每一道工序生成的文件写入缓存,全部工序计算完成后统一写入NC 文件的方式,缩短了写入NC 程序的时间窗口。但这些策略都不能从根本上解决问题,尤其是在生产车间7×24 h 连续运行的情况下。因此必须额外提供对于NC 程序的保护功能。

进程之间的资源保护,可以通过进程间的通信实现。通常Windows 环境下进程间通信有共享内存、socket、消息等方案,但考虑到稳定性和可靠性,尤其是考虑到GNC 系列数控系统部分内核运行在实时环境下,优先选择了共享内存。同样,得益于GNC60 系列数控系统的开放性,该系列数控系统提供了满足IEC1131 规定的5 种语言的软PLC 开发环境,并且具备基于PLC 的共享内存访问功能。通过PLC 与GTOOL 软件约定共享内存地址和含义,GTOOL 很快实现了与PLC 程序通过共享内存实现的资源互锁保护。经过测试和实际应用证明,该功能可靠有效,避免了NC 文件访问冲突,保证了GNC 数控系统与GTOOL刀具设计软件长期并行运行的稳定性。

5 结语

以上功能经用户确认满足要求,连续加工并在线修改刀具参数证明可靠有效,并已经签订供货合同。基于GNC60 系列数控系统的软硬件环境,笔者所在团队在大约两天的时间内完成了用户提出的复杂需求。利用GNC60 系列数控系统的开放性,深入挖掘其各项高级功能,在没有改动数控系统内核的情况下,应用其NC 程序的子函数调用、预定义的共享内存等功能,迅速提供了满足用户需求的解决方案。不仅保证了用户的生产效率,也充分验证了GNC 系列数控系统的开放性优势,更为GNC60 系列数控系统的拓展应用提供了1 个经过验证的样板方案。

[1]斯托林思.操作系统:精髓与设计原理[M].北京:机械工业出版社,2010.

[2]大连光洋.GNC60 系列数控系统编程手册[Z].2012.

猜你喜欢

铣刀子程序数控系统
铣刀盘的5轴数控加工
可转位面铣刀铣削力解析建模与实验研究
基于Pro/E的核电轮槽可换硬质合金精铣刀设计
基于FANUC 32i A数控系统的外部测量设计
西门子840D sl数控系统在SC125大型车铣镗床技术改造中的应用
基于FANUC Oi mate TD数控系统的手动功能开发
数控系统中GUI软件平台设计和实现
螺纹铣刀
浅谈子程序在数控车编程中的应用
子程序在数控车加工槽中的应用探索