摘要:针对目前常用的B/S三层模式远程机械设计支持系统,立足于带传动远程设计系统的开发实例,提出了一种Web环境下基于ASP技术的带传动远程设计的模块结构,着重论述了基于ASP数据库驱动技术的该系统内数据流动态交互计算的实现方法。实例应用证明本文的方法是可行的。
关键词:ASP;数据库驱动;数据流分析(DFA)技术;B/S模式
在传统的机械设计中,设计者经常要引用多种手册中的数据资料进行手工计算,如查询有关的实验曲线、图表以及各类标准和规范等,不仅费时而且准确性差,即使用单机CAD模式也有悖于当今网络化、信息化和智能化的发展趋势。Web应用可以将Internet/Intranet网络环境与数据库完美结合在一起,支持本地与异地的多任务与多用户并行协同工作,支持信息查询和信息共享。因此,将传统的CAD系统向基于Web的CAD平台转移是CAD发展的必然趋势,同时对规范设计文档管理、优化设计流程进而促进企业信息化具有积极意义。本文着重介绍Web环境下基于ASP数据库驱动技术的带传动远程设计过程中数据流动态交互计算的实现方法。
1系统的设计思想[1]
按照软件工程学的原理,进行总体设计的基本目的是回答“系统的任务以及应该如何实现”。通过这一阶段的工作将划分出组成网站系统的物理元素程序、文件、数据库、人工过程和文档等。因此,网站的总体设计主要考虑以下几个方面:
(1)在已有的总体功能基础上,将网站开发所要完成的功能进一步细分。即将本次开发所要完成的功能从软件工程的角度,并结合实际情况,细分成若干个模块。并且进一步明确各模块所要完成的功能。为了减轻服务器的负荷,充分利用客户端的处理能力,一般都把一些可以在客户端进行执行的功能在客户端进行执行。例如,把一些客户端客户要提交的信息在向服务器提交之前进行验证。这样不但可以校验客户输入的提交信息,防止出现一些粗心造成的,诸如因某项参数未输入或选择有误致使除数为零等运算错误。
(2)将各模块所要完成的任务,进一步的明确。同时,对各模块是否能够成功的完成,进行可行性分析。
(3)后台数据库的选定。
(4)将本次开发过程中,各模块都应该注意的问题,进行分析。
(5)对系统开发的总体风格,进行了进一步的明确。 经过分解后的设计,几乎可以同时进行开发设计,并且除了后台数据库在开发过程中处于首先应该被调试成功的位置,其他的模块可以同时进行设计或者调试与开发。
2系统的体系结构
2.1系统运行的支撑环境
如图1所示,系统采用目前交互式Web方案中常用的B/S三层模式及相应的软硬件环境。即Win2000 Server平台、以HTTP为传输协议、结合FrontPage 2000和DreamweaverUltraDev 4生成静态网页元素和动画图标,用VisioInterDev6.0为ASP编程工具、SQL Server 2000为数据库服务器,采用服务器端和客户端混合编程的ASP动态网页发布技术,从而构建图1所示的系统功能模块。与C/S模式相比具有客户端平台无关性和代码保密性等优点。

2.2ASP的核心技术
ASP 即Active Server Page,是微软推出的一种用于WWW服务的服务器端脚本环境且在Web应用中得到了最广泛的使用。他在站点的Web服务器上解释脚本,可产生并执行动态、交互式、高效率的站点服务器应用程序。利用他,可以很容易地把HTML标记、文本、脚本命令及ActiveX组件混合在一起构成ASP页,以此来生成动态网页,创建交互式的Web站点,实现对Web数据库的访问。
2.3ASP的工作原理[2,3]
当客户端浏览器向Web服务器请求一个.asp文件时,IIS(Internet Information Server)打开该ASP文件并执行相应的脚本;如果有访问数据库的请求,ASP内置组件ADO(ActiveX Data Object)通过ODBC/OLEDB访问数据服务器,对数据库进行访问,然后动态生成一个HTML页面并送到浏览器。ASP文件的制作和HTML类似,且可以与HTML开发集成,在同一个过程完成。通过ASP内置的对象、服务器组件(Server Component)可以完成非常复杂的任务,而且用户还可以自己开发或利用别人开发的服务器组件完成专门的任务。
本系统充分利用了面向对象的思想用COM对象—ActiveX控件实现各基本功能,再利用ASP将各个不同功能的ActiveX控件组合起来,完成CAD应用要求的工作。
利用ASP的ADO组件访问SQLServer数据库,具有很强的动态数据发布能力,基于ASP的Web网页可以根据用户的请求做出反应,如用户在浏览器上输入原始数据并提交表单,Web服务器执行相应的应用程序,而不是一个简单的HTML文件,该应用程序分析请求传送过来的数据,根据不同的请求和数据将执行结果(如数据库查询结果集和计算结果)形成动态HTML报表并传送给浏览器。
3系统的实现过程
3.1带传动设计中的数据流分析及其程序控制
在带传动设计过程中常根据带的截面形状来分类带传动类型,设计者应根据用途输入一些已知条件,包括工作机种类、传动目的、动力机额定功率、运转条件、动力机类型、工作机特性、工作制度、减速增速、高速轴转速(小带轮转速)、传动比(轴间距要求、许用带轮直径)系统在主界面用登录窗口控制访问权限的同时友好地引导客户进入相应的设计模块以切入正确的应用入口。当客户选定带的种类通过超链接进入相应的功能模块主页(平带、V带和同步带)后,将按照页面提示以填写表单方式输入设计所需的原始数据,然后向服务器提交。由于数据流的复杂性并需要适时交叉查表,编程时用VBscript和ASP代码综合控制访问者填写表单的顺序以保证设计过程的正常进行。下面以普通V带模块的设计为例加以说明:根据数据流分析的结构化软件分析方法,数据流分析技术(DFA)视系统模型的功能为数据变换,逻辑处理单元接受输入数据。使之变换成输出数据,数据流模型常用数据流程图(DFD)表示。图2为V带传动设计系统数据流程图,图3为系统主界面及普通V带模块交互界面。

在图3中:Ka为包角修正系数;KL为带长修正系数;P0为单根V带传递的额定功率;ΔP为传动比i≠1的额定功率增量;m为V带每米长的质量;Z为带的根数;F0为单根V带的预紧力;Fr为轴载荷。

系统中所用的数据表格有两类:一类是表格中的数据之间没有任何联系,称为数表,而另一类数据间有某种联系,称为列表函数。系统采用了数据表处理方法并对其中计算公式进行了改进[4]:
(1)表格的程序化将表格中的数据以数组的形式存储和检索,直接编在解题的程序中。常用V带轮的标准直径(63~800区段)的数列为63,71, 75,80,…,800共40个值,若将计算所得的带轮直径圆整为最接近的标准值,可先将标准直径的数值读入数组中,然后从大到小依次与计算值比较,最后在2个邻近的标准值中找到最接近计算值的值。设计是一个反复的过程,在带传动设计时,小带轮直径d1由用户根据实际情况自行确定,再由转速n1和d1计算带速,一般应使v在5~25m/s的范围内。若不符合要求,可通过重新选择d1来调整。交由客户端处理的程序代码如下:


(2)表格的文件化将数表中的数据编成为一个与程序分开的数据文件;本系统采用基于ODBC数据接口的ActiveX数据对象(ADO)来访问 Microsoft SQLServer2000数据库中的数据资源。首先建立一个名称为Daicd(带传动)的ODBC系统数据源DSN,在测试新数据源成功以后,再将设计所需的数表按模块(平带、V带、同步带)分类,根据数据类型逐一建表。在数值计算过程中,有时需要根据上一步计算值查表,有时需要交叉查表,程序设计


(3)复杂线图的处理对于V带选型图这样较复杂的线图,客户端只需输入计算功率和小带轮转速值即可由系统自动准确地确定带型,不再由客户根据线图选择后输入。程序处理方法是:拟合边界直(曲)线,通过条件语句判断,最后得到检索结果,如图4所示。

由该线图可知,区别各种型号的边界均为直线,因此可用直线方程来确定边界上的坐标,由于该线图为对数坐标系(参见图5),纵坐标为小带轮转速R;横坐标为计算功率P则有:

若A,B两点的坐标值已知,则对于某一确定的R,就有一个确定的值,记为C,即:lgP=C,P=10c,由线图上查得斜线首末两点的坐标值,由左向右类推可得到:

P和转速R选择带型的问题转化成判断坐标点(P,R)处在哪个区域的问题了。例如转速R<170 r/min时程序判断带型的逻辑框图如图6所示。


3.2实现动态交互计算和在线实时报表的关键技术
利用ASP数据库驱动技术,在程序设计中结合ADO组件和VBscript脚本,通过T-SQL语句(创建,更新,插入,操作多表等)动态生成数表并实时提取计算所需的数据:
(1)global.asa文件和Application对象存储在线设计共享级信息数据。
(2)Request和Session对象传递在线设计动态数据,用于各模块设计流程。
(3)ADO对象实现数据库访问,是ASP性能优越性的集中体现。
(4)Response对象向浏览器发送响应信息。
3.3网上浏览2D/3D图形的设计考虑
由于带传动结构设计的专业性较强,以查询图形库的形式只能访问事先储存的标准准结构,因此,具有实用性的远程结构设计应结合专家系统的设计,以适应不同客户层特别是企业内非标准设计访问者的需求。本系统采用客户超链接单帧显示带轮二维结构图形的方式实现图形在线浏览,客户端只需装有AutoDesk公司的 Whip!或VoloViewExpress图形浏览插件即可,限于篇幅,图形界面及程序实现过程从略。
4结语
本文旨在探讨远程CAD系统中数据流的程序处理方式和以ASP数据库技术为基础的动态交互计算的实现过程。随着Microsoft革命性的. NetFrame Works平台的应用,以Web Forms,Web Service和ADO.net为基础的Web-CAD系统将朝着交互性更好、图形传输效率更高、多系统集成性更完善的方向发展。
参考文献
[1]赵汝嘉,殷国富.CAD/CAM实用系统开发指南[M].北京:机械工业出版社,2002.
[2][美]Greg Buczek.ASP应用开发指南[M].北京:科学技术出版社,2003.
[3]武延军.精通ASP网络编程[M].北京:人民邮电出版社,2002.
[4]汤嘉吉.V带传动新算法[J].现代机械,2003,(5).
[5]张胜霞,谢让.基于Web的机械设计支持系统的开发[J].现代机械,2002,(3).