集成化电火花小孔机数控系统设计与实现
2023-12-26化春键翟源康
周 洪 蒋 毅 化春键 翟源康
(江南大学机械工程学院,江苏 无锡 214000)
0 引言
电火花小孔机作为一种高频脉冲电源提供加工能量,加工过程中无宏观切削力的高精度、高效率机械加工设备,被广泛使用在导电材料加工、航空航天、精密制造、医疗设备等领域[1]。数控系统作为电火花小孔机核心之一,对电火花小孔机加工精度和稳定性有着十分重要的影响。最初的数控系统多采用硬件控制,随着计算机技术的迅速发展,现代数控系统已经发展到了可以实现完全数字控制的程度[2],最大限度提高了制造效率,降低了制造成本。
数控技术起源于国外,在电火花加工领域得到了广泛应用。日本、瑞士和美国等发达国家率先研发出以微处理器为核心的数控系统,提高了机床加工质量和效率,缩短了制造周期,降低了制造成本[3],三菱、沙迪克、瑞士Agie Charmilles等公司一直保持着在该领域的优势地位[4]。美国国家标准技术局为解决传统数控系统无法定义和扩展的问题,构建了全软件化的开放式数控系统[5],开放式数控系统极大地推动了电火花加工制造领域的发展,国内外学者也展开了相关改进研究。哥伦比亚大学Y. Altintas等人采用PC+DSP的结构开发了可编程的多轴数控系统[6],哈尔滨工业大学的刘英杰[7]基于Windows平台进行了慢走丝线切割机床的研究和研发,李志勇等人[8]对Linux平台下的电火花数控系统做了大量研究。
目前,国内数控技术在电火花线切割机床上得到了广泛应用,但整个电火花加工机床数控系统的研究应用却相对较少[9]。本文基于Linux开发平台,采用QT软件设计编写了电火花小孔机数控系统各功能模块,搭建了功能集成化的开放式电火花小孔机数控系统。
1 数控系统软件总体设计
数控系统由数据处理、通信和用户界面三个部分构成。根据电火花小孔机加工的特点和任务需求,本文将数据处理部分细分成G代码检查、插补运算、Z轴加工伺服运算和加工状态数据处理四个部分,与用户界面GUI任务和通信任务共形成六个软件任务,具体任务内容如表1所示。
表1 电火花小孔机数控系统软件任务分析与分类
1.1 数控系统软件架构
电火花小孔机数控系统的任务具有并行的特点,部分任务之间还需要进行高频率的通信,保证数控系统安全、稳定、高效运行。常见的多任务软件架构为多线程或多进程,但为避免多线程架构下任务并发执行导致资源竞争和死锁的问题,结合Linux系统下提供的丰富的进程间通信方式,本文将数控系统任务模块化,采用多进程的方式分块编写,对比进程间通信方式优劣,结合各个任务的特点,设计了效率最高的任务间通信方式,如图1所示。同时为了避免共享内存空间的争抢,使用信号量方式实现进程之间的数据同步,使用信号方式处理突发的中断事件。
1.2 数控软件运行流程
启动加工后,数控软件任务并非全部同时运行,如图2所示,率先运行的是GUI进程、通信进程和G代码检查进程,为加工人员提供人机交互GUI界面并获取此时机床实时位置等状态信息显示于GUI,提供加工代码的输入检查服务。加工人员在完成G代码检查后,编译执行G代码,此时G代码检查进程便会保存退出,通信进程将启动插补进程和加工状态监测进程,加工状态监测进程再启动Z轴加工伺服进程。虽然进程之间存在着唤醒的先后,但保证了加工时是同时运行、相互配合的,最大程度上节约了系统资源开销。
图2 软件任务启动流程
2 数控系统软件功能设计
2.1 数控指令集与G代码检查设计
通用数控程序指令不能满足小孔机的加工需求,如表2所示,通过对通用数控程序指令进行修改,添加新的指令,形成了符合电火花小孔机加工需求的特色数控指令集。其中G62命令是根据圆形阵列半径A和阵列个数C进行圆形阵列孔加工,G72命令是根据阵列X方向增量H和个数I与Y方向增量L和个数J进行矩形阵列孔加工。该指令集方便了加工人员对小孔加工路径的快速设计,减少了编程的重复性,提高了程序编写和加工的效率。
表2 小孔机修改和新增数控指令
在对数控程序进行加工信息提取之前,需要检查所编写的G代码是否符合相关规范,如表3所示,采用正则表达式的方式对加工人员输入的G代码进行词法、语法的分类检查[10],分类给出错误类型和错误代码,便于加工人员快速排除程序错误,提高效率。
表3 错误信息提示种类
2.2 插补方式
电火花小孔机的加工过程主要是孔的加工,除传统的直线插补、圆弧插补方式外,本文特别设计了加工孔时的螺旋插补,即采用螺旋路径进行孔的加工,如图3所示。螺旋加工可以使得电极磨损更加均匀,减小振动和噪声,降低电极损耗和加工成本,同时也能够加工与电极丝直径不同的通孔和铣削不同直径的定深孔。这将进一步拓宽小孔机的加工领域,提高小孔机的复杂加工能力。
图3 螺旋线轨迹
但螺旋插补运算涉及圆周运动和匀变速直线运动的同时进行,为简化计算,提高加工效率,如图4所示,根据加工所需精度将螺旋线分割成多个直线段,采用多条直线段近似代替的方法进行点的插补,在完成螺旋插补后,继续让电极丝采用相同的方法以打孔半径插补整圆,这样既能快速铣削孔内部的材料,还在减少计算量的前提下进一步提高了孔的加工精度。
图4 完整螺旋插补轨迹示意图
2.3 通信协议
通信进程与数控软件的其他任务通过共享内存等进程间的通信方式实现信息交换,除此之外,通信进程还需要与下位机进行通信。具体的通信协议结构如图5所示,通信信息的主要内容有G代码加工信息,包含了G代码解析的轴控制信息和开关量信息;GUI显示和加工信息,包含了手动控制X/Y/Z轴信息、手动开关量信息、放电参数信息和接收的反馈信息。综合考虑这些信息,将通信协议分成运动控制、手动控制、放电参数和反馈信号四类进行传输,分类传输保证了数据传输的完整性,减少了传输字节空间占用,避免了数据包不必要的过长。
图5 通信协议结构
3 仿真与实验
为了验证数控系统的可行性,如图6所示,在脱离加工状态下进行了数控系统部分功能的仿真测试,如G代码的检查、加工轨迹显示、机床状态信息获取等,并对其交互性进行了相关测试。
图6 GUI功能仿真测试
如图7所示,通过搭建电火花小孔加工平台,在厚度为0.5 mm的不锈钢板上,采用钨丝作为电极丝,非浸没加工直径为0.5 mm的通孔,验证电火花小孔机数控系统控制小孔机各模块进行协同加工的能力。加工过程及小孔加工结果如图8所示。
图7 电火花小孔加工平台
图8 小孔加工过程及结果
4 结束语
本文从传统电火花小孔机存在的问题入手,设计了一套电火花小孔机数控加工平台控制系统。对设计的数控系统进行了相关仿真测试,结果表明其具有良好的人机交互性,并通过加工实验验证了其良好的小孔加工能力,为集成化电火花数控系统的研发提供了一定的参考。
在未来的研究中还可继续丰富电火花小孔机的数控指令集,优化插补算法和通信协议格式,进一步提高小孔机的加工精度和效率。