减速器辅助设计软件的开发—— CAPP工具设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 绪论
工艺过程设计在机械制造过程中占据及其重要的一环,它是连接产品设计和车间产品制造的中间桥梁。
传统的工艺过程设计由人工编制,其设计质量在很大程度上依赖工艺设计人员的水平,并且存在劳动强度大、效率低、设计难以做到最优和标准等缺点。
随着制造业进入信息化和知识经济时代,制造业呈现出新的特点,过去追求的是产品的低成本高质量,而现在多品种、小批量、短交货期的要求越来越迫切。
制造重点也由以前的成本和质量并重向现在的质量和时间并重转变,因而,传统的工艺过程设计方法已经不能适应当前制造业发展的需要,而CAD/CAM的系统集成化、智能化成为大势所趋,计算机辅助工艺设计CAPP在其中起着不可替代的作用,所以被人们日益重视。
CAPP的使用可以大大缩短工艺设计周期,有利于工艺设计的最优化和标准化,是CIMS等先进制造系统的技术基础。
因此,世界很多国家都在大力研究CAPP平技术,CAPP技术的理论研究和实际应用已经蓬勃发展起来[1]。
1.1 CAPP的发展历程
CAPP的研究开发始于20世纪60年代末,在CAPP发展史上具有里程碑意义的是设在美国的国际性组织CAM-I于1976 年开发的CAPP系统。
国内最早开发的CAPP系统是同济大学的TOJICOP修订式系统和西北工业大学的CAOS生成式系统,其完成的时间都在80年代初。
经过30多年的历程,国内外对CAPP技术已经进行了大量的探讨及研究,无论在研究的深度上海事广度上都不断取得进展[2]。
CAPP的内涵也在不断的发展,从狭义的观点看,CAPP是利用计算机完成工艺过程设计,输出工艺规程,以及在工艺设计上代替工艺人员的劳动。
但是在集成化、智能化、网络化、或先进制造模式中,特别是在并行工程工作模式中,“PP”不再单纯理解为“Proces Planning”,而应增加“Production Planning”的涵义。
这样,就产生了CAPP的广义概念:即CAPP的一方面向生产规划最佳化及作业计划调度最佳化发展,作为制造资源计划MRPⅡ的一个重要组成部分;另一方面能够及物流系统相联系,生成NC加工控制指令,以控制物质流或加工过程。
向集成化、网络化、智能化发展是现代CAPP发展的必然趋势。
1.2 工艺数据库
数据库技术作为信息技术的一个重要支撑部分,是人们有效地进行数据存储、共享和处理的工具。
数据库是为满足某一部门中多个用户的多种应用的需要,按照一定的数据模型在计算机系统中组织、存储和使用的相互联系的数据集合。
数据库系统是管理大量、持久、可靠、共享的数据的工具。
数据库系统是具有数据库管理功能的计算机系统,它是有关硬件、软件、数据和人员组合起来的为用户提供信息服务的系统是计算机化的信息系统,由称作DBMS (DataBase Management System,数据库管理系统)的通用软件包管理数据。
数据库系统是由4个主要部分组成,它们是数据库、数据库管理系统(软件)、计算机硬件和数据库管理员。
数据库的具体实现上,网络版选用的是SQL-Server,单机版选用的是ACCESS,通过ODBC(Open Database Connectivity,开放数据库互连)实现及工艺设计环境的连接[3] [4]。
PDM、ERP、MIS等管理系统在不进入CAPP系统的前提下可直接访问工艺数据库。
构建拥有丰富的工艺知识、设备工装、刀夹量具、切削参数、典型工艺(包括典型工序、工步等)以及规范化的工艺术语等的知识库以便用户打开并引用知识,同时考虑知识库中应能存入实际设计过程中比较成功的工序、工步、设备工装等数据知识以实现工艺知识库在使用过程中的动态扩充,从而使知识库具有适用于不同零件的柔性是建立CAPP系统工艺知识库的目标[5]。
1.3 CAPP系统的发展趋势
随着国家信息化政策的制定和落实以及现代制造技术的飞速发展,对CAPP系统提出了更高的要求。
在此形势下,CAPP系统的发展具有以下特点。
1.3.1 工具化和工程化
各企业的工艺环境、管理模式千差万别,CAPP系统要适应各企业的具体情况。
提高其通用性,就要加强CAPP系统的工具化和工程化。
开发CAPP系统时,应将CAPP系统分解为多个相对独立的工具进行开发。
如开发零件信息描述工具、工艺决策工具、工艺文档输出工具、知识和数据的输人工具以及用户界面构造工具等。
由用户或者开发软件的公司根据企业具体情况输入数据和知识,形成面向制造和管理环境的CAPP系统。
用户还可以进行二次开发[6]。
在工程化方面,既不能不考虑企业原有的环境和模式,也不能完全盲目服从。
要根据对国家、国际标准和先进制造技术的分析,结合各类用户的根本需求,引导用户的工艺设计进程。
促进工艺设计规范化,从而规范CAPP 系统的实施过程。
在统一的标准化工艺基础上开发出适应一般企业工艺规程的CAPP系统。
使大部分企业使用的CAPP系统成为具有个性特征的主体相似的工程化产品。
1.3.2 集成化和网络化
CAPP是CAD、CAM问的桥梁,是CAD、PDM和ERP的重要产品信息来源,同时也需要由CAD提供产品设计模型的特征信息。
因此,必须在并行工程思想指导下实现CAD/CAPP/CAM的全面集成,充分发挥CAPP系统在整个生产过程中的信息中枢和功能协调作用,从而实现CAPP及CAD的双向信息交换及传送;实现及生产计划、调度系统的有效集成;建立及质量控制系统的内在联系。
CAPP及CAD的双向信息交换及传送体现在CAPP及CAD并行。
CAD为CAPP提供工艺设计的原始数据:CAPP为CAD产品设计提供工艺性反馈,对设计方案和结果进行可制造性分析和评价。
以便尽早发现问题,确保设计的合理性。
目前的主要方法是建立可制造性综合评价功能模块或子系统,根据零件信息、制造资源信息,在一定工艺原则指导下建立评价目标函数,对零件的结构工艺性和加工工艺性进行分析和评价。
网络化是系统集成应用的必要条件。
CAPP对内实现各种角色、工种的并行工艺设计,对外及CAD实现双向数据交换,及CAQ、CAM、PDM等的集成应用都需要网络化作为技术支撑,才能实现真正的信息化和自动化。
企业的工艺数据集中到工艺数据库,其他应用系统通过网络可以在数据库中存取数据,在数据库管理系统的支持下,工艺数据的安全性和一致性得到保证,各系统的数据交换和传输接口也得到统一,使企业能够敏捷地响应市场的需求,增强企业的市场竞争力。
1.3.3 知识化合智能化
随着复合智能系统、专家系统、人工神经网络技术和模糊推理技术的发展和应用,CAPP系统不会停留在以解决事务性、管理性工作为主的阶段。
基于知识的CAPP系统除了作为工艺设计的辅助工具[7],还有将工艺专家的经验和知识积累起来并加以充分利用的任务。
现代CAPP[8]系统向着知识化和智能化方向发展。
国内外商品化软件中已推出CAPP专家系统外壳由用户定义各种决策规则、工艺数据和计算公式,具有较大的智能化特征[9]。
当生产环境改变时,专家系统只要输入新的知识就能适应;系统还能随时向用户提供运行的过程和理由,并向用户作出各种解释,便于工艺人员作出干预和选择,以制定出优化的工艺过程;专家系统还可以不断补充和更新知识,从而随着科技的发展和生产条件的改进而不断提高工艺设计的水平。
现代CAPP系统在知识化的基础上,从实际出发,为工艺人员提供多个备选工艺方案,并能够根据操作者的工作记录进行各种层次的自学习和自适应,具有一定的智能
性[10]。
1.3.4 柔性化和规范化
CAPP系统是用来辅助工艺设计人员进行工作的[11]。
不宜取代工艺设计人员而追求完全自动化。
在方式上实行人机协作.关键决策由工艺人员作出。
决策和判断一个复杂繁琐的问题,对具备足够的工艺知识和判断能力的工艺人员来说并不困难,但对计算机来说却可能难以胜任[12];同时,知识库及其使用法则需要逐步建立、验证和完善,是一个渐进式的过程。
现代CAPP系统必须体现柔性化,即以交互式设计为基础,以工艺知识库为核心,以工艺知识库管理和工艺卡片格式编辑器为应用支持工具,面向产品实现工艺设计及管理的柔性化[13]。
1.4 工艺数据库系统在CAPP中的作用
CAPP应具备以下特点:产品零件的数据信息应能利用,并建立零件信息的数据库;工艺人员的工艺经验、工艺知识能够得到充分的利用和共享[14];制造资源、工艺参数等以适当的组织形式加以管理;能够充分利用标准(典型)工艺,能集中安全进行数据维护,及时地、动态地提供最新的工艺设计结果。
由此可见,CAPP 工作的实质是对数据的一系列操作过程,数据的集成管理极为重要。
通用的数据存储管理方式有程序方式、文件方式、数据库方式。
程序方式将数据嵌入程序,数据和程序不独立,有很大的依赖关系。
这种方式只适合简单数据操作,当涉及到复杂数据和数据之间的关系操作时,程序编制工作变得复杂,且数据分散在程序中,不能被其他应用程序直接利用。
文件方式可以将程序及数据分离,可以被多个程序调用,但是,文件是相同性质的数据的集合,其结构的定义是固化的,程序及数据文件还有一定的依赖关系,而且多个数据文件的访问就要有多个接口,数据文件的操作不能实时反应给其他应用程序,不具备集成共享功能[15]。
1.5本课题研究的问题和采用的手段
1.5.1 本课题研究的问题
本课题通过以普通微机为硬件背景,在掌握Visual Basic语言开发技术的基础上,设计一个针对于减速器的工艺过程的一个软件。
这个软件带有工艺设计过程中所需要的工艺数据库表结构,并带有一定的工艺搜索工具,在工艺过程中提供部分搜索和决策功能。
1.5.2 本课题研究的手段
第一步首先要建立一定的工艺数据库,工艺数据库要包括材料数据库、尺寸公差
数据库、刀具数据库、机床数据库、孔/轴的基本偏差数据库、形状公差数据库、位置公差数据库等。
然后使用Visual Basic设计软件的界面,界面包括尺寸公差查询、形状公差查询、位置公差查询、机床查询、材料的查询、刀具的查询等。
设计完成界面之后,继续使用Visual Basic进行编程,使软件界面上的各个按键和建立的数据库能够连接起来,并且能够实现使用编写的程序进行查询的功能。
2 CAPP工具计软件界面的设计
CAPP即Computer Aided Process Planning,是指借助于计算机软硬件技术和支撑环境,利用计算机进行数值计算、逻辑判断和推理等的功能来制定零件机械加工工艺过程。
本软件设计的是减速器辅助设计软件的一部分,是有关于减速器工艺方面的设计,主要实现查询工艺的功能。
一般来讲,对于一个减速器要涉及到的工艺有材料的查询、刀具的查询、机床的选择、各种公差的查询以及一些工艺流程的查询等等。
我设计的这个软件的界面涉及到了尺寸公差、位置公差、形状公差、配合公差、机床的查询、材料的查询、刀具的查询等。
2.1 总体界面设计
关于总体界面的设计,我的设计方案如图1所示:
图1 CAPP工具界面
2.2 尺寸公差查询界面的设计
在总体界面里,我设计了一个尺寸公差查询的一个按钮,这个按钮要实现尺寸公
差查询的功能,所以当按下尺寸公差查询这个按钮时,会跳出来一个专门为尺寸公差查询而设计的一个窗口,具体界面设计如图2所示。
图2 尺寸公差查询界面
由于尺寸公差的查询涉及到了轴和孔的查询,所以在设计时选用了2个OptonButton(单选框),以便于选择轴的尺寸公差查询或是选择孔的尺寸公差查询。
在选择完轴或孔的查询后,接下来要考虑的就是查询这些尺寸公差所需要的一些基本的数据。
基本的数据有基本尺寸、公差等级、基本偏差代号等。
首先建一个基本数据的框架,用Frame来实现这个框架,然后再在这个框架里建一个Lable(标签)命名为LblFundamentalDimension,将这个标签的Caption改为基本尺寸,建一个TextBox (文本框)命名为txtFundamentalDimension,这个文本框用来输入基本尺寸的数据,然后再新建一个Lable(标签)命名为LblToleranceGrade,Caption改为公差等级,再在边上新建一个ComboBox(组合框),是用来选择公差等级的。
这样基本尺寸的框架已设计完成。
接下来要设计查询结果的框架,也是新建一个Frame,将Caption改为查询结果,然后要在这个框架里新建5个Lable(标签)分别将标签的Caption改为尺寸公差、基本偏差代号、数值、上偏差、下偏差,分别将Lable(标签)的名称改为lblDimensionalTolerance、lblFundamentalDeviationCode、lblFundamentalDeviationValue、lblUpperDeviation、lblLowerDeviation。
然后还要新建4个TextBox(文本框)将每个文本框的名称改为txtDimensionalTolerance、txtFundamentalDeviationValue、txtUpperDeviation、txtLowerDeviation。
还要新
建一个ComboBox(组合框),将名称改为cboFundamentalDeviationCode。
这样查询结果的框架就设计完成了。
整个界面设计基本完成,除了这几个框架的设计,还要设计3个CommandButton(命令按钮),一个是查询按钮,一个是刷新按钮,另外一个是返回按钮。
设置这3个命令按钮的方法基本和前面几个差不多,即将它们的名称分别改为cmdSearch、cmdClear、cmdReturn,将它们的Caption分别改为搜索、刷新、返回。
尺寸公差查询的基本界面就是这样设计完成了。
2.3 形状公差查询界面的设计
在总体界面里,形状公差查询也有独立的一个按钮,这个按钮要实现形状公差查询的功能,所以当按下形状公差查询这个按钮时,会跳出来一个专门为尺寸公差查询而设计的一个窗口,具体界面设计如图3所示。
图3 形状公差查询界面
在形状公差查询窗体中,首先要考虑到的是关于形状公差的内容,形状公差查询的内容主要有直线度的查询、平面度的查询、圆度的查询、圆柱度的查询。
首先建立直线度查询的一个框架,要设计直线度查询的框架,首先新建一个Frame(框架),将框架名称改为fraStraightness,将其中的Caption改为直线度,这样直线度的框架就建立完成了。
然后先再在这个框架里新建3个Lable(标签),用来显示直线度里内容的名称,将标签的名称分别改为lblFL_Straightness、lblStraightnessGrade、lblStraightnessValue,再将它们的Caption分别改为基本尺寸(长度)、公差等级、公差数值。
然后在基本尺寸(长度)和公差等级下面对应的地方新建2个TextBox(文本框),将它们的名称分别txtFL_Straightness、txtStraightnessValue。
然后在公差等级下面的对应的地方新建1个ComboBox(组合框),将组合框的名称改为
cboStraightnessGrade,用来选择公差的等级。
然后再新建3个CommandButton(命令按钮),一个是清除按钮,一个是查询按钮,另外一个是返回按钮,将它们的名称分别改为cmdClear_Straightness、cmdSearch_Straightness、cmdReturn_Straightness,然后将它们的Caption分别改为清除、查询、返回。
这样直线度的查询界面就已经建立好了。
其它3个平面度、圆度、圆柱度的界面设计如直线度的界面设计。
由直线度的界面、平面度的界面、圆度的界面、圆柱度的界面就组成了形状公差查询的界面。
2.4 位置公差查询界面的设计
位置公差的查询在总体界面里也设计了一个按钮,这个按钮是连接到位置公差查询界面窗口的。
具体的界面图如图4所示。
图4 位置公差查询界面
位置公差的查询包括平行度的查询、垂直度的查询、倾斜度的查询、同轴度的查询、对称度的查询、圆跳动的查询、全跳动的查询。
其界面设计跟形状公差查询的界面设计基本相似。
2.5 机床查询界面的设计
在总体界面中有机床查询这个按钮,直接连接到机床查询窗口。
在机床查询窗口中,主要包括了机床编号、机床类型、机床名称、机床型号、总数量、空闲数量、还有一个显示总体数据的一个窗口,还有5个命令按钮。
具体的界面设计如图5所示。
图5 机床数据查询界面
首先新建一个MSFLlexGrid控件,这个控件是用来显示和操作表格数据的,将其名称改为MSFG_Machine,然后新建6个Lable(标签),将每个标签的Caption分别改为机床编号、机床类型、机床名称、机床型号、总数量、空闲数量。
然后再在相应的位置新建6个TextBox(文本框),用来显示相应的数据。
然后在新建5个CommandButton(命令按钮),将其Caption改为第一个、上一个、下一个、最后个推出。
命令按钮第一个、上一个、下一个、最后个是用来显示表格数据,每次按钮都是用来调整显示在文本框的内容。
2.6 刀具、材料查询的界面设计
刀具和材料的数据的界面设计是跟机床查询界面设计是一样的,具体的界面图如图6和图7所示。
图6 刀具数据查询界面
图7 材料数据查询界面
3 软件程序的编写
3.1 尺寸公差查询窗口的程序编写
在编写程序之前,首先要建立一些数据库。
查询尺寸公差需要建立一个尺寸公差的数据库,其中要包括标准偏差数据库和轴、孔的基本偏差的的数据库,利用ACCESS 2003来创建数据库,在选用存储数据库方式时,选用的是数据表来创建并存储数据的。
以下图8、9、10所示是标准偏差数据库和孔及轴的基本偏差示意图。
尺寸公差的查询主要涉及到了一个数据库的调用,我们将基本的数据输入相应的文本框里,然后根据所输入的数据和数据库里的数据比对之后得出最后的数据,就相当于我们平时查表一样。
尺寸公差的查询首先需要一个基本尺寸,然后选择一个公差等级,就能得出尺寸公差的数值。
下面接下来就要编写程序了,首先要在通用里面先定义一下变量,将基本尺寸、公差等级、尺寸公差分别用FundamentalDimension、ToleranceGrade、DimensionalTolerance来表示。
接下来编写主程序,首先窗体加载后,用户点击搜索按钮后,程序要根据用户输入的数据加上选择一个公差等级,能够进行在数据库里查找所需要的数据,然后把所需要的数据显示在相应的文本框里。
主要程序如下:
'打开标准公差数据库
connstr = "provider = Microsoft.Jet.OLEDB.4.0; data source= F:\AutoCAD二次开发\减速器\尺寸公差.mdb"
conn.ConnectionString = connstr
conn.Open connstr
rs1.CursorLocation = adUseClient
rs2.CursorLocation = adUseClient
rs3.CursorLocation = adUseClient
'从数据库中选择符合条件的数据:基本尺寸在给定范围内
rs1.Open "select * from 标准公差where FDimension_L < " & FundamentalDimension & " and FDimension_U >= " &
FundamentalDimension & "", conn
以上程序主要实现的是一个数据库的连接和打开,然后再在数据库中选择所需要的数据。
要查询尺寸公差需要选择一个公差等级,然后程序使用了Select Case语句来实现根据用户选择的公差等级来选择数据。
尺寸公差分为轴的尺寸公差和孔的尺寸公差,所以接下来还要选择是轴的尺寸公差还是孔的尺寸公差,所以在一开始就要选择是轴的尺寸公差还是孔的尺寸公差,如果是选择的不一样,其基本偏差代号就不一样,所要连接和查询的数据库就不一样,编程时需要考虑到这两种情况,所以具体的程序编写应如下所示:
If optAxis.Value = True Then
rs2.Open "select * from 轴的基本偏差 where FDimension_L < " &
FundamentalDimension & " and FDimension_U >= " &
FundamentalDimension & "", conn
这一段程序是用来判断查询的是轴的基本偏差,然后接着就是打开了轴的基本偏差的数据库,以提供查询。
当轴的公差等级小于等于h时,上偏差就是所查询的基本偏差,下偏差就是等于上偏差减去尺寸公差,否则的话,它的上偏差和下偏差刚好相反。
用来判断查询的是孔的基本偏差的程序及用来判断轴的基本偏差的程序是相同的。
孔德上下偏差的计算和轴的基本相似,即当孔的公差等级小于等于H时,上偏差就是所查询的基本偏差,下偏差就是等于上偏差减去尺寸公差,否则的话,它的上偏差和下偏差刚好相反。
在我们选择公差等级,基本偏差代号的时候,选择的内容也是要用程序添加进去。
首先添加公差等级的内容,公差等级包括IT1-IT18,所以具体的程序如下所示:cboToleranceGrade.AddItem "IT1"
……
……
……
cboToleranceGrade.AddItem "IT18"
这些程序都是在加载窗体的时候就已经运行了,在打开尺寸公差查询的窗口时,公差等级的内容就已经从空白编程了IT1-IT18,使用下拉菜单来选择所需要的公差等级。
其次,轴和孔的基本偏差代号也要设置,轴的基本偏差代号有a、b、c、cd、d、e、ef、f、fg、g、h、j、k、m、n、p、r、s、t、u、v、x、y、z、za、zb、zc;孔的基本偏差代号有A、B、C、CD、D、E、EF、F、FG、G、H、J、K、M、N、P、R、S、T、U、V、X、Y、Z、ZA、ZB、ZC。
其程序如添加公差等级内容的程序相似。
具体实例:查询一个孔的尺寸公差,基本尺寸为100,标准偏差为IT6,孔的基本偏差为E。
当在尺寸公差查询界面里选择孔,在基本尺寸的文本框中输入100,标准偏差选择IT6,点击查询按钮就会出现所查询到的数值,然后再在界面的基本偏差代号里选择E,再点击查询按钮,就会在相应的文本框中显示查询到的数据。
查询后的界面如图10所示。
图10 查询孔尺寸偏差结果示意图
3.2 形状公差查询窗口的程序编写
同样,形状公差的查询也涉及到了形状公差数据库,所建立数据库的方法如尺寸公差数据库建立方法。
图11、12所示为形状公差数据库中平面度和圆度的示意图。
还有直线度和圆柱度的数据库示意图及平面度基本相似。
形状公差包括直线度、平面度、圆度、圆柱度。
首先编写程序时要先定义几个变量如基本尺寸、公差等级等。
直线度、平面度、圆度、圆柱度的基本尺寸扥别用FL_Straightness、FL_Evenness、FD_Roundness、FD_Cylindricity来表示,直线度、平面度、圆度、圆柱度的公差等级分别用StraightnessGrade、EvennessGrade、RoundnessGrade、CylindricityGrade来表示。
公差等级是从1-12级,选择公差等级是通过组合框来实现的,而且公差等级的内容也是在加载窗体的时候就要将内容加载进去了,所以这段程序应该是在窗体加载部分。
下来要定义公差等级这个变量,将直线度、平面度、圆度、圆柱度的公差等级都设置为1-12,具体的程序编写如下:
Private Sub Form_Load()
Dim i As Integer '定义变量,循环变量
'使用循环语句,指定公差等级:1~12级
For i = 1 To 12
cboStraightnessGrade.AddItem CStr(i) '直线度公差等级
cboEvennessGrade.AddItem CStr(i) '平面度公差等级
cboRoundnessGrade.AddItem CStr(i) '圆度公差等级
cboCylindricityGrade.AddItem CStr(i) '圆柱度公差等级
Next
End Sub
一切准备工作做好之后,接下来就是要编写搜索按钮所执行的程序,搜索按钮所要执行的任务是将用户输入的基本尺寸和选择的公差等级,然后再去相应的数据库中查询相对应的数据,然后显示在公差数值的文本框里,具体程序及尺寸公差的查询的程序相似。
平面度、圆度、圆柱度的查询跟直线度的原理相似,在这里就不做一一介绍了。
具体实例:查询直线度、平面度、圆度、圆柱度各举一例
直线度查询:基本尺寸50,公差等级8
平面度查询:基本尺寸60,公差等级7
圆度查询:基本尺寸70,公差等级6
圆柱度查询:基本尺寸80,公差等级5
在形状公差查询窗口中,在相应的文本框中输入50、60、70、80,在公差等级的下拉菜单中分别选择8、7、6、5,分别点击相应的查询按钮,就会出现如图13所示的结果。