前言:想要写出一篇引人入胜的文章?我们特意为您整理了滚动轴承选型设计程序开发探析范文,希望能给你带来灵感和参考,敬请阅读。
摘要:计算机程序辅助机械师设计,高效、准确、全面、经济的完成设计。机械设计分为条件输入、信息检索及处理、输出三个过程,旨在降低手册对机械设计的约束、降低新产品设计周期进而提高企业竞争力。通过对滚动轴承选型实验,其能高效且准确的得到的轴承代号解集。本设计思想能够解决轴承选型设计的一般问题,能给后续基础工业软件的开发者提供一些解决问题的方法和途径。
关键词:机械设计;滚动轴承;模块化程序设计;三大结构
0引言
传统机械设计过程过于繁琐、于设计者设计门槛高、于企业市场竞争力低、于产品资源浪费较多等。过去强大全球制造业基础给计算机的普及提供了可能,今天迅猛发展的电脑技术也再次给制造业注入新的血液。CAD、ANSYS、UG等软件如雨后春笋般,计算机助力机械设计已成了大趋势,对于基础机械设计程序的开发对于一个国家的重要性就不言而喻了。软件开发的难点主要集中在问题的转换、防御系统的搭建、数据库的建立、算法设计、代码的后期维护上。针对问题转换:不同设计内容,从细节来讲不尽相同,但从宏观上来讲大致可以看作:初始边界工况和期望参数的输入、中间数据库检索及逻辑处理分流、最后工程结果的输出。问题转换困难主要在中间环节,逻辑与数据库用C语言实现。但基于任何事件都可以用选择、循环、顺序来实现的理论之上,这个问题是解的。防御性系统:将不合法、不符设计的输入清除,并在人机交互界面提示重新输入。防御性设计用以保证程序的健壮性;数据库建立及图表查询实现:在读写文件的时,考虑数表的复杂性,采用结构体数组来存储。特殊的某些图表查询,用SPSS软件拟合曲线将信息方程化,进而完成读图。
1编写预处理
滚动轴承PAD图为整个程序编写核心之所在,可以更加直观地展示。由图1可以得出,已经把复杂的轴承设计过程转化成了一个由选择、循环、顺序问题。
2机械设计程序实现的基本思想
机械设计程序是一个复杂的系统,可以将其划分成若干个层次,各层次分别独立的完成各自层级的功能,同类层与同类子层之间进行信息交换,高层向次高层发送命令,次高层为对应的高层服务并返回执行结果,通过“定义主程序”将各层“定义子程序”联动起来,实现程序功能。具体而言,划分层次依次是主程序层、功能模块层、工况期望储备层、逻辑判断层、中央数据库调用层、工程结果输出层。以轴承为例,主程序选择轴承功能,提示用户输入相应轴承的边界工况以及用户期望的轴承期望寿命等参数,逻辑判断层通过工况期望储备层里的信息进行逻辑判断调用相应数据库并进行运算,得到结果。关系示意如图2所示。为保证代码的一致性,舍弃使用return语句来实现主要数据交流,有破则必有立,核心数据的交流它法有二,一唤指针,二曰引用。这里指针包括函数指针、指针函数、结构体指针等。引用在代码简化上有很大的作用。以指针为例,程序通过地址读改数据。在仅希望数据被阅读,也对应的采用了常量指针。另外return一般只做运行状态反馈用。程序对外发展的基本原则:其一,必须符合我国基本国情,符合我国的相关法律。其二,始终坚持以需求驱动、效益驱动的双驱原则。幻数、宏定义、const常量及其代码的可读性:设计过程中,难免会遇到类似的常量,其复用性高。若代码里直接出现,久而久之,就演变成了幻数。在这里我们采用宏定义或const常量。宏定义:使用实例:另外为了保证函数名与宏定义有别,一般宏定义均为全大写字符,加下划线组合单词。高层与次高层函数名的定义:由于每一模块的程序内部交流的信息不尽相同,故特定模块的高层与次高层的函数名应当也有一定继承性。模块主函数:模块子函数:有部分功能在各模块都会用到,我们把它们列入通用函数之列,具体而言有缓存区清除函数、数据合法性函数判断函数等。函数声明的后面有详细的函数功能说明。另外有数字编号,可以把它们理解成函数的别名,在程序运行时其不起任何作用,但在代码编写时,它的存在会方便检索。
3建立程序防御性系统及增强程序健壮性的途径
考虑到用户不免会输入失误,所以在程序架构时,为保证程序的健壮性,我们有必要对程序进行防御性设计。用户的指令先进入的是防御性系统,在判断其合法的情况下才会调用指定执行函数,执行函数在用户指令或数据库的共同作用下执行命令之后进行下一步,否则就会把判定攻击指令进行清除,并在人机交互界面打印出提示语,让用户重新输入指令。其工作机理由图3所示。防御性系统是防御性函数和防御性代码的有机结合。缓存区清除主要用于规避错误指令进入程序,程序的异常执行和意外崩溃死循环等。函数核心代码:菜单指令捕捉函数:菜单有诸多的选项,但是选项是特定的,如若键入失误,得不到正确的进程,故而采用以下代码设计防止非法字符的进入。函数核心代码:防御性不拘于独立存在,有时复用性地就零散几条代码,复用性高就独立于成函数。
4数据库的读取实现
数据库背景及数表的读取:数据库是机械设计电算的基础。数表读取的方法:困难在于读取表格的多样性。对于读取函数,考虑到一类数据具有很大的相似性,所以我们统一定义一个最大的结构体,其结构体成员是各类型数表属性的并集。结构体成员名与机械设计参数有差异,是因C/C++本身对变量名的定义有限定所致。取读取函数成员集合为READ;对于数据库本身,将数表本身也要进行特殊处理,由于读取的函数和数据库有差别,但我们可以通过在数据库里加入一列列的“-1”数据来占位,来使数据库可以统一用一个读取函数来实现,降低了编程难度,如图4所示。取数据库成员集合依次为A、B、C,。解析识图的实现,可将其转换成一个数学问题。即通过识取图上的特别点,将点的坐标进行数据拟合,得到其表达式,再通过特定的判别式来判断其点的位置,最后得到需要的过程参数。图5是传统机械设计过程中需要算公式查数表读图的过程,图6则是我们现在用程序思维进行机械设计的过程。
5结论
传统的机械设计,需要查阅大量的图表及繁杂的运算以试错的方式来进行设计,时常运算到最后由于初始参数选择失误导致设计失败。本设计程序整体充分运用模块化程序设计思想,程序代码具有很好的可维护性及可读性,方便后期程序升级及程序兼容;在问题分解与转换上以三大结构为落脚点,面对数据库的建立问题,我们采用外置的.txt来实现,适当的“-1”列可作为未来国标更新的预改空间,使用文件读取,结构体数组储存来实现数据库的建立,最后实现计算机辅助设计的目的;防御性系统设计让程序的健壮性及稳定性得到了很大的提高;运用软件将一些数据进行拟合,可以简化编程难度或实现计算机识图;现目前轴承选型设计已经可以完全不用翻阅设计手册、资料,只需键入边界条件便可以完成设计,并且充分的考虑到了工厂的需求,可以选择现有的资源进行设计。与传统的设计相比,其可更快、更方便地帮助设计者进行设计。本机械设计程序思想能够解决轴承选型设计的一般问题,目前在指导带传动设计、齿轮设计、轴设计、键连接设计已经取得阶段性成果,能够给后续基础工业软件的开发提供一些解决问题的方法和途径。
参考文献:
[1]邓祁曾.计算机辅助机械设计注意事项及其程序编制技巧[J].现代机械,1988(02):11-14.
[2]游敏,刘更新.适于机械图剖面线绘制的通用程序设计[J].三峡大学学报(自然科学版),1993(01):11-17.
[3]张益,殷爱华,薛淑琴,冯中鍙.机床零件的袖珍计算机计算程序(四)机械设计程序编制的一般方法[J].机床,1987(02):43-46.
[4]吴军,陈鹏慧,王飞,郭鹏武.基于VB6.0的机械工时定额计算程序设计[J].中州煤炭,2014(09):85-87,107.
[5]沈元元,于晨斯.基于Matlab的机械设计方法研究[J].科技创新导报,2015,12(18):63.
[6]杨元慧.C语言在机械设计数表程序化中的应用[J].煤矿机械,2010,31(01):223-224.
作者:蔚福强 杨文超 罗霁 单位:南通理工学院