利用DCOM进行汽车检测线分布式系统的设计探讨

时间:2022-06-10 12:02:25

利用DCOM进行汽车检测线分布式系统的设计探讨

【摘 要】本文对利用DCOM技术进行汽车检测线分布系统的设计原理进行了简要介绍,并提出汽车检测线系统的实现目标、设计思想以及设计目标等。

【关键词】组件;汽车检测线;DCOM

随着网络的高速发展,软件科学的应用也越来越广泛,越来越多种多样。在汽车工业高度发达的现今,对软件的应用的要求也逐渐提升。在这种形势下,组件化程序设计思想就变得极为关键。将比较复杂的应用程序设计成为功能单一的组件模块,这就是组件化的设计思想。于是,微软对此提出了COM标准,组件程序之间也变得具有规范化。客户程序和组件对象将在不同计算机上运行,所以就需要将COM规范扩展为DCOM,也就是分布式组件对象模型。分布式组件对象模型能够支持不同计算机上客户程序与组件对象之间的通信往来。计算机可以在英特网上,亦可在局域网范围。汽车的烟度、废气、加速时间、速度等各种项目必须要采用汽车检测线系统来对其进行检测。它包含:系统维护子系统、财务子系统、检测业务管理子系统、监控子系统、测控子系统、车辆登录子系统。测控子系统的工位机的布局中需要设置底盘测工位机、发动机分析仪工位机等,进行对子系统的测控作业。而且,子系统和可以合并为一个工作站进行工作。例如,作为主控机,可以将系统维护子系统、检测业务管理子系统、监控子系统联合起来。

1.汽车检测线的设计

在传统的检测线系统中,我们不能单独进行每个工位的检测,因为各个检测工位都是独立的,进行的也只是乱序随机检测。通过网络邻居,由主控机来进行每个工位机上的操作,后台的时钟控制了上线车辆的所有检测。这种检测方式的网络结构层次比较混乱,而且,不能达到扩展的要求,不能对完成配置的检测线进行修改。汽车检测线的控制系统为分布式,我们在它的内容里添加了数据库服务器,可以用来存储上线汽车的评价结果、终检结果、基本数据等。

数据库服务器、主控机、工位机可以通过局域网进行连接,操作数据库以及各工位机服务器的工作由主控机承担。工位机临时数据表中记录了工位机对汽车项目的检测的临时数据。通过局域网的传输,上线汽车的评价结果、最终结果以及基本的检测和数据被传到数据库的服务器上。上线汽车检测结果的最终报表和检测汽车项目由主控器通过读取数据库服务器的相关数据来决定。操作人员能够实行对各个工位机独立操作,同时还可以通过主控机实现对上线汽车检测流程的控制。另外,为了可以使操作人员实现更大的检测灵活性,还可以通过主控程序对各项检测项目、工位机配置进行更改等。

2.汽车检测线的基本设计

我们采用DCOM编程思想来实现上述设计。作为Server端,各工位机上安装组件程序,作为Client端主控机上的客户程序对它进行访问。最终的评价结果以及数据进过网络传输到数据库服务器的SQL数据库中,而各个工位的临时数据则存放于工位机的ACCESS表中。当车辆进行初检时,车辆的基本信息会记录在数据库的服务器中。若为车辆复检,那么,就先进行数据库服务器的车辆有关信息的读取程序,再确定车辆即将检测的项目。要想进行异步间通信,必须要采用Scrver端和Client端之间触发事件RaiseEvent的方式来实现。

3.汽车检测线的设计

设计数据库:各个表在数据库服务器中的定义:w_quequ车辆检测队列表; w_item检测项目表;w_status工作状态表;w_safe汽车安全性能检测项目结果信息表;w_info汽车上线检测项目表;w_coll汽车综合性能检测项目结果信息表。Server端作为远程服务器文件被安装在各个工位机上,它被设计成进程外组件程序。在各项检测模块中,项目对应为组件程序模块来操作该检测项目。例如:完成读取上线汽车在数据库中的基本数据、保存以及读取并处理临时的数据、将检测设备进行初始化、定标检测项目设备、处理检测数据、向数据库服务器中传输最终评价结果等步骤。客户端程序要想完成检测项目只需访问对应的模块即可。这也有助于保障各项检测项目的独立性。而且,只要访问模块内对应的定标函数就可以实现单独的检测定标等步骤。在Client端,也就是客户端的设计方面,包括主控程序及进程外组件程序2个部分。监控人员可以通过主控程序来控制整个检测线的运转,因为它提供了整个车辆检测线的操作界面。进程外组件程序控制着车辆检测流程。

客户端主控程序在进行车辆检测时,提供出中心控制以及整个操作界面,它能够处理N辆车在不同工位同时进行检测。这就要用到组件技术来并行处理车辆的检测过程。如果,每一辆车就是一个组件的话,那么,主控程序为了能够实现检测的并行和调度处理就需要通过对组建的生产和销毁进行控制。控制车辆检测流程的进程外组件时,为了实现后台操作,客户端的进程外组件程序设计成为了Server端和主控程序的桥梁,它使用时钟控制检测流程函数。

由于,并非在同一台机器上安装对应每个检测项目所调用的Server组件程序,所以,在调用时,均对应每项检测创建一个Server组件基本相同。在车辆结束所有检测项目时,该组件立即被销毁。Server端的各个检测模块间与程序组件通过出发事件RaiseEvent进行异步通信,在其内部完成对Server端所有检测模块触发的事件进行处理。还可以通过主控程序对用户较为感兴趣的事件进行相应处理,例如:提供车辆完成工位检测、车辆驶进工位检测等。另外,还在组件程序中加入表示检测状态的事件,这样可以防止在调用组件时,主控程序产生盲动。例如:车辆正在进行检测、车辆开始检测、车辆结束检测等。

在各个工位机上安装了组件程序,这就有效避免了客户端在调用不同工位机的组件程序时,远程机器网络位置为同一值的现象。为了使主控程序中实现对工位机IP地址的配置,在创建组件程序对象时,要求网络的IP地址为可变的。在各个工位机上的DCOM服务器程序将文件复制到客户端的硬盘力。客户端进程外组件程序直接引用复制到硬盘上的文件后,可以在客户端创建网络位置可变的服务器端对象。

4.结束语

运用了DCOM技术可以实现汽车检测线分布系统的设计,且针对传统的检测线设计中的工位机不能更改配置等的缺陷进行了改善,从而达到单独控制各个检测项目。 [科]

【参考文献】

[1]张英朝,张喆,李杰.汽车风洞支撑干扰扣除方法研究[J].实验流体力学,2011(3).

上一篇:关于动物防疫工作存在的相关问题及建议 下一篇:高速公路路基施工问题研究