基于Windows98的铣削力数据处理软件的设计

   2018-05-25 57
核心提示:[db:简介]
摘要:采用正交回归法和Visual C++ 6.0语言开发了基于Windows98环境的铣削力试验数据处理软件,介绍了软件系统的设计原理、各子系统模块的功能及其实现方法,并通过40MnV非调质钢的铣削力试验验证了该软件的使用性能。

1 引言

铣削是应用广泛的切削加工方法。对铣削力进行测试和研究,可为新材料、新刀具和新工艺的开发与应用提供科学的理论依据和合理的加工参数。但是,铣削力试验数据的处理过程烦琐,计算量大,采用手工数据处理极易出错,且得出的经验公式精度不高。随着工控机主频和内存容量的不断提高,开发适合现场使用、自动化程度较高的铣削力试验数据处理软件已成为铣削力试验研究的必然要求。为此,我们选用Visual C++ 6.0作为编程工具,采用正交设计原理设计试验方案,开发了基于Windows 98的铣削力试验数据处理软件。该软件采用多元回归分析法对测试数据进行处理,可实时计算出多因素铣削力经验公式中反映铣削力与工艺参数之间关系的系数和指数,并可在试验现场进行回归方程的显著性检验和失拟检验。

2 铣削力试验数据处理原理与步骤

  1. 回归方程的建立
    由金属切削原理可知,铣削力与铣削用量的经验公式为 Fe/z=CFeaek1 d0k2 fzk3 apk4(1)式中:Fe——铣削力在横向进给方向上的分力(N)
    z——铣刀齿数
    CFe——Fe铣削分力公式的系数
    ae——铣削宽度(mm)
    d0——铣刀直径(mm)
    fz——每齿进给量(mm/z)
    ap——铣削深度(mm)
    k1、k2、k3、k4——待定参数
    将式(1)两边取对数,可得
    ln(Fe/z)=lnCFe+k1lnae+k2lnd0+k3lnfz+k4lnap
    设:y=ln(Fe/z),k=lnCFe,z1=lnae,z2=lnd0,z3=lnfz,z4=lnap。可得方程式
    y=k+k1z1+k2z2+k3z3+k4z4
    此方程为y对z1、z2、z3、z4的线性方程,可利用多元线性回归分析法进行处理。若进行N次试验,则第i次试验的数据为yi、z1i、z2i、z3i、z4i( i=1,2,…,N)。
    设k^、k^1、k^2、k^3、k^ 4分别为参数k、k1、k2、k3、k4的最小二乘估计,则上式的回归方程为 y^=k^+k^1 z1+k^2z2+k^3z3+k^4z4(2)
  2. 各因素水平确定与编码
    若上述四个因素的变化范围分别为aemin~aemax、d0min~d0max、fzmax~fzmin、apmin~apmax,通过线性变换,可用不同的无量纲编码代替因素的不同水平,以简化计算。设因素的上下水平为zjmax、zjmin;零水平为zj0=(zjmax+zjmin)/2;变化区间为j=(zjmax-zjmin)/2,则相应的无量纲编码为xj=(zj-zj0)/j。这样就建立了因素zj与编码值xj的一一对应关系,因此,y对z1、z2、z3、z4的回归问题即转化为y对x1、x2、x3、x4的回归问题。式(2)经编码整理后为 y^=b0+b1 x1+b2 x2+b3 x3+b4 x4(3)
  3. 回归系数的计算
    采用最小二乘法确定式(3)中的系数b0、b1、b2、b3、b4。首先,使公式Q=∑a(ya-y^a)2=∑a(ya-b0-b1xa1-b2xa2-b3xa3-b4xa4)2为最小,然后对b0、b1、b2、b3、b4分别求一阶偏导数并令其等于零,可得一线性方程组,解之即可求得回归系数。为减少试验次数,选用L8(27)正交表。根据正交性原理,上述线性方程的系数矩阵中除对角线元素外,其它元素均应为零。故回归系数为
    b0=∑aya/N=B0/N
    bj=∑axajya/∑aajx2=Bj/dj
    由此可对回归方程式(3)求解。然后将xj值代入式(3)并取反对数,即可求得所需数学模型。
  4. 回归方程的检验
    由于线性回归模型采用逼近算法得出,存在逼近误差,因此在求出线性回归方程后,还需对其进行统计检验。本软件可对回归方程进行显著性检验和失拟检验。

3 软件的设计


    图1 对象模型图
  1. 对象模型图
    铣削力试验数据处理软件的对象模型如图1所示。
  2. 软件功能设计及实现
    铣削力试验数据处理软件系统主要由以下具有特定功能的子系统构成:
    1. 文件操作子系统
      文件操作子系统具有新建、打开、保存、删除文件四项功能。由于软件系统需要保存的数据较多,为便于管理,借鉴了VC++中建立工程文件的方式,为每次新建的试验项目均建立一个项目文件夹,所有与该次试验相关的数据均按类存放于该文件夹中。当需要打开以前建立的试验项目时,只需在打开的对话框中点击该试验项目文件夹下与其同名的文件即可,该文件是一个虚文件,只起提供数据保存路径的作用,实际数据均保存于项目文件夹中的data文件夹下。data 文件夹中存储的文件内容包括试验材料的名称、数量及处理顺序编号;各种材料对应的经验公式中的系数和指数;各因素水平值和各种刀具齿数;每种材料在处理过程中需要保存的数据等。新建、打开和保存文件这三项功能分别由函数onNew()、onOpen()和onSave()来实现。
    2. 试验条件子系统
      试验条件子系统的主要功能有:①输入试件名称及各因素的上下水平,检查合法后自动产生零水平并予以保存;②输入、保存试验所用3 把铣刀对应的铣刀齿数;③随时添加、删除和保存参与试验的材料名称。
      上述功能由CTestCondition 类实现。为在图形控件中输入各因素水平值,从CStatic 类继承出一个子类CtestRequire。通过单击鼠标左键,在该继承类的消息响应函数onLButtonDown()中加入自编的网格控件代码,可在输入和编辑记录位置动态地产生编辑框,待用户输入完成后,自动销毁编辑框并保存数据。具体实现方法是通过读取鼠标在图形控件中单击位置的坐标,用“if…else”语句实现不同的坐标对应不同的条件代码,即可将在不同位置输入的数据传送到对应的数据存储单元中,同时自编的网格控件可保证软件的稳定性和安全性。
      系统采用左右互移方式添加或删除试件材料名称。用户单击“移入> >”键,对应的消息响应函数代码即可获取备选材料组合框中的字符串,并将其添加到试件材料列表框。当单击“移出< <”键时,则可从试件材料列表框中删除所选项目。整个操作由单击“移入> >”、“移出< <”键时激发的BNCLICKED消息完成。传送数据由结构体MaterialProperty 的字符串列表成员CStringListmaterial 实现。
    3. 试验设计子系统
      试验设计子系统构成该软件的主窗口界面,分布着所有功能按钮、试件材料组合框和铣削分力组合框,并使各子系统之间协同工作。同时它也是显示试验计划表、调入采集的铣削力数据和显示回归方程系数的窗口载体。子系统功能由主窗口类CMillingDlg 实现。
      每个按钮对应一个消息响应函数,包括新建onNew()、打开onOpen()、保存onSave()、打印onPrint()、退出onQuit()、调入数据onCallData()、数据处理onDataHandle()、经验公式onExperienceFormula()、显著性检验onSignificanceLevel()和失拟检验onMatchCapability()。
      主窗口类中的数据显示由试验设计类(CTestDesign)承担,它继承自静态类CStatic,具有如下功能:①将试验条件类(CTestCondition)中输入的试件名称及各因素水平值传递到该类并显示;②选择试验材料,调入对应的试验数据并显示;③在手工输入数据模式下可方便地编辑力值数据,进行输入数据的合法性检查;④将数据处理得到的回归方程系数传递到该类并显示。
      由于在CTestDesign 中需引用CMillingDlg 的成员数组level[12],而CmillingDlg 又是CTestDesign 的父类,因此需要在该类中获得父类指针,其代码为(CMillingDlg*)pMillingDlg=(CMillingDlg*)(this-> GetParent()),其中pMillingDlg 是所要获得的父类指针,因此用代码pMillingDlg->level[i]即可方便地访问其中任意一个元素,这是类间数据传递的一种有效方法。
      本软件实现了输入试件名称等相关信息的共享。当在试验条件对话框中输入完各因素水平值并退出后,主窗口中原来显示的编码值(1,-1,0)即被实际值所替代和显示,因此便于在试验现场进行数据处理。
    4. 数据处理子系统
      数据处理子系统采用正交回归算法处理铣削力试验数据,具有如下功能:①从文件调入(或手工输入)试验数据并进行合法性检验;②用回归分析法对铣削力数据进行处理,求得回归方程的系数;③对回归方程进行显著性检验;④对回归方程进行失拟检验;⑤求解各种试验材料的经验公式。
      定义了材料属性类CMaterialProperty,将每种试验材料实例化为该类的一个对象,并将调入的试验数据经处理后得到的中间结果和最终结果(包括回归方程的系数bj、经验公式指数ki、显著性水平、总偏差平方和、回归偏差平方和、剩余偏差平方和、各因素的F值、回归方程的F值、失拟检验用的t值等)寄存在该对象中,待系统需要时调用。
      采用MFC提供的串行化(Serialize)存储方式将数据从内存变量保存到硬盘上。在类中重载自己的Serialize()函数,当需要存储或读取数据时,可直接在程序中调用Serialize()函数;数据处理和检验由函数onDataHandle()完成;由回归系数求解经验公式的指数是将经验公式变换为线性回归方程的逆过程,由函数onExperienceFormula()实现;经验公式的生成和显示由CExperienceExpress 类实现;显著性检验和失拟检验结果的产生和显示由CSignificanceLevel类和CMatchCapability 类实现,为适应材料数量和种类的变化,采用了CTableCtrl 类,可点击标签进行查看。

      图2 铣削力数据采集分析系统框图表1 因素水平表因素水平上水平下水平零水平ae70.0050.0059.16d012580100fz0.0320.020.025ap311.732
    5. 打印铣削力试验报告子系统
      打印铣削力试验报告子系统由继承自CScrollView类的CReportView类实现。利用CScrollView类的滚屏功能和打印程序,可实现编辑和显示切换时无闪烁的视觉效果和“所见即所得”的铣削力试验报告打印方式。具体实现方法是在CReportView 类的onDraw()函数中添加代码,在其设备环境上画出整个报告,在onLButtonDown()函数中加入网格控件代码,使用户可在相应位置单击、输入和编辑打印铣削力试验报告对话框中所需的数据。打印程序可自行调用onDraw()函数代码,不同的是在打印机中输出,而不是在屏幕上显示。试验报告由多页组成,每页均设有单独的起始点坐标变量,可以根据需要设置每页打印内容及在该页中的排版位置。

4 应用实例

为了研究40MnV非调质钢的铣削加工性能,采用正交回归法对加工40MnV时的铣削力进行了试验。铣削力试验数据由工控机控制采集卡采集,用本软件对试验数据进行处理,建立加工40MnV时铣削力与铣削用量之间的经验公式。铣削力数据采集分析系统由X53K立式铣床、HT-3B1应变式铣削测力仪、YD-28型动态电阻应变仪、ACL-8112PG数据采集卡和PCA-6155工控机组成,如图2所示。
根据试验因素常用范围及实际条件确定的各因素水平如表1 所示。
按正交表L8(27)安排铣削试验,试验条件、试验结果及数据处理结果如表2所示。 表2 横向进给方向铣削分力试验数据与计算表因素x0x1(ae)x2(d0)x3(fz)x4(ap)Fe(N)1170.000125.0000.0323.000347.92170.000125.0000.0201.00072.13170.00080.0000.0321.000168.64170.00080.0000.0203.000338.75150.000125.0000.0321.00092.06150.000125.0000.0203.000174.37150.00080.0000.0323.000450.58150.00080.0000.0201.00088.49159.161100.0000.0251.732130.810159.161100.0000.0251.732150.211159.161100.0000.0251.732150.8bj3.37790.1010-0.21650.23320.5674-
由表2可知,回归方程为
y^=3.3779+0.1010x1-0.2165x2+0.2332x3+0.5674x4
式中:x1=(lnae-lnae0)/aae=5.944lnae-24.253
x2=(lnd0-lnd00)/d0=4.482lnd0-20.638
x3=(lnfz-lnfz0)/fz=4.255lnfz-15.697
x4=(lnap-lnap0)/ap=1.821lnap-1
将x1~x4代入上式得
y^=ln(Fe/z)=8.47+0.60lnae-0.97lnd0+0.99lnfz+1.03lnap
对上式取反对数,即得加工40MnV非调质钢时横向进给方向的铣削分力经验公式为
Fe=4789.31ae0.60d0-0.97fz0.99 ap1.03z

5 结语

基于Windows 98的铣削力试验数据处理软件可采用正交回归法对铣削力进行试验研究,整个试验过程无需人工记录和计算数据,实现了测试数据实时处理和直接输出完整试验报告的目标。通过对铸态铝合金材料ZL106、DFL-1以及40MnV非调质钢进行的铣削力试验,证明本软件界面友好,使用方便,可快速、准确地得出试验材料的铣削力经验公式,判断各因素的显著性影响及回归方程的优劣,因此极具实用价值。
 
举报收藏 0打赏 0
 
更多>同类数控技术
推荐图文
推荐数控技术
点击排行
网站首页  |  关于我们  |  升级会员  |  联系客服  |  广告合作  |  广告位图  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  RSS订阅  |  违规举报  |  蜀ICP备2021024440号