支持产品设计的滑动轴承网络计算程序的研究

时间:2021-03-10 20:07:16 硕士毕业论文 我要投稿

支持产品设计的滑动轴承网络计算程序的研究

  摘要:分析了如何将原有大量由Fortran编写的科学计算程序转换为能够在网络上提供计算服务的网络应用程序的问题。提出了将Fortran程序改编为动态链接库,并进一步包装为标准的COM组件的方法,在网页中调用组件进行计算,从而能够较好地实现在浏览ll/Jl~.务器结构下通过计算程序资源的远程调用来支持产品的设计过程。

支持产品设计的滑动轴承网络计算程序的研究

  关键词:产品设计;浏览服务器;动态链接库;滑动轴承

  l、引 言

  产品设计是制造业的灵魂。虽然产品设计阶段的投入只占产品总成本的约5%,而设计过程所做的决策几乎决定了产品全部成本的约70%。产品的结构、性能、质量(全面满足用户要求)、成本(全成本)、交货时间(含新产品开发时间)以及可制造性、可维修性(含产品升级)以及人、机、环境关系等,原则上都是在产品的设计阶段确定的“。 。

  随着通信Web技术的发展,由于HTTP (HyperTextTransfer Protocol,超文本传输协议)协议为所有的应用提供了统一的基础,解决层的问题,出现了所谓浏览器/服务器(Browser/Server)结构。将计算程序资源发布在网络上,使其他用户在产品设计阶段就可以通过网络来使用计算程序,从而支持产品设计,这已经成为一种趋势。

  但是目前在基于网络的浏览器/服务器架构的远程程序调用实践中仍然有一些问题。某些原有的科学计算程序资源是由Fortran 语言编写而成,无法直接从网络远程调用使用,限制了其使用方式。目前很多单位为了能够在网络上提供远程程序调用服务,花费大量精力用目前流行的编程语言重新编写程序算法和内核,这样增加了原有科学计算程序向Web应用转化的复杂度,同时可能在重新编写的过程中带来新的问题。本文提出了如何应用浏览器/服务器架构来实现将原有的Fortran程序改造为可以网络远程调用的WEB应用程序的一种新的方法。

  2、浏览器/,服务器(Browser/Server)结构在基于Web的客户/服务器框架下,第l层为表示层,一般为基于HTML(HyperText Markup Language,超文本标记语言)的浏览器,同时可以使用一些客户端控件或脚本技术来丰富用户界面。它将用户的输入信息以HTrP请求的方式发送到Web服务器上,并接收Web服务器返回的数据,将数据显示在Web浏览器上。

  第2层为功能层,功能层接收来自网络客户的请求,根据请求中包含的用户参数,执行以组件形式存在的应用逻辑(包括数据库操作和远程程序调用等服务),与数据库服务器通信,执行数据库访问操作或执行计算程序,并将处理结果传送回客户端。由于这些规则要通过网络传输,会带来安全性的问题,采用SSL(Secure Sockets Layers,安全套接层)可以减少安全风险。在某些情况下,为增加安全性或当浏览器不具有处理这些规则的能力,功能层则可以位于服务器端。

  第3层为数据层,负责管理对数据库数据的操作,维护数据库的各种约束条件,位于数据库服务器端。该层接收wleb服务器对数据库访问的请求,实现对数据库查询、修改、更新等功能,把执行结果返回给Web服务器。

  因此,在B/S结构下,第l层位于浏览器端,第3层位于服务器端,第2层即功能层可以位于浏览器端,也可以位于服务器端,一般来说功能层位于服务器端比较合适。

  基于Web的浏览器/服务器(B/S)结构是由客户/服务器(c/s)结构转化而来的,也可以认为B/S模式是传统C/S模式的一个子集。

  浏览器/服务器模式的优点在于,由于Web支持底层的TCP/IP协议,使Web与目前使用的几乎所有局域网都可以做到无缝连接,从而彻底解决了异构系统间的连接问题;由于Web采用了”瘦客户端“,使系统的开放性得到很大的改善,系统对将要访问系统的用户数的限制有所放松;系统的相对集中性使得系统的维护和扩展变得更加容易。比如,数据库存储空间不够,可再加一个数据库服务器;系统要增加功能,可以新增一个应用服务器来运行新功能;界面统一(全部为浏览器方式),操作相对简单;业务规则和数据捕获的程序容易分发等。

  3、具体实现

  3.1 将Fortran计算程序编制为动态链接库从技术上讲,动态链接库是一个可执行文件,就其功能而言,它可作为应用程序的`库,多个应用程序可访问内存中单个动态链接库拷贝中的内容。使用动态链接库的好处在于可减少系统对内存的消耗;如使用共用动态链接库中的函数,应用程序的可执行文件将会很小;在不改变函数接口的情况下,可改变动态链接库中的函数而不必对应用程序重新进行编译和连接。这样可很方便地对应用程序进行升级;另外使用动态链接库可方便地进行混合语言编程 。

  将Fortran计算程序编制为动态链接库的过程为如下:

  (1)在Fortran PowerStation中新建工程,工程类型为”Windows动态链接库“(Dynamic.1ink Library)。

  (2)分析原有滑动轴承的Fortran计算程序,这些程序包括圆瓦、椭圆瓦、错位瓦、多油叶和可倾瓦径向滑动轴承计算程序,以及面推力瓦、可倾瓦推力滑动轴承计算程序。分析这些计算程序的输入/输出参数,由此确定动态链接库导出函数的输入/输出参数。原计算程序的输入参数将作为导出函数的输入参数,原计算程序的输出参数将全部放在数组中输出。

  (3)使用微软扩展属性DLLEXPORT定义动态链接库与外部程序的接口。动态链接库中可以有多个子程序和变量,但只有具有DLLEXPORT属性的子程序和变量可以向动态链接库外输出供其它应用程序访问。使用DLLEXPORT属性生命输出子程序和变量可以避免使用模块定义(。def)文件并且会产生高效的可执行代码。举例如下:

  如果需要导出函数名为PBMCAL的函数,则必须在函数头中使用!ms$attributes dllexport::PBMCAL,申明该函数为导出函数。

  由于Fortran PowerStation中编译而得的DLL不是标准的COM组件,不能直接从网络调用,所以作者提出用VB的ActiveX DLL工程将该DLL的功能包含,输入/输出参数与其一致,所得的标准COM组件可以用于网络调用。

  3.2 利用Visual Basic将DLL封装成标准的COM组件ActiveX控件是实现VB面向对象特性最有利的工具。

  ActiveX控件不同于其它对象。控件不仅仅是代码,它还具有类似窗体的可视部分,但是又与窗体不同,它不能脱离容器而单独存在” 。另外,控件同时被开发者和最终用户使用,尽管意义不同。

  在VB开发环境中建立新工程,其类型为ActiveX DLL工程类型,然后在工程中调用Power Fortran编制的DLL文件,以径向圆瓦滑动轴承为例,调用格式如下:

  Public Declare Sub PBM CAL Lib “PBM 2.(u1” Alias“一PBMCAL@52”(eta As Single,omeg As Single,radiu As Single,boverd As Single,weight As Single,psai As Single,kind As Integer,ByRef dt As Single, ByRef xtt As Single, psaiw2 AsSingle,Index As Integer, aett2 As Single,ByRef OResult AsSingle)其中eta为润滑油的动力粘度,omeg为转速,radiu为轴承半径,boverd为宽径比,weight为工作载荷,psai为间隙比,kind为轴承类型,psaiw2为载荷与铅垂线的夹角。(度)(顺转向为正),aett2为平均温度,OResult是数组格式,其将所有的计算结果置于数组中而导出。

  在混合语言编程中需要注意的一个主要问题是Fortran缺省约定的缺省参数传递方式是引用方式(Reference)。在这种引用方式下,所传递的都是参数的地址,如果在子过程中对参数进行了修改,这一修改将带回到调用过程。而在传值方式下,所传递的是参数的当前值,子过程对于参数的修改不会对调用过程的参数值产生影响。在VB中,用Declare声明外部过程,在声明中将BYVAL关键字放在传值传递的参数前,不加说明的或者用BYREF关键字声明的就是引用传递。

  将该ActiveX DLL工程编译后即可得到DLL文件,该DLL文件是标准的COM组件,可以用于Web网页的调用。

  3.3 采用ASP程序在Web网页调用ActiveX控件ASP除了可以调用内嵌的ActiveX控件外,还可以调用由用户编写的标准的ActiveX控件。在使用控件前先要进行定义。以径向圆瓦滑动轴承为例,在ASP程序中主要调用部分如下:Set objCalc=Server.Createobject(‘'prjFor.clsFor'’)‘创建圆瓦径向滑动轴承性能计算组件对象实例objCalc.snglnput=Array(eta,omeg,radiu,boverd,weight,psai,kind.,d 1),xtt(1),.psaiw2,index2,aett2,OResult(1))’给输入参数数组赋值objCalc.PbmCacl‘调用计算程序接口函数进行计算该ASP程序调用界面如图2所示。计算完毕,输出参数可以从0 Calc.Oresult得到,显示在Web网页上,供用户进一步处理。

  4、系统运行模型采用UML(UnifiedModeling Language,统一建模语言)对滑动轴承网络计算程序的运行过程进行建模

  计算滑动轴承静动参数是计算程序的主要任务,在系统运行模型中加入数据库服务的支持,主要目的是保存每组输入参数所对应的滑动轴承静动特性,这样在有同样的输入参数输入时,在功能层可做出判断,数据库中已有相应的静动特性参数,则直接从数据库中读取返回给用户,这样既节约了服务器的计算资源,也提高了对用户请求的响应速度。

  5、结束语

  这种将原有的Fortran程序改造为可以网络远程调用的Web应用程序的新方法克服了作者所在研究所原有科学计算程序资源不能在网上运行的缺点,将原来只能在单机上运行的程序,改造成为可以用来在Web上提供服务的标准COM组件,利用ASP程序调用标准的COM组件。这样简化了原有科学计算程序向Web应用转化的复杂度,只要对源程序稍加改造,添加接口服务程序,对原有科学计算程序核心代码的修改很少,可以充分保持原有科学计算程序的正确性和健壮性,避免了重新编码可能带来的新的错误,提高了工作效率。

  参考文献:

  [1] 谢友柏。现代设计与知识获取[J】。中国机械工程,1996,7(6):364 1.

  [2] JIN Lu Stephen.Toward a better understanding of enginee.-ring design models[M].Shaker Verlag GmbH,。Aachen,。1998.71—86.

  [3】 桂良进。Fortran power station~0使用与编程[M].北京航空航天大学出版社,1999.258293.

  [4] 王清贤,王红霞,王磊。Visual basic activeX编程实例详解[M】。北京:人民邮电出版社,2000.9—16.

【支持产品设计的滑动轴承网络计算程序的研究】相关文章:

浅谈基于Pushlet推技术的网络应用程序开发的研究08-09

产品设计中的用户体验策略研究10-01

基于复杂网络理论的计算机网络拓扑研究08-24

计算机在产品设计的应用论文07-31

研究计算机网络信息安全的论文06-30

计算机网络拓扑结构的分类研究10-05

网络程序员简历的范文10-13

网络环境下计算机病毒的防治研究论文06-26

关于网络传播计算机病毒的研究分析论文07-25