线切割数控系统 CAM 功能开发
在第三章我们完成了 Windows CE 系统的的内核定制与软件移植,本实验室开发的 CAWEP 软件实现了从图形绘制、编辑到运动仿真、代码输出等功能,并未真正意义上实现线切割机床的控制,本章我们在已有软件的基础上,进行研究与开发,完善现有软件的 CAM 模块,软硬结合实现线切割机床的控制。
4.1 线切割 CAM 功能介绍
本文在完成了现有 Windows CE 的开发环境搭建与现有软件的移植,现有软件完成了 CAD/CAM 功能,要想实现线切割机床的智能与自动控制,我们必须从软件与硬件两个层面分别实现 CAM 功能。CAM 功能是指利用计算机辅助完成,从生产准备到产品制造整个过程的一系列活动,利用计算机将制造过程与生产设备相联系,进行制造过程的计划、管理以及对生产设备的控制与操作的运行,其软件控制系统中需要完成数据转换的功能,硬件部分与床身运动模块结合到一起完成机床运动控制的功能[44]。
线切割机床的 CAM 功能是嵌入式数控系统最重要的一部分。从软件层面描述,其是在工程图绘制、编辑完成的基础上,进行参数设置、轨迹生成、代码输出和加工仿真四步操作,将工程图进行图元编辑、轨迹偏移,插补运算运算之后,将图元信息转化为数控代码,是软件系统实现自动编程的关键。CAM 流程如图 4-1 所示。

在第二章本文详细分析了各个硬件模块,要从硬件层面实现 CAM 功能,既要完成机床工作台、走丝系统、工作液系统、电源系统这四个硬件模块的控制,其中走丝、工作液、电源系统的相关控制,都可以交予变频器完成,剩余最重要的部分就是工作台的控制。工作台控制关键是让步进电机拖动工作台运动,完成与电极丝的相对运动,运动轨迹既是设计的外形轮廓。
对于工作台的控制,在已有 CAM 模块的基础上,添加新的功能窗口,与已有的运动控制器其相结合,在厂家提供的库与部分代码的基础上,进行二次开发,实现对运动控制器的控制,使其将软件生成的加工信息,转化成步进驱动去所需要的脉冲信号与方向信号,并将信号输出,完成步进电机的运动控制。工作台控制的实现,是软硬结合的开发过程,是机床实现运动控制的关键,嵌入式端运动控制功能的实现过程,本章第三节将详细介绍运动控制实现的过程。
4.2 Windows CE 电火花嵌入式数控系统功能分析
所谓的嵌入式数控系统,其实质是将通用数控系统的功能,以嵌入式的方式实现,其应具备可实现从产品设计到生产转化一体的功能,系统本身又要满足嵌入式可定制的特点。而功能实现的关键是在硬件满足要求的前提下,将两者的优势相结合,作为开发者,我们需要从基础层面去分析与掌握两者的异同点。
数控系统是专用的计算机数字控制系统的简称,它是采用计算机实现数字程序控制的技术,这种技术是利用计算机的执行运算能力,将控制程序转化为运动件的运动轨迹,和对外设的操作时序逻辑控制功能。操作指令的存贮、运算、逻辑判断等各种控制机能均由计算机芯片与搭载的软件完成,配置对应接口电路,将生成的指令传送给执行元件带动设备运行,从而实现数控设备动作的控制[45]。嵌入式系统装置由嵌入式芯片(计算机系统)和外接控制接口组成,芯片运行的控制系统是整个嵌入式系统的核心,外接接口连接被控对象,使得被控对象可以接受芯片发出的控制指令,完成相应的的运动操作或规定任务。嵌入式数控系统结构框架如图 4-2
所示。

由以上可知,电火花线切割嵌入式数控系统,要将整个电火花加工过程模,拟到软件系统中,从图形绘制、编辑,电加工参数设置仿真,最后输出可直接用于加工指令,并将指令通过外接电路传输到硬件驱动设备上,完成加工运动,实现生产过程的智能化与自动化。本文使用移植的软件系统,实现了软件层面的大部分功能,要想使得嵌入式数控功能的运动控制功能的实现,其核心将软件层面的代码信息转化成相应的电信号,并能驱动电机运动,完成轨迹控制。
本文使用实验室自行开发与移植的 Windows CE 嵌入式端的电火花线切割作为主控软件,可以贴合实际控制要求,完成软件端的全部设计开发。本章实现线切割机床工作台的运动控制的嵌入式控制功能,从线切割实际加工需要出发,综合考虑软硬件的优缺点,实现良好的控制效果。
4.3 线切割 CAM 功能研发与实现
针对工业应用系统的软件设计,最重要的因素是运行稳定与运行效率高,MFC
契合工控系统的要求,基于 Windows CE 操作系统 CAWEP 软件的后续开发,本文是在 Visual Studio 2005 中搭建 Windows CE 的开发环境,在原软件移植的基础上,使用 MFC 基础类库,用 C/C++进行编写与开发应用程序框架,完成线切割系统的
CAM 功能模块。
4.3.1 机床运动控制分类分析
随着电子系统的功能愈发强大、完备,软硬件协同开发设计技术,越来越受到人们的重视,逐渐常态化,其在系统目标要求的指导下,综合分析系统软硬件功能及现有资源,充分发挥两者的优点,使其达到最佳的状态。要想设计工作台的运动控制系统,必须了解清楚机床工作台需要完成哪些运动,以及这些运动控制的实质。
笔者将线切割床身的运动大致归纳为以下种类:
1)回零与限位,回零与限位运动都是工作台的保护、定位运动,可以通过设置机械原点与限位开关的方式,完成这两种运动,一般机床床身都有这两种装置,要实现该种运动的控制,就需将原点与限位信号给到软件主控系统。
2)机床工作台运动可分为定长、定点、定速等运动模式,实现方式有点动方式与连续运动的方式,这些运动模式一般用于机床的测试,其实质是对步进电机控制的测试,要完成这些运动的控制,驱动层需要有良好的驱动代码储备。
3)机床工作台启停、加减速及切割运动,这三类运动是线切割机床运动控制的重难点,加工过程中,机床工作台启停,加减速与电极丝相对运动的切割运动,这些因素直接决定加工的质量。这些运动的完成,既是控制步进电机的启停、换向、加减速以及插补运动。
4.3.2 线切割软件 CAM 功能实现
在 VS2005 中使用 PB6.0 插件搭建好 Windows CE 的开发环境后,新建一个名为
CAWEP 的新项目,选 VC++智能设备中的中的 MFC 智能设备应用程序后,会弹出程序向导,在选择程序运行库函数平台 SDK 与程序类型后,在解决方案管理器中可以看到 CAWEP 项目,将现有的头文件,源文件,资源文件都复制到新建 CAWEP
项目中,修改部分 Windows CE 不兼容的函数后,之后可在 VS2005 中生成移植的软件,在菜单栏生成项目,即可生成文件。
生成结果成功后,可在 release 文件夹下,找到可执行的 CAWEP.EXE 文件,可将 CAWEP.EXE 文件烧写到运行 Windows CE 的开发板中运行。本文在搭建开发环境是安装了 CE 模拟器,只需将生成 CAWEP.EXE 文件部署到模拟器中,部署完毕之后,在菜单栏调试选项中,完成调试成功执行,就可以得到软件运行的实况模拟,在软件开发过程中时,使用模拟器模拟软件在硬件中的运行,是最好的调试与优化软件的方式,软件运行如图 4-3 所示。

在移植完成之后,对 CAM 功能进行开发之前,需要对 CAWEP 程序结构深入了解,并结合 VS2005 集成开发功能进行软件 CAM 功能的研发。熟练学习掌握
VS2005 的使用方法,以及良好的 C/C++语言知识,可帮助加快开发的进度。在资源视图中的 CAWEP.rc 文件夹下归类整理了 CAWEP 的各类资源:Dialog 文件夹其中包含了已有所有的对话框,可以查看各类定义与修改按钮功能,我们新添加的控制模块对话框,也在该文件夹下建立,可通过对应的对话框按钮,在源文件中找到相应的对话框定义,编辑开发代码;Menu 文件夹下是软件的主界面设计,及相关的预留接口,在软件主界面的预留接口下,嵌入所设计开发的模块,并完成定义,即可添加功能。图 4-4 为软件系统开发主界面。

在 VS2005 下的 Win CE6.0 开发环境中,添加新的 CAM 功能的流程是:先在
Menu 主界面下,找到对应接口并为接口命名,新建接口后完成相关的设置与定义,会生成新的类库与 MFC 框架,统一命名新生成函数的 IDD,在后续开发中,方便修改源码,更新与调试软件功能。在 Dialog 文件夹下可找到在新建的 MFC 框架,此时通过工具箱工具,设计想要的控制界面,双击控制组件可在源文件夹与头文件夹下生成对应的程序源码框,我们只需在源文件与头文件中针对不同的功能按钮进行开发即可。
上一节我们分析了机床运动类型控制的需求,对于回零与限位的控制,机床床身一般有限位开关与零点定位的传感器,只需将接入对应的硬件接口,即可完成对应的控制。定长、定点、定速等运动模式,都是控制机床 X 轴与 Y 轴以不同的方式运动距离,属于运动控制的检验与调试阶段,完成这些运动功能,是实现连续自动运动控制的首要一步,我们将测试功能作为一个独立界面,加到原有软件中,实现该部分的功能,称之为运动测试。
在主界面的 Menu 选项中,我们新建了一个名为打开连接的名为打开连接连接的按钮,并将生成的源文件命名为 MyOpenNet.cpp,建立了对应的 MFC 框架,新建 MFC 框架中每个按钮都在 MyOpenNet.cpp 中有定义,完成对应的功能开发即可。
针对测试功能界面,设计了如图 4-5 所示的控制界面,可在图示的输入窗口输入相关参数,完成运动功能的检测,本窗口界面实现了运动控制器连接,X-Y 运动检测及直线与圆弧插补运动检测的功能。

完成界面设计后,即可在对应源码文件下进行开发,将运动控制器支持的库文件,加载到 CAWEP 开发环境中中,即可使用库中所提供的 API 进行对应功能的开发。在加载库的过程中,路径的配置对应用程序软件的生成有一定的影响,在完成配置之后,即可开始对应功能的代码开发。指定两轴作相对位置圆弧插补函数
C45CE_rel_arc_move(u16 *axis,long*rel_pos,long *rel_cen, u16 arc_dir);,编写入口参数即可完成指定两轴的圆弧插补,功能实现源码如下图 4-6 所示。

运动控制器的函数库提供了常见运动功能的函数调用命令,我们选择调用 X-Y
轴的运动控制函数,直线圆弧插补函数,源码编译完成之后,点击生成按钮,即可生成可执行的 EXE 文件。在生成过程中,如果运动控制器的函数库是通过路径调用,最后执行的时候,要将 EXE 文件与函数库的 DLL 文件放在一个文件夹下,如果是将库文件加载到源文件中,生成的 EXE 文件即可执行,将生成的可执行文件加载到运行 Windows CE 系统的开发板中的实况如图 4-7 所示。

在完成运动检测模块的开发,对其进行验证之后,我们进一步完成线切割运动控制模块的开发。与运动侧测试不同,运动控制需要连续自动的运动,而不是点控的运动,开发该模块功能,我们需要了解软件的数据储存的原理及运动原理。步进电机接收到一个命令就运动一个固定的位移,所以想从软件内部实现真正的 CAM
功能,需要在完成工程图相关处理之后,将储存工程图信息的数据,给到运动控制函数,使得每一个对应的位置数据可以得到一个对应的运动。
软件在用户绘制、编辑完工程图纸之后,完成相关的设置,工程图的信息以圆弧或者线段的形态存在,并与其位置信息一同存储在 CTypedPtrlist 类中,我们需要使用的所有数据都在该类中。m_tracklist 是定义的一个全局变量链表,用来储存当前需要调用的数据信息,我们定义函数先找到数据链表的头位置,然后使用循环判断内部数据的类型(直线或是圆弧)和数据的数量(加工轨迹的条数),将最后判断的数据类型传递给硬件调用函数,即可完成数据的连续导入,从而完成运动的连续控制。图 4-8 为数据调用实现的部分代码。

将工程图纸生成的数据信息,连续且完整的调用给运动控制函数,使得运动可以连续完成,是实现自动化控制最关键的一步。本控制软件的功能实现,在硬件功能指引下,软硬结合开发出适宜于线切割机床的运动控制功能,从软件内部完成数据传,达到了从数据生成到加工运动的一体化,真正意义上是实现了电火花线切割机床的 CAM 功能。完成 CAM 功能代码的初步编辑之后,将生成的可执行文件烧写到控制主板下,控制系统在嵌入式平台上运行如图 4-9 所示。

4.4 本章小****结
本章完成了电火花线切割机床的 CAM 功能,实现了工作台运动控制的自动化。
我们软硬结合的角度出发,分析了先要完成真正意义上线切割自动化的功能需求;分析了软件层面需要实现的功能,及运动控制类型的分类;介绍了软件开发开发工具及开发流程;最后在硬件控制的需求下,完成了软件的开发,实现了线切割机床运动测试与运动控制,基本满足了自动化控制的需求。