摘 要: 針對(duì)傳統(tǒng)的鎖具耐久性試驗(yàn)系統(tǒng)可靠性差、造價(jià)高、響應(yīng)速度慢的不足,設(shè)計(jì)并實(shí)現(xiàn)了一種新的摩托車鎖具耐久性試驗(yàn)系統(tǒng)。對(duì)該系統(tǒng)的工作原理、系統(tǒng)結(jié)構(gòu)特別是軟件設(shè)計(jì)進(jìn)行了詳盡的論述。該系統(tǒng)采用VC進(jìn)行基于組件的模塊化開(kāi)發(fā),并且使用數(shù)據(jù)庫(kù)軟件存儲(chǔ)采集數(shù)據(jù),在設(shè)計(jì)思想上具有獨(dú)創(chuàng)性,設(shè)備操作的便捷性和適用性相對(duì)較好,實(shí)際運(yùn)行效果良好。
關(guān)鍵詞: 鎖具;耐久試驗(yàn);模塊化開(kāi)發(fā)
0 引言
作為人們?nèi)粘J褂玫年P(guān)鍵物品,鎖具種類在不斷地發(fā)展與增多。為了保證鎖具的產(chǎn)品質(zhì)量,鎖具的耐用度試驗(yàn)是十分必要的。數(shù)量龐大的試驗(yàn)單獨(dú)依靠檢測(cè)員手工完成是不現(xiàn)實(shí)的,相關(guān)技術(shù)人員通過(guò)長(zhǎng)時(shí)間的開(kāi)發(fā),已經(jīng)研制成功了機(jī)械鎖具耐用試驗(yàn)臺(tái)。試驗(yàn)時(shí),將機(jī)械鎖用特制夾具安裝在試驗(yàn)儀上,使用步進(jìn)電機(jī)通過(guò)傳動(dòng)機(jī)構(gòu)帶動(dòng)鎖體或鑰匙分別運(yùn)動(dòng),模擬人使用鎖具的整個(gè)過(guò)程,測(cè)量其使用耐久性,從而達(dá)到檢測(cè)鎖具質(zhì)量?jī)?yōu)劣的目的[1]。
但是,這些原有鎖具耐久性試驗(yàn)臺(tái)具有很多缺點(diǎn):機(jī)械部分結(jié)構(gòu)復(fù)雜,可靠性差,造價(jià)高;軟件部分響應(yīng)速度慢,要完成插拔、旋轉(zhuǎn)等鎖具動(dòng)作的一個(gè)工作循環(huán)平均需要30~50 s,對(duì)鑰匙插拔力和旋轉(zhuǎn)力的測(cè)量精度低,缺乏準(zhǔn)確有效的標(biāo)定方式,使系統(tǒng)得不到有效的保護(hù)。例如經(jīng)常出現(xiàn)鑰匙的位移和旋轉(zhuǎn)過(guò)大或不足,導(dǎo)致鑰匙和鎖芯損壞的現(xiàn)象[2]。市場(chǎng)需求一種功能多、效率高、性能可靠、價(jià)格低廉的替代產(chǎn)品。
1 試驗(yàn)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
傳統(tǒng)的數(shù)字運(yùn)動(dòng)控制裝置一般直接采用微機(jī)或單片機(jī)來(lái)實(shí)現(xiàn)位置控制,外圍電路復(fù)雜,計(jì)算速度慢。隨著計(jì)算機(jī)軟、硬件技術(shù)的迅猛發(fā)展,數(shù)控技術(shù)逐漸靈活開(kāi)放,在通用PC的擴(kuò)展槽中插入專用的運(yùn)動(dòng)控制卡,這樣不僅性能可以得到保證、軟件的通用性又強(qiáng),而且系統(tǒng)的開(kāi)放性好,是目前比較可行的一種開(kāi)發(fā)方式[3]。
充分考慮到運(yùn)動(dòng)控制技術(shù)的發(fā)展,并結(jié)合行業(yè)檢測(cè)的實(shí)際需求,確立了以下的設(shè)計(jì)思想:該試驗(yàn)系統(tǒng)采用VC面向?qū)ο笳Z(yǔ)言進(jìn)行基于組件的模塊化開(kāi)發(fā),按照國(guó)家標(biāo)準(zhǔn)GB17353-1998《摩托車和輕便摩托車轉(zhuǎn)向鎖止防盜裝置》及93/33/EEC指令中的相關(guān)要求,對(duì)鎖具的機(jī)械旋轉(zhuǎn)、插拔和電氣觸點(diǎn)進(jìn)行耐久性考核,同時(shí)使用數(shù)據(jù)庫(kù)軟件存儲(chǔ)和管理試驗(yàn)數(shù)據(jù),使得系統(tǒng)展現(xiàn)更直觀、功能更全面。
1.1 工作過(guò)程
鎖具耐久試驗(yàn)系統(tǒng)可以對(duì)符合國(guó)家標(biāo)準(zhǔn)的摩托車鎖具進(jìn)行耐久性試驗(yàn),本試驗(yàn)系統(tǒng)工作過(guò)程如圖1所示。依據(jù)良好的人機(jī)操作界面和相關(guān)提示,試驗(yàn)人員只要進(jìn)行簡(jiǎn)單培訓(xùn)就可單獨(dú)完成檢測(cè)工作,工作活動(dòng)如下。
(1)在系統(tǒng)試驗(yàn)主界面上設(shè)定試驗(yàn)參數(shù)。試驗(yàn)人員根據(jù)自己的需要和標(biāo)準(zhǔn)的要求,在試驗(yàn)主界面上設(shè)置被測(cè)機(jī)械防盜鎖生產(chǎn)企業(yè)、試驗(yàn)編號(hào)、試驗(yàn)日期、待檢測(cè)鎖具的運(yùn)轉(zhuǎn)方式、運(yùn)轉(zhuǎn)循環(huán)次數(shù)、鎖具型號(hào)等參數(shù)。各個(gè)參數(shù)按照國(guó)家標(biāo)準(zhǔn)給予了參考設(shè)定,其中鎖具轉(zhuǎn)向方式參數(shù)提供了現(xiàn)在市面上基本的鎖具轉(zhuǎn)向形式,當(dāng)試驗(yàn)人員設(shè)定了不符合邏輯的轉(zhuǎn)向種類時(shí),試驗(yàn)系統(tǒng)將彈出錯(cuò)誤提示。
?。?)鎖芯和鑰匙固定。試驗(yàn)人員需要將鎖芯和鑰匙固定在鎖芯夾具機(jī)構(gòu)和鑰匙夾具機(jī)構(gòu)上,調(diào)整試驗(yàn)鎖芯和鑰匙的相對(duì)位置,確定基準(zhǔn)位置,使鑰匙能順利地進(jìn)行各個(gè)試驗(yàn)的動(dòng)作。
?。?)利用系統(tǒng)進(jìn)行鎖具行程標(biāo)定。系統(tǒng)將提示試驗(yàn)人員對(duì)鑰匙的每個(gè)行程及旋轉(zhuǎn)位置進(jìn)行標(biāo)定,系統(tǒng)記錄當(dāng)前位置的平移及旋轉(zhuǎn)脈沖值。標(biāo)定完成后,系統(tǒng)自動(dòng)使鑰匙快速達(dá)到試驗(yàn)的初始基準(zhǔn)位置,開(kāi)始循環(huán)耐久試驗(yàn)。
1.2 結(jié)構(gòu)設(shè)計(jì)
傳統(tǒng)的試驗(yàn)系統(tǒng)采用普通微機(jī),系統(tǒng)的控制部分主要是利用匯編等低級(jí)語(yǔ)言通過(guò)步進(jìn)電機(jī)控制卡控制步進(jìn)電機(jī),實(shí)現(xiàn)簡(jiǎn)單的平移和旋轉(zhuǎn)動(dòng)作。其中,鎖具的基準(zhǔn)位置一般由光電開(kāi)關(guān)來(lái)設(shè)定,如果光電開(kāi)關(guān)未對(duì)準(zhǔn)基準(zhǔn)位置,試驗(yàn)不能開(kāi)始。本文所研發(fā)的試驗(yàn)系統(tǒng)硬件結(jié)構(gòu)如圖2所示,采用配置有顯示器、鍵盤、鼠標(biāo)和多個(gè)PCI插槽的工業(yè)控制計(jì)算機(jī)。通過(guò)PCI插槽使用數(shù)據(jù)采集卡和運(yùn)動(dòng)控制卡,其中數(shù)據(jù)采集卡對(duì)伺服電機(jī)位置進(jìn)行實(shí)時(shí)檢測(cè),并且采集鎖具觸點(diǎn)電壓和檢測(cè)控制命令的控制按鈕信號(hào),而運(yùn)動(dòng)控制卡驅(qū)動(dòng)平移伺服電機(jī)和旋轉(zhuǎn)伺服電機(jī)。
軟件系統(tǒng)采用MVC三層結(jié)構(gòu)模式。
(1)數(shù)據(jù)層是信息化的基礎(chǔ),主要利用SQL Server作為后端數(shù)據(jù)庫(kù)管理平臺(tái)存儲(chǔ)試驗(yàn)數(shù)據(jù)。這些數(shù)據(jù)包括每次試驗(yàn)的設(shè)定參數(shù)和通過(guò)數(shù)據(jù)采集卡實(shí)時(shí)檢測(cè)的試驗(yàn)數(shù)據(jù)等。在這一層通過(guò)通信與數(shù)據(jù)傳輸網(wǎng)絡(luò)構(gòu)成支持試驗(yàn)決策所需的原始信息和加工后的信息組合。
?。?)控制層是根據(jù)具體各項(xiàng)試驗(yàn)工作需求,對(duì)信息經(jīng)過(guò)分析計(jì)算和歸納組合之后,生成管理和試驗(yàn)提示等各類成果。這部分主要由數(shù)據(jù)采集卡和運(yùn)動(dòng)控制卡的開(kāi)發(fā)包、VC 6.0開(kāi)發(fā)環(huán)境等工具開(kāi)發(fā),構(gòu)建試驗(yàn)系統(tǒng)的框架及主要處理模塊。
(3)顯示層主要指客戶端界面程序,在數(shù)據(jù)層和控制層的支持下,綜合顯示各功能模塊的最后成果,實(shí)現(xiàn)對(duì)試驗(yàn)工作的支持服務(wù)。
1.3 研究平臺(tái)選擇
本系統(tǒng)主要使用或結(jié)合以下3項(xiàng)工具開(kāi)發(fā):
?。?)VC 6.0。Microsoft Visual C++(簡(jiǎn)稱VC),微軟公司的C++開(kāi)發(fā)工具,C++是一種使用非常廣泛的電腦程序設(shè)計(jì)語(yǔ)言,接口和類庫(kù)非常豐富。
(2)SQL Server。Microsoft SQL Server是由美國(guó)微軟公司所推出的關(guān)系數(shù)據(jù)庫(kù)解決方案,其內(nèi)置語(yǔ)言是由美國(guó)標(biāo)準(zhǔn)局(ANSI)和國(guó)際標(biāo)準(zhǔn)組織(ISO)所定義的SQL語(yǔ)言,適用于中小企業(yè)的數(shù)據(jù)庫(kù)管理,但是近年來(lái)它的應(yīng)用范圍擴(kuò)展到大型、跨國(guó)企業(yè)的數(shù)據(jù)庫(kù)管理。
?。?)DMC 3400多軸運(yùn)動(dòng)控制卡等硬件及其功能庫(kù)函數(shù)。近年來(lái),對(duì)運(yùn)動(dòng)控制系統(tǒng)的速度和精度的要求愈來(lái)愈高,使得傳統(tǒng)的運(yùn)動(dòng)控制系統(tǒng)難以取得滿意的控制效果,因此急需一種運(yùn)算速度快、可以滿足高精度運(yùn)動(dòng)控制的運(yùn)動(dòng)控制卡。隨著技術(shù)的成熟穩(wěn)定,目前市場(chǎng)上出現(xiàn)了種類繁多的運(yùn)動(dòng)控制卡,這些控制卡提供了二次開(kāi)發(fā)用的函數(shù),在程序中直接調(diào)用所提供的函數(shù)即可實(shí)現(xiàn)對(duì)伺服電機(jī)的控制,使開(kāi)發(fā)軟件的重點(diǎn)從單純的功能實(shí)現(xiàn)轉(zhuǎn)向如何使所設(shè)計(jì)的軟件具有更多的功能和良好的人機(jī)交互接口。本系統(tǒng)利用DMC3400多軸運(yùn)動(dòng)控制卡等硬件,根據(jù)板卡的功能庫(kù)函數(shù),設(shè)計(jì)了可控制多軸的伺服電機(jī)、按照編程預(yù)定的運(yùn)動(dòng)軌跡及運(yùn)動(dòng)參數(shù)作定位運(yùn)動(dòng)的控制系統(tǒng)[4]。
1.4 數(shù)據(jù)庫(kù)設(shè)計(jì)
本系統(tǒng)利用SQL Server作為后端數(shù)據(jù)庫(kù)管理平臺(tái)存儲(chǔ)相關(guān)試驗(yàn)數(shù)據(jù),主要包括4個(gè)表格:試驗(yàn)基本信息表、循環(huán)試驗(yàn)觸電電壓記錄表、故障報(bào)警記錄信息表和用戶表,關(guān)系結(jié)構(gòu)如圖3所示。
1.5 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
系統(tǒng)的軟件部分以Visual C++6.0為開(kāi)發(fā)工具,采用了面向?qū)ο蠛湍K化的思想進(jìn)行開(kāi)發(fā),主要分為六大模塊:人機(jī)界面模塊、系統(tǒng)參數(shù)配置、參數(shù)設(shè)置模塊、鎖具行程標(biāo)定、試驗(yàn)運(yùn)行管理和數(shù)據(jù)管理。各獨(dú)立功能一般都設(shè)計(jì)了相應(yīng)的函數(shù),各模塊通過(guò)主框架程序相互協(xié)調(diào)控制,使所設(shè)計(jì)的軟件具有可重構(gòu)性、可擴(kuò)展性、可移植性和互操作性等特點(diǎn),組成一個(gè)完整的試驗(yàn)系統(tǒng)。軟件結(jié)構(gòu)圖如圖4所示。
?。?)人機(jī)界面模塊主要用于實(shí)現(xiàn)用戶的輸入和系統(tǒng)的輸出。用戶的輸入包括用戶發(fā)出控制命令、設(shè)置系統(tǒng)參數(shù)等操作,而系統(tǒng)輸出包括當(dāng)前系統(tǒng)狀態(tài)的實(shí)時(shí)顯示。這些界面功能主要通過(guò)VC的用戶界面控件編程完成。
?。?)系統(tǒng)參數(shù)配置模塊主要用于運(yùn)動(dòng)卡等硬件板卡的參數(shù)初始化、參數(shù)設(shè)置、資源釋放等。如果用戶對(duì)系統(tǒng)配置參數(shù)不滿意,可以通過(guò)界面程序手動(dòng)設(shè)置,并將形成配置文件user.ini,供當(dāng)系統(tǒng)啟動(dòng)時(shí)自動(dòng)加載。
?。?)參數(shù)設(shè)置模塊負(fù)責(zé)試驗(yàn)基本參數(shù)和鎖具進(jìn)程模式兩大部分的設(shè)定,各個(gè)參數(shù)均按照國(guó)家標(biāo)準(zhǔn)給予參考設(shè)定,例如轉(zhuǎn)向參數(shù)設(shè)置如圖5所示。當(dāng)試驗(yàn)人員設(shè)定了不符合邏輯的參數(shù)時(shí),試驗(yàn)系統(tǒng)將顯示錯(cuò)誤提示信息。確認(rèn)設(shè)置這些參數(shù)信息后,這些信息大多以表格字段形式在數(shù)據(jù)庫(kù)軟件中進(jìn)行存儲(chǔ)。實(shí)現(xiàn)對(duì)這些字段的處理,可以利用ADO直接通過(guò)OLE DB Provider建立連接,也可以使用ODBC數(shù)據(jù)源。在本系統(tǒng)中主要使用的是后一種方法。ODBC(開(kāi)放數(shù)據(jù)庫(kù)互連)提供了一種標(biāo)準(zhǔn)的API(應(yīng)用程序編程接口)方法來(lái)訪問(wèn)數(shù)據(jù)管理系統(tǒng),具有最大的獨(dú)立性和開(kāi)放性,而且這些API利用SQL來(lái)完成其大部分任務(wù)。
?。?)鎖具行程標(biāo)定模塊用于將鎖具自動(dòng)或手動(dòng)運(yùn)行至某個(gè)位置,通過(guò)I/O檢測(cè)記錄各軸運(yùn)動(dòng)控制的脈沖,主要通過(guò)對(duì)DMC3400運(yùn)動(dòng)控制卡等硬件的功能庫(kù)函數(shù)編程實(shí)現(xiàn)。因此鎖具運(yùn)行模塊由板卡初始化、水平運(yùn)動(dòng)、旋轉(zhuǎn)運(yùn)動(dòng)和數(shù)據(jù)采集等幾個(gè)部分組成;同時(shí)設(shè)定一個(gè)監(jiān)聽(tīng)進(jìn)程,在板卡初始化后啟動(dòng)該進(jìn)程,定時(shí)掃描數(shù)據(jù)采集卡的位置標(biāo)定確認(rèn)按鈕信號(hào)。
?。?)作為整個(gè)系統(tǒng)的核心模塊,試驗(yàn)運(yùn)行管理模塊負(fù)責(zé)按照設(shè)定次數(shù)循環(huán)向運(yùn)動(dòng)控制卡及其他執(zhí)行部件發(fā)送控制指令執(zhí)行耐久試驗(yàn),實(shí)時(shí)跟蹤動(dòng)態(tài)并在主界面上顯示運(yùn)行狀態(tài)(位置、速度、I/O量等)及調(diào)整后的參數(shù),并將相關(guān)運(yùn)行狀態(tài)數(shù)據(jù)添加至數(shù)據(jù)庫(kù)。
試驗(yàn)運(yùn)行管理模塊的實(shí)現(xiàn)與鎖具行程標(biāo)定模塊類似,但是為了防止在一定的循環(huán)次數(shù)后造成平移累計(jì)行程誤差,影響鑰匙的位置控制,需要不間斷地比較當(dāng)前位置并進(jìn)行補(bǔ)償調(diào)整,每循環(huán)的運(yùn)行時(shí)間為30 s以上。另外,該模塊監(jiān)聽(tīng)進(jìn)程較復(fù)雜,定時(shí)掃描運(yùn)動(dòng)卡和數(shù)據(jù)采集卡的各相關(guān)輸入端口,實(shí)時(shí)跟蹤動(dòng)態(tài)顯示加工狀態(tài)。如果監(jiān)聽(tīng)到伺服報(bào)警、扭矩報(bào)警等故障信號(hào)時(shí),用消息框提示報(bào)警信息,暫停試驗(yàn)進(jìn)程并記錄報(bào)警信息至數(shù)據(jù)庫(kù)。同時(shí),在試驗(yàn)過(guò)程中,為了處理一些突發(fā)情況,設(shè)置了暫停和急停功能。試驗(yàn)時(shí)用戶可以隨時(shí)按“試驗(yàn)暫?!辨I,試驗(yàn)鎖具將暫停在當(dāng)前位置;暫停后,用戶也可以按“繼續(xù)試驗(yàn)”按鈕恢復(fù)試驗(yàn),試驗(yàn)鎖具將返回初始基準(zhǔn)點(diǎn)重新開(kāi)始當(dāng)前的試驗(yàn)。試驗(yàn)主界面如圖6所示。
?。?)數(shù)據(jù)管理模塊主要用于查詢和導(dǎo)出數(shù)據(jù)庫(kù)中的試驗(yàn)記錄數(shù)據(jù)和故障報(bào)警記錄。這些數(shù)據(jù)也存儲(chǔ)在數(shù)據(jù)庫(kù)表格中,所以處理方式與參數(shù)設(shè)置模塊類似,使用ODBC數(shù)據(jù)源技術(shù)。
2 結(jié)論
本試驗(yàn)系統(tǒng)的特點(diǎn)在于技術(shù)指標(biāo)得到大幅度提高,如表1所示,特別是響應(yīng)速度快,完成鑰匙插拔、旋轉(zhuǎn)等動(dòng)作的一個(gè)完整工作循環(huán)需要10~20 s,且在現(xiàn)有機(jī)械慣量下,伺服電機(jī)的轉(zhuǎn)速可以更改,以保證檢測(cè)可以在更短的時(shí)間內(nèi)完成。
另外,本系統(tǒng)采用模塊化軟件設(shè)計(jì),以PC實(shí)現(xiàn)友好的人機(jī)界面、靈活的系統(tǒng)配置,提高了試驗(yàn)系統(tǒng)的試驗(yàn)速度和控制精度。與國(guó)內(nèi)同類設(shè)備技術(shù)指標(biāo)相比,該鎖具耐久試驗(yàn)臺(tái)的指標(biāo)均處于領(lǐng)先水平,并在設(shè)計(jì)思想上具有獨(dú)創(chuàng)性,設(shè)備操作的便捷性和適用性相對(duì)較好,達(dá)到了國(guó)內(nèi)同類設(shè)備的領(lǐng)先水平,且已交付無(wú)錫市產(chǎn)品質(zhì)量監(jiān)督檢驗(yàn)所1臺(tái),使用良好,得到客戶好評(píng)。
參考文獻(xiàn)
[1] 王映輝.構(gòu)件式軟件技術(shù)[M].北京:機(jī)械工業(yè)出版社,2012.
[2] 丁偉,丁黎光,耿雪霄.基于運(yùn)動(dòng)控制卡的PCB鉆、銑、雕一體機(jī)數(shù)控系統(tǒng)[J].電氣技術(shù)與自動(dòng)化,2011(2):136-138.
[3] 李海鵬,楊根科,牟曉生,等.用于機(jī)械防盜鎖檢測(cè)的鎖具耐久性試驗(yàn)儀設(shè)計(jì)[J].儀表技術(shù),2006(3):50-51.
[4] 袁曉明.基于模塊化設(shè)計(jì)的開(kāi)放式數(shù)控系統(tǒng)[J].組合機(jī)床與自動(dòng)化加工技術(shù),2006(5):52-54.