唐海霞
【摘 要】本文對利用DCOM技術(shù)進(jìn)行汽車檢測線分布系統(tǒng)的設(shè)計(jì)原理進(jìn)行了簡要介紹,并提出汽車檢測線系統(tǒng)的實(shí)現(xiàn)目標(biāo)、設(shè)計(jì)思想以及設(shè)計(jì)目標(biāo)等。
【關(guān)鍵詞】組件;汽車檢測線;DCOM
隨著網(wǎng)絡(luò)的高速發(fā)展,軟件科學(xué)的應(yīng)用也越來越廣泛,越來越多種多樣。在汽車工業(yè)高度發(fā)達(dá)的現(xiàn)今,對軟件的應(yīng)用的要求也逐漸提升。在這種形勢下,組件化程序設(shè)計(jì)思想就變得極為關(guān)鍵。將比較復(fù)雜的應(yīng)用程序設(shè)計(jì)成為功能單一的組件模塊,這就是組件化的設(shè)計(jì)思想。于是,微軟對此提出了COM標(biāo)準(zhǔn),組件程序之間也變得具有規(guī)范化??蛻舫绦蚝徒M件對象將在不同計(jì)算機(jī)上運(yùn)行,所以就需要將COM規(guī)范擴(kuò)展為DCOM,也就是分布式組件對象模型。分布式組件對象模型能夠支持不同計(jì)算機(jī)上客戶程序與組件對象之間的通信往來。計(jì)算機(jī)可以在英特網(wǎng)上,亦可在局域網(wǎng)范圍。汽車的煙度、廢氣、加速時間、速度等各種項(xiàng)目必須要采用汽車檢測線系統(tǒng)來對其進(jìn)行檢測。它包含:系統(tǒng)維護(hù)子系統(tǒng)、財(cái)務(wù)子系統(tǒng)、檢測業(yè)務(wù)管理子系統(tǒng)、監(jiān)控子系統(tǒng)、測控子系統(tǒng)、車輛登錄子系統(tǒng)。測控子系統(tǒng)的工位機(jī)的布局中需要設(shè)置底盤測工位機(jī)、發(fā)動機(jī)分析儀工位機(jī)等,進(jìn)行對子系統(tǒng)的測控作業(yè)。而且,子系統(tǒng)和可以合并為一個工作站進(jìn)行工作。例如,作為主控機(jī),可以將系統(tǒng)維護(hù)子系統(tǒng)、檢測業(yè)務(wù)管理子系統(tǒng)、監(jiān)控子系統(tǒng)聯(lián)合起來。
1.汽車檢測線的設(shè)計(jì)
在傳統(tǒng)的檢測線系統(tǒng)中,我們不能單獨(dú)進(jìn)行每個工位的檢測,因?yàn)楦鱾€檢測工位都是獨(dú)立的,進(jìn)行的也只是亂序隨機(jī)檢測。通過網(wǎng)絡(luò)鄰居,由主控機(jī)來進(jìn)行每個工位機(jī)上的操作,后臺的時鐘控制了上線車輛的所有檢測。這種檢測方式的網(wǎng)絡(luò)結(jié)構(gòu)層次比較混亂,而且,不能達(dá)到擴(kuò)展的要求,不能對完成配置的檢測線進(jìn)行修改。汽車檢測線的控制系統(tǒng)為分布式,我們在它的內(nèi)容里添加了數(shù)據(jù)庫服務(wù)器,可以用來存儲上線汽車的評價結(jié)果、終檢結(jié)果、基本數(shù)據(jù)等。
數(shù)據(jù)庫服務(wù)器、主控機(jī)、工位機(jī)可以通過局域網(wǎng)進(jìn)行連接,操作數(shù)據(jù)庫以及各工位機(jī)服務(wù)器的工作由主控機(jī)承擔(dān)。工位機(jī)臨時數(shù)據(jù)表中記錄了工位機(jī)對汽車項(xiàng)目的檢測的臨時數(shù)據(jù)。通過局域網(wǎng)的傳輸,上線汽車的評價結(jié)果、最終結(jié)果以及基本的檢測和數(shù)據(jù)被傳到數(shù)據(jù)庫的服務(wù)器上。上線汽車檢測結(jié)果的最終報(bào)表和檢測汽車項(xiàng)目由主控器通過讀取數(shù)據(jù)庫服務(wù)器的相關(guān)數(shù)據(jù)來決定。操作人員能夠?qū)嵭袑Ω鱾€工位機(jī)獨(dú)立操作,同時還可以通過主控機(jī)實(shí)現(xiàn)對上線汽車檢測流程的控制。另外,為了可以使操作人員實(shí)現(xiàn)更大的檢測靈活性,還可以通過主控程序?qū)Ω黜?xiàng)檢測項(xiàng)目、工位機(jī)配置進(jìn)行更改等。
2.汽車檢測線的基本設(shè)計(jì)
我們采用DCOM編程思想來實(shí)現(xiàn)上述設(shè)計(jì)。作為Server端,各工位機(jī)上安裝組件程序,作為Client端主控機(jī)上的客戶程序?qū)λM(jìn)行訪問。最終的評價結(jié)果以及數(shù)據(jù)進(jìn)過網(wǎng)絡(luò)傳輸?shù)綌?shù)據(jù)庫服務(wù)器的SQL數(shù)據(jù)庫中,而各個工位的臨時數(shù)據(jù)則存放于工位機(jī)的ACCESS表中。當(dāng)車輛進(jìn)行初檢時,車輛的基本信息會記錄在數(shù)據(jù)庫的服務(wù)器中。若為車輛復(fù)檢,那么,就先進(jìn)行數(shù)據(jù)庫服務(wù)器的車輛有關(guān)信息的讀取程序,再確定車輛即將檢測的項(xiàng)目。要想進(jìn)行異步間通信,必須要采用Scrver端和Client端之間觸發(fā)事件RaiseEvent的方式來實(shí)現(xiàn)。
3.汽車檢測線的設(shè)計(jì)
設(shè)計(jì)數(shù)據(jù)庫:各個表在數(shù)據(jù)庫服務(wù)器中的定義:w_quequ車輛檢測隊(duì)列表; w_item檢測項(xiàng)目表;w_status工作狀態(tài)表;w_safe汽車安全性能檢測項(xiàng)目結(jié)果信息表;w_info汽車上線檢測項(xiàng)目表;w_coll汽車綜合性能檢測項(xiàng)目結(jié)果信息表。Server端作為遠(yuǎn)程服務(wù)器文件被安裝在各個工位機(jī)上,它被設(shè)計(jì)成進(jìn)程外組件程序。在各項(xiàng)檢測模塊中,項(xiàng)目對應(yīng)為組件程序模塊來操作該檢測項(xiàng)目。例如:完成讀取上線汽車在數(shù)據(jù)庫中的基本數(shù)據(jù)、保存以及讀取并處理臨時的數(shù)據(jù)、將檢測設(shè)備進(jìn)行初始化、定標(biāo)檢測項(xiàng)目設(shè)備、處理檢測數(shù)據(jù)、向數(shù)據(jù)庫服務(wù)器中傳輸最終評價結(jié)果等步驟??蛻舳顺绦蛞胪瓿蓹z測項(xiàng)目只需訪問對應(yīng)的模塊即可。這也有助于保障各項(xiàng)檢測項(xiàng)目的獨(dú)立性。而且,只要訪問模塊內(nèi)對應(yīng)的定標(biāo)函數(shù)就可以實(shí)現(xiàn)單獨(dú)的檢測定標(biāo)等步驟。在Client端,也就是客戶端的設(shè)計(jì)方面,包括主控程序及進(jìn)程外組件程序2個部分。監(jiān)控人員可以通過主控程序來控制整個檢測線的運(yùn)轉(zhuǎn),因?yàn)樗峁┝苏麄€車輛檢測線的操作界面。進(jìn)程外組件程序控制著車輛檢測流程。
客戶端主控程序在進(jìn)行車輛檢測時,提供出中心控制以及整個操作界面,它能夠處理N輛車在不同工位同時進(jìn)行檢測。這就要用到組件技術(shù)來并行處理車輛的檢測過程。如果,每一輛車就是一個組件的話,那么,主控程序?yàn)榱四軌驅(qū)崿F(xiàn)檢測的并行和調(diào)度處理就需要通過對組建的生產(chǎn)和銷毀進(jìn)行控制。控制車輛檢測流程的進(jìn)程外組件時,為了實(shí)現(xiàn)后臺操作,客戶端的進(jìn)程外組件程序設(shè)計(jì)成為了Server端和主控程序的橋梁,它使用時鐘控制檢測流程函數(shù)。
由于,并非在同一臺機(jī)器上安裝對應(yīng)每個檢測項(xiàng)目所調(diào)用的Server組件程序,所以,在調(diào)用時,均對應(yīng)每項(xiàng)檢測創(chuàng)建一個Server組件基本相同。在車輛結(jié)束所有檢測項(xiàng)目時,該組件立即被銷毀。Server端的各個檢測模塊間與程序組件通過出發(fā)事件RaiseEvent進(jìn)行異步通信,在其內(nèi)部完成對Server端所有檢測模塊觸發(fā)的事件進(jìn)行處理。還可以通過主控程序?qū)τ脩糨^為感興趣的事件進(jìn)行相應(yīng)處理,例如:提供車輛完成工位檢測、車輛駛進(jìn)工位檢測等。另外,還在組件程序中加入表示檢測狀態(tài)的事件,這樣可以防止在調(diào)用組件時,主控程序產(chǎn)生盲動。例如:車輛正在進(jìn)行檢測、車輛開始檢測、車輛結(jié)束檢測等。
在各個工位機(jī)上安裝了組件程序,這就有效避免了客戶端在調(diào)用不同工位機(jī)的組件程序時,遠(yuǎn)程機(jī)器網(wǎng)絡(luò)位置為同一值的現(xiàn)象。為了使主控程序中實(shí)現(xiàn)對工位機(jī)IP地址的配置,在創(chuàng)建組件程序?qū)ο髸r,要求網(wǎng)絡(luò)的IP地址為可變的。在各個工位機(jī)上的DCOM服務(wù)器程序?qū)⑽募?fù)制到客戶端的硬盤力。客戶端進(jìn)程外組件程序直接引用復(fù)制到硬盤上的文件后,可以在客戶端創(chuàng)建網(wǎng)絡(luò)位置可變的服務(wù)器端對象。
4.結(jié)束語
運(yùn)用了DCOM技術(shù)可以實(shí)現(xiàn)汽車檢測線分布系統(tǒng)的設(shè)計(jì),且針對傳統(tǒng)的檢測線設(shè)計(jì)中的工位機(jī)不能更改配置等的缺陷進(jìn)行了改善,從而達(dá)到單獨(dú)控制各個檢測項(xiàng)目。 [科]
【參考文獻(xiàn)】
[1]張英朝,張喆,李杰.汽車風(fēng)洞支撐干擾扣除方法研究[J].實(shí)驗(yàn)流體力學(xué),2011(3).