最新资讯
联系方式

滑动轴承性能计算应用系统的设计与实现

发布时间:2013-01-29 浏览次数:730

作者:朱爱斌 吴丽莎  陈永进 谢友柏
(西安交通大学润滑理论及轴承研究所)
  摘 要:分析了如何将原有大量由Fortran编写的计算程序转换为能够在网络上提供计算服务的网络应用系统的问题:提出了将Fortran计算程序改编为动态链接库,并将其封装为标准的COM组件,基于.Net框架开发Web服务组件,并在Web服务程序中调用Web服务,从而实现滑动轴承性能计算应用系统:该方法能够有效地减少原有计算程序向网络应用转化的复杂度,提高了实现效率。
  关键词:产品设汁;浏览器/服务器;动态链接库;滑动轴承
  “全球化”是当今世界的主流,许多市场领先的企业已经能够利用全世界的科技、自然和人力资源来实现产品全球分布的设计、分析、制造和市场营销。
  一个产品的总成本的70%~80%是由设计阶段决定的,因此,设计逐渐成为制造业的灵魂。随着网络、通信技术的发展,HTTP协议为所有的网络应用提供了统一的基础,出现了浏览器/服务器(Brow—ser/Server)结构。很多单位将原有的仅适用于单机使用的计算程序资源发布在网络上,使其他用户在产品设计阶段就可以通过网络来调用计算程序,从而实现基于互联网的合作产品没计。
  但是目前基于网络的浏览器/服务器架构的远程程序调用实践仍然有一些问题。某些原有的计算程序资源是由Fortran语言编写而成,无法直接从网络远程调用使用。目前很多单位为了能够在网络上提供远程程序调用服务,花费了大量精力用目前流行的编程语言重新编写程序算法和内核,这样既增加了原有计算程序向网络应用程序转化的复杂度,同时又可能在重新编写的过程中带来新的问题。本文作者提出了应用浏览器/服务器架构来实现将原有的Fortran程序改造为可以网络远程调用的程序,以实现网络应用的一种新的方法。
  1 总体框架设计
  笔者所在的研究所在滑动轴承性能计算方面,经过多年的研究,积累了丰富研究经验,且编写出一套计算程序。 但这些计算程序由Fortran语言编程实现,主要存在以下问题:使用不方便,没有良好的人机交界面:只能单机使用,不能通过互联网来提供性能计算服务;计算的输入、输出和分析结果不够直观和清晰。
  滑动轴承性能计算应用系统的总体框架如图1所示,根据实现过程主要包括4个模块:(1)动态链接库模块。利用Fortran Power Station将Fortran计算程序编制为动态链接库,并采用Visual Basic对其进行混合编程,封装为标准COM组件;(2)Web服务组件模块。在Microsoft Visual Studio.NET平台下开发出基于HTTP协议的Web服务组件,由网络应用系统进行服务调用;(3)网络数据库模块。采用SQLServer2000数据库,保存每组滑动轴承输入参数和计算所得的静动特性参数;(4)网络计算应用系统界面模块。供使用者方便地输入参数和得到计算结果,并提供报表打印功能。
  滑动轴承性能计算应用系统实现了普通圆瓦滑动轴承,椭圆瓦滑动轴承,错位瓦滑动轴承,多油叶滑动轴承,可倾瓦轴承等径向轴承以及面推力瓦轴承,可倾瓦轴承等推力轴承的性能参数计算。可以计算常用滑动轴承的动、静性能,包括在给定工况下的Z小油膜厚度、功耗、流量、温升、偏心率;油膜刚度、阻尼系数及失稳转速,以及在给定转速范围内各转速下的油膜刚度、阻尼系数。
  2 应用系统的实现
  2.1 将Fortran计算程序编制为动态链接库
  从技术上讲,动态链接库是一个可执行文件,但就其功能而吉,它可以作为应用程序的库,多个应用程序可以访问内存中单个动态链接库拷贝中的内容。使用动态链接库的好处在于:可以减少系统对内存的消耗;如果使用共用动态链接库中的函数,应用程序的可执行文件将会很小;在不改变函数接口的情况下,可以改变动态链接库中的函数而不必对应用程序重新进行编译和连接。这样可以很方便地对应用程序进行升级,另外使用动态链接库也可以很方便地进行混合语言编程。
  将Fortran计算程序编制为动态链接库,首先在Fortran PowerStation中新建工程,工程类型为“Windows动态链接库” (Dynamic—link Library)。然后分析原有滑动轴承的Fortran计算程序,这些程序包括圆瓦、椭圆瓦、错位瓦、多油叶和可倾瓦径向滑动轴承计算程序,以及面推力瓦、可倾瓦推力滑动轴承计算程序。分析这些计算程序的输入/输出参数,由此确定动态链接库导出函数的输入/输出参数。原计算程序的输入参数将作为导出函数的输入参数,原计算程序的输出参数将全部放在数组中输出。Z后使用微软扩展属性DLLEXPORT定义动态链接库与外部程序的接口。动态链接库中可以有多个子程序和变量,但只有具有DLLEXPORT属性的子程序和变量向动态链接库外输出供其它应用程序访问。
  使用DLLEXPORT属性生命输出子程序和变量可以避免使用模块定义(.def)文件并且会产生高效的可执行代码。例如如果需要导出函数名为PBMCAL的函数,则必须在函数头中使用!ms S attributes dllexport::PBMCAL,申明该函数为导出函数:
  2.2 动态链接库封装为标准的COM组件
  由于Fortran PowerStation中编译而得的DLL是标准的COM组件,不能直接在Web服务程序中:所以需要利用Visual Basic将前面的动态链接库封装成标准的COM组件。在这一过程中需要注意的一个主要问题是Fortran缺省约定的缺省参数传递方式是引用方式(Reference)。在这种引用方式下,所传递的都是参数的地址,如果在子过程中对参数进行了修改,这一修改将带回到调用过程。而在传值方式下,所传递的是参数的当前值,子过程对于参数的修改不会对调用过程的参数值产生影响。在VB中,用Declare声明外部过程,在声明中将BYVAL关键字放在传值传递的参数前,不加说明的或者用BYREF关键字声明的就是引用传递。
  将该ActiveX DLL工程编译后即可得到标准的COM组件,可以用于Web应用组件和程序的调用。
  2.3 开发Web服务组件
  在Microsoft Visual Studio.NET中新建工程,工程类型为“ASP.NET Web服务”。在引用中添加COM组件引用,在COM组件一栏中添加利用Visual Basic转化成的标准动念链接库。然后将添加的动态链接库内的类进行实例化,在编程中调用这些类所提供的各类函数及算法,通过计算处理,开发完成Web服务组件。
  引用动态链接库后,经过类初始化,程序就可以调用动态链接库内部的类以及它的函数。只要知道Web服务程序接口信息及调用方式,其它程序或者开发人员也可以直接调用此项Web服务组件,得到XMI.格式的性能计算结果参数。
  2.4 实现滑动轴承性能计算应用系统的界面
  开发实现滑动轴承性能计算应用系统的界面,主要是要解决原有Fortran程序没有良好的人机交互界面的问题,并且将性能计算的输入参数,输出的性能计算结果直观和清晰地呈现给使用者。
  滑动轴承性能计算应用系统提供了良好的用户界面。各类轴承均附有简图,标明轴承有关结构参数、符号意义及关系公式。点击图形放大按钮可获放大。输入参数和输出参数(包括用于许用判定的参数)设计在同一界面上,方便用户输入参数后,计算后直接可见输出参数,便于判断输出参数是否合适,同时将计算结果保仔到后台数据库。如果计算得出的参数不合适,用户就可以方便调整某个输入参数,重新计算,直到满足用户 设计要求。如果需要输出计算结果报表, 以生成结果报表,便于保存和查阅。
  输入参数为有量纲参数,包括:偏心率(直径间隙);各种轴承结果、几何参数(影响轴承使用特性的有关参数,描述与轴承图形事例一致);轴的转速、轴承受力的大小(径向力、轴向力)、力在轴承中的位置;进油油度、压力、润滑油参数等。
  输出参数为有量纲参数,包括:需用载荷(轴承比压)、Z小油膜厚度、承载区Z高工作温度、霄诺数、偏心距;轴承所需曼的油量、功耗;轴在轴承中的位置、Z小油膜位置相对轴承剖分面的夹角等;油膜刚度、阻尼系数及失稳转速等。
  2.5 性能参数数据库的实现
  计算滑动轴承的静动参数是滑动轴承性能计算应用系统的主要任务,同时系统也采用SQI Server2000数据库,根据不同的滑动轴承类型,保存了每次性能计算的输入参数和性能计算所得的滑动轴承静动特性。这样,在有同样的输入参数输入时,在Web服务组件模块可以做一判断,数据库中已经有相应的静动特性参数,则直接从数据中读取返回给用户,这样既节约了服务器的计算资源,也提高了对用户请求的响应速度。
  3 结束语
  将原有的Fortran程序改造成为能够在网络上提供计算服务的网络应用系统,克服了笔者所在研究所的原有计算程序资源不能在网上运行的缺点,使原来只能在单机上运行的,成为可以用来在Web上提供性能计算服务的滑动轴承性能计算应用系统。这样简化了原有计算程序向Web应用转化的难度,只要对源程序稍加改造,添加接口服务程序,对原有计算程序核心代码的修改很少,可以充分保持原计算正确性和健壮性,避免了重新编码可能带来的新的错误,提高效率。
来源:《润滑与密封》2005年01期
服务热线:15618632192 / 15618783363
版权所有 © 上海堃旌轴承有限公司      ICP备:沪ICP备18003889号