APP下载

基于Visual C++ 6.0的数控凸轮轴磨床工艺数据库开发*

2014-07-18岳宇宾韩秋实李启光彭宝营

组合机床与自动化加工技术 2014年7期
关键词:磨床凸轮轴代码

岳宇宾,韩秋实,李启光,彭宝营

(北京信息科技大学 机电工程学院,北京 100192)

基于Visual C++ 6.0的数控凸轮轴磨床工艺数据库开发*

岳宇宾,韩秋实,李启光,彭宝营

(北京信息科技大学 机电工程学院,北京 100192)

目前,凸轮轴磨削工艺已趋于成熟,但凸轮轴磨削过程中需要考虑的参数比较多,磨削工序较为繁琐。因此,为了使工艺人员能够快速地选择所需的凸轮轴磨削参数,缩短凸轮轴的生产周期,建立一个凸轮轴磨削工艺数据库是非常有必要的。文章介绍了基于Visual C++ 6.0开发数控凸轮轴磨床工艺数据库,根据凸轮轴磨削工艺参数,通过构造数据库操作函数,使用ADO数据库存取技术访问Access数据库,从而实现数控凸轮轴磨床磨削工艺参数的存储和读取。

凸轮轴磨床;工艺数据库;Visual C++ 6.0;ADO技术

0 引言

磨削加工是机械制造业重要的加工方法,大多数情况下,作为最终加工工序的磨削加工,直接决定着工件成品的质量[1]。随着现代制造技术的不断发展,磨削加工的应用范围日益扩大,对磨削加工的精度要求也越来越高。在磨削加工中如何合理选择磨削工艺参数及系统可靠优化的磨削数据一直是一个重要问题。而磨削数据库的建立就是根据加工要求向工艺人员提供可靠的磨削数据和磨削工艺参数,从而改善磨削性能,提高产品质量。

用计算机处理加工数据,在切削加工中最早进行。据不完全统计,至2003年,已有德国、美国、瑞典、英国、日本、挪威、比利时和匈牙利等12个国家建立了30多个金属切削数据库,提供各种形式的信息服务[2]。而在磨削加工里,由于磨削的数控化开始较晚,磨削过程中不稳定因素较多,所以最早的磨削数据库只能附加到切削数据库中且数量很少[3]。专门用于磨削的数据库国外只有2005年9月在汉诺威国际机场展上公开的英国智能磨削数据库,该数据库为智能磨削咨询系统(intelligent grinding assistant简称IGA)的一个智能模块,目前该IGA模块已经实现与CNC机床的共同运作[4]。而国内首个专门用于磨削的数据库是郑州磨料磨具磨削研究生研制的磨削数据库[5]。2009年湖南大学机械与运载工程学院国家高效磨削工程技术研究中心研发的基于数据仓库技术的磨削数据共享平台,能够为高档特种数控机床的开发和实验研究提供现金的技术理论、方法、规范和优化数据[6]。

凸轮轴作为汽车、内燃机、国防等众多行业所需的关键零部件,其加工的精度、效率直接影响着发动机及相关产品的质量、寿命和节能标准[7]。在数控凸轮轴磨床进行磨削加工的过程中,所涉及到的参数,目前一般是通过变量、数据文本等形式进行数据的传递或保存。但是,当所涉及的参数信息量较大,例如凸轮轴上每个凸轮的原始数据,由于凸轮轮廓曲线为不规则曲线,包含大量坐标数据,即升程表数据。在这种情况下,就需要采用数据库的方式而不适于采用文本形式。通过采用数据库方式,不仅能够使工艺人员轻松实现对数据的浏览、添加、编辑或删除操作,而且软件的可视化程度也得到了提高。

1 凸轮轴磨削工艺数据库的总体方案

凸轮轴磨削工艺数据库采用数据库技术,通过把凸轮轴磨削加工时所需要的加工数据整合起来,并可以通过人机接口向工艺人员提供相应的加工信息。该数据库模型主要包括人机接口,数据操作,数据库接口,磨削数据库4个模块,结构设计形式如图1所示。

图1 系统模型

其中,磨削数据库主要是向用户提供凸轮轴磨削源数据;数据操作主要提供数据的增加、删除和修改等任务;数据库接口是把应用程序与底层数据库分开,使用统一的接口进行连接,从而使数据库便于管理;人机接口则采用windows窗口等交互界面向用户提供可视化服务。

2 凸轮轴磨削工艺数据库设计

通过对上述系统模型的分析,按照凸轮轴磨削工艺过程,将该系统分为数据输入模块,数据查询模块,数据管理和用户管理四大模块。其中,数据输入模块包括对刀坐标,凸轮参数,凸轮轴参数,砂轮设置参数和G代码程序五部分;查询模块包括加工参数查询,升程表数据查询和加工程序查询;数据模块包括新建零件,删除零件,保存零件四部分。数据库结构框图如图2所示。

图2 系统整体结构框架

3 凸轮轴磨削工艺数据库开发

(1) ADO数据库技术简介

Visual C++提供了多种访问数据库的方法,这些方法包括ODBC(开发式数据库连接)、RDO(远程数据对象)、DA0(数据访问对象)、0LEDB(对象连接与嵌入数据库)和ADO(Active X数据对象)等,它们反映了Microsoft对数据库支持的发展演化过程。本数据库中运用了ADO库中的3个基本接口:_ConnectionPtr接口,_CommandPtr接口,_RecordsetPtr接口。

(2)建立凸轮轴磨削工艺参数数据表

针对凸轮轴磨削工艺过程,建立磨削工艺数据库“DataBase.mdb”,数据库中分别建立工艺参数表“Parameter”,凸轮轮廓坐标数据表“升程表”和加工代码表“G代码”,分别用于存放磨削工艺参数,凸轮升程表和G代码,各表中设零件编号为主键。

(3)引入ADO类型库

引入AD0类型库的方法是在工程stdafx.h头文件中添加下列代码:

#import "C:Program FilesCommon

FilesSystem adomsado15.dll" no_namespace ename ("EOF","adoEOF")

rename("BOF","adoBOF")

指明了文件msad015.dll的具体位置。代码rename("EOF","adoEOF")和rename("BOF","adoBOF") 将在ADO中的EOF和BOF更名为adoEOF和adoBOF,以避免与其他库中定义的EOF冲突[8]。

(4)初始化OLE/COM库环境

在程序初始过程中需要初始化组件,一般可以用CoInitialize(NULL);来实现,这种方法在结束时要关闭初始化的COM,可以用语句CoUnInitialize();来实现[9]。在MFC中还可以采用另一种方法来实现初始化COM,这种方法只需要一条语句便可以自动为我们实现初始化 COM和结束时关闭COM的操作,语句如下所示: AfxOleInit ();

使用方法是在工程的$App函数InitInstance()中添加如下代码:

if (!AfxOleInit())

{

MessageBox(NULL, "OLE初始化错误", "错误", MB_ICONERROR);

return FALSE;

}

(5)构造数据库操作函数

在类的头文件中声明_ConnectionPtr型、_RecordsetPtr型指针以及构造数据库操作函数,在需要操作数据库时只需要这两个函数即可,大大提高了代码的复用性和程序的可读性。

源程序代码如下:

CString CNewCamAdoView::GetFieldValue(long index)

{

_variant_t vValue;

_variant_t vIndex;

vIndex = (long)index;

vValue = m_pRecordset→GetCollect( vIndex );

if (vValue.vt == VT_NULL)

{

return "";

}

return (LPCTSTR)(_bstr_t)vValue;

}

void CNewCamAdoView::GetRecord(const CString SQL)

{

m_pRecordset.CreateInstance("ADODB.Recordset")

m_pRecordset→Open((_variant_t)SQL,

_variant_t((IDispatch *)theApp.m_pConnection, true),adOpenStatic, adLockOptimistic, adCmdText);

对于别人对他们频繁交往的飞短流长,她欲辨还休:“但另一方面却又怕您以为我误会您的意思,使您感到不安,其实以我对您崇敬爱戴之深,绝对没有误解您的可能,请绝对放心好了。”

}

通过GetFieldValue(long index)函数可以获取当前记录指针所指的字段值,然后调用GetRecord(const CString SQL)执行SQL语句从而完成对数据库的操作。

4 凸轮轴磨削工艺数据库应用界面及在

PMAC磨床数控系统中的应用

4.1 凸轮轴磨削工艺数据库应用界面

本系统是基于Access2003数据库开发设计的,在安装好Microsoft Office Access后就可以使用,相对于其他类型的数据库,少去了系统设置的环节,使用起来较为方便。

数据库应用界面打开后包含有三个区域:参数输入区,参数查看区和文件操作区。参数输入区和文件操作区能实现数据库中数据的增删,编辑等操作,参数查看区可查看每一个加工零件保存的参数。界面运行如图3所示:

图3 凸轮轴磨削工艺数据库主界面

4.2 凸轮轴磨削工艺数据库在PMAC磨床数控系

目前,国内外针对专用磨床的数控系统还不是很多,具有配套磨削工艺数据库的系统则更少。凸轮轴磨削工艺数据库正是针对PMAC磨床数控系统而开发的. 在如下方法中分别打开PMAC,调用单个零件数据和关闭PMAC,通过这个方法可以实现磨削工艺参数的即时调用。

主要代码如下[10]:

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)

{……

if(!OpenPmacDevice(0))

{

MessageBox("主机无法与PMAC建立通讯!",

"警 告",MB_ICONEXCLAMATION);

}

……

}

void CManualDlg::OnDonwnLoad()

{

PmacReady=OpenPmacDevice(0);

if(PmacReady==1)

{

char* buf;

buf=(LPTSTR)(LPCTSTR)CStrCam_File;

PmacDownloadFile(0,buf);

ClosePmacDevice(0);

}

else

MessageBox("通讯失败!","提示");

}

BOOL CMainFrame::DestroyWindow()

{ ……

KillTimer(1);

ClosePmacDevice(0);

……

}

5 结束语

基于Visual C++ 6.0的数控凸轮轴磨床工艺数据库开发,有效解决了凸轮轴磨削工艺数据的管理、调用、浏览、增删、编辑等操作,该系统适用于国内各大凸轮轴磨削数控系统,运用该系统可以进行凸轮轴磨床人机界面的开发,通过调用数据库从而方便工艺人员进行凸轮轴磨削加工,提高了加工效率。

[1] 张晓红.凸轮轴数控磨削工艺智能专家系统的研究及软件开发[D].长沙:湖南大学,2010.

[2]刘战强,黄传真,万熠,等.切削数据库研究现状与发展[J].计算机集成制造系统-CIMS,2003(9):937-973.

[3]杨佩旋,王成勇.磨削数据库的研究现状与发展[J].精密制造与自动化,2008(3):33-36.

[4] R.Cai,M.N.Morgan.Design and implementation of an intelligent grinding assitant system[J].Abrsive Technology, 2007,1(1).

[5]吴花秀.《磨削数据库》通过验收[J].工具技术,1977,1(97):33.

[6]彭思为.基于自适应控制的智能磨削数据库研究[D].湖南大学,2011.

[7] 邓朝晖,唐浩,刘伟,等.凸轮轴数控磨削工艺智能应用系统研究与开发[J].计算机集成制造系统,2012(8):1846-1853.

[8]谢贤芳,古万荣.零基础学Visual C++(第三版)[M].北京:机械工业出版社,2012.

[9]王维玉. Visual C++6.0高级编程技术精粹,2008.

[10] PMAC用户手册.1999.

(编辑 李秀敏)

The Development of CNC Camshaft Grinder Process Database Base on Visual C++ 6.0

YUE Yu-bin,HAN Qiu-shi,LI Qi-guang,PENG Bao-ying

(College of Mechanical Engineering, Beijing Information Science & Technology University, Beijing 100192, China)

At present, camshaft grinding process has become mature, but grinding process needs to consider many parameters, and the processing is cumbersome. Therefore, in order to make the staff select the camshaft grinding parameters more quickly, shorten the production cycle of a camshaft, to establish a camshaft grinding process database is very necessary. This article introduces how to develop the CNC camshaft grinder process database based on the Visual C++ 6.0 development, according to the cam shaft grinding process parameters, through the use of ADO database access technology to access to Access database, so as to achieve the storage and reading of the camshaft grinding parameters.

camshaft grinder ;craft database;Visual C++6.0;ADO

1001-2265(2014)07-0117-03

10.13462/j.cnki.mmtamt.2014.07.034

2013-11-14;

2013-12-04

国家自然基金资助项目(51375056) ;北京市自然科学基金重点项目(KZ201211232039);北京市高等学校人才强教PHR201106132)

岳宇宾(1986—),男,郑州人,北京信息科技大学硕士研究生,研究方向为智能化与数字化控制,(E-mial)yueyubin86617@126.com;韩秋实(1956—),男,吉林省吉林市人,北京信息科技大学教授、博士生导师,主要从事数字化制造和智能化制造等研究。

TH162;TG595

A

猜你喜欢

磨床凸轮轴代码
弹性夹具在轴承磨床中的应用
浅析曲轴磨床的可靠性改进
创世代码
创世代码
创世代码
创世代码
MZ208全自动液压磨床PLC程序改进
凸轮轴高速数控磨削在位测量技术
凸轮轴孔轴线与止推面垂直度超差问题研究
Delphi公司的新型电动凸轮轴相位调节器