劉巖石,張 明,周純杰
(華中科技大學(xué) 自動(dòng)化學(xué)院,武漢 430074)
拉力試驗(yàn)機(jī)是一種對材料進(jìn)行力學(xué)特性測試的設(shè)備,其在工業(yè)場合有著十分廣泛的應(yīng)用。工業(yè)生產(chǎn)中各種材料、零部件、構(gòu)件乃至整機(jī)往往都需要經(jīng)過試驗(yàn)才能確定它們的力學(xué)特性,在了解了這些產(chǎn)品的力學(xué)特性之后,才能評價(jià)該產(chǎn)品的優(yōu)劣[1]。比如,絕大部分的鋼鐵交易是以拉力試驗(yàn)機(jī)試驗(yàn)結(jié)果作為交貨條件的。然而,目前在拉力試驗(yàn)機(jī)領(lǐng)域,有相當(dāng)一部分拉力試驗(yàn)機(jī)仍然采用人機(jī)界面屏作為控制器,其功能簡陋,處理速度慢,界面不夠友好,這嚴(yán)重制約著工作效率。本文介紹的一種基于計(jì)算機(jī)的拉力試驗(yàn)機(jī)控制系統(tǒng),能夠充分利用計(jì)算機(jī)的優(yōu)勢,具有控制效果好、功能豐富、界面友好的特點(diǎn),大大簡化了拉力試驗(yàn)機(jī)現(xiàn)場操作人員的使用,提高了工作效率。
根據(jù)實(shí)際調(diào)研分析,現(xiàn)給出本拉力試驗(yàn)機(jī)關(guān)鍵的功能指標(biāo):
1)可對金屬、非金屬、復(fù)合材料等進(jìn)行試驗(yàn),最大承受拉力達(dá)50KN。
2)具備手動(dòng)試驗(yàn)、自動(dòng)試驗(yàn)功能,其中自動(dòng)試驗(yàn)可以實(shí)現(xiàn)對材料的拉伸和耐受測試。
3)能夠?qū)崟r(shí)顯示力值、位移信息,并能夠繪制力-時(shí)間、力-位移曲線。
4)具有過載保護(hù)、位移限位功能。
5)具有保存試驗(yàn)結(jié)果,瀏覽歷史試驗(yàn)記錄功能。
拉力試驗(yàn)機(jī)控制系統(tǒng)包括計(jì)算機(jī)、PLC、伺服系統(tǒng)、拉伸機(jī)構(gòu)和稱重傳感器等,其結(jié)構(gòu)可如圖1所示。其中,計(jì)算機(jī)是該控制系統(tǒng)的核心,完成人機(jī)交互、試驗(yàn)控制、實(shí)時(shí)監(jiān)控以及試驗(yàn)總結(jié)功能;PLC用于輸出脈沖,驅(qū)動(dòng)伺服系統(tǒng),采集稱重傳感器信號以及捕捉表征材料形變量的AB相脈沖;伺服系統(tǒng)是拉力試驗(yàn)機(jī)的動(dòng)力系統(tǒng);拉伸機(jī)構(gòu)用于試件夾持和張拉,是拉力試驗(yàn)機(jī)的主體結(jié)構(gòu)[2];稱重傳感器是拉力試驗(yàn)機(jī)控制系統(tǒng)的反饋部件,用于將材料承受的拉力轉(zhuǎn)換為電信號,該電信號經(jīng)PLC AD模塊轉(zhuǎn)換為數(shù)字量后傳遞給計(jì)算機(jī)控制軟件。
圖1 拉力試驗(yàn)機(jī)控制系統(tǒng)構(gòu)成圖
拉力試驗(yàn)機(jī)控制系統(tǒng)是一個(gè)閉環(huán)控制,其工作原理如下:
1)計(jì)算機(jī)結(jié)合用戶設(shè)定的試驗(yàn)?zāi)繕?biāo)和PLC上傳的反饋量,控制試驗(yàn)進(jìn)行,輸出控制量。
2)PLC接受計(jì)算機(jī)給出的控制量,進(jìn)行脈沖輸出驅(qū)動(dòng)伺服系統(tǒng)運(yùn)轉(zhuǎn),伺服系統(tǒng)通過拉伸機(jī)構(gòu)對試件進(jìn)行試驗(yàn)。
3)稱重傳感器將試件承受力轉(zhuǎn)換為電信號、伺服系統(tǒng)將材料形變量轉(zhuǎn)換為AB相脈沖量。
4)PLC接受AB相脈沖和稱重傳感器信號并進(jìn)行處理后,上傳計(jì)算機(jī),供其進(jìn)行反饋控制。
本拉力試驗(yàn)機(jī)控制系統(tǒng)屬于計(jì)算機(jī)實(shí)時(shí)控制系統(tǒng),其核心在于計(jì)算機(jī)上試驗(yàn)機(jī)控制軟件。該軟件在Windows平臺上利用VC++ MFC進(jìn)行開發(fā)。MFC是微軟公司提供的基礎(chǔ)類庫,集成了大量的界面開發(fā)相關(guān)類,大大簡化了界面開發(fā)的過程,使得開發(fā)者能夠?qū)⒅饕性趩栴}處理上。下面在界面設(shè)計(jì)、程序架構(gòu)分析以及類的設(shè)計(jì)這三個(gè)方面對軟件進(jìn)行分析。
拉力試驗(yàn)機(jī)控制軟件的設(shè)計(jì)必須服從拉力試驗(yàn)機(jī)需求,與此同時(shí),設(shè)計(jì)的控制軟件界面能夠被用戶接受,則必須遵循人機(jī)界面設(shè)計(jì)的一般規(guī)則。這里首先給出拉力試驗(yàn)機(jī)軟件主界面,如圖2所示。下面敘述拉力試驗(yàn)機(jī)控制軟件需要實(shí)現(xiàn)的功能,然后根據(jù)其功能來具體分析界面的設(shè)計(jì)。
圖2 拉力試驗(yàn)機(jī)計(jì)算機(jī)控制軟件主界面
2.1.1 試驗(yàn)機(jī)控制軟件功能分析
根據(jù)工業(yè)現(xiàn)場對拉力試驗(yàn)機(jī)功能的要求,可得試驗(yàn)機(jī)控制軟件必須實(shí)現(xiàn)實(shí)時(shí)監(jiān)控功能、材料試驗(yàn)功能以及試驗(yàn)總結(jié)功能,現(xiàn)具體敘述如下。
1)實(shí)時(shí)監(jiān)控功能
在進(jìn)行材料試驗(yàn)時(shí),試驗(yàn)者需要清晰的查看當(dāng)前材料試驗(yàn)的情況。拉力試驗(yàn)機(jī)控制軟件一般提供兩種監(jiān)控試驗(yàn)的方式,一種是實(shí)時(shí)數(shù)據(jù)顯示面板,一種是實(shí)時(shí)曲線顯示面板。實(shí)時(shí)數(shù)據(jù)顯示面板顯示試件形變量、承受拉力以及承受拉力最大值信息,實(shí)時(shí)曲線顯示面板顯示試件承受拉力-試驗(yàn)時(shí)間的曲線信息。通過這兩種方式,用戶可對當(dāng)前試驗(yàn)情況有比較清晰的認(rèn)識。
2)材料試驗(yàn)功能
拉力試驗(yàn)機(jī)控制軟件一般需要提供手動(dòng)試驗(yàn)和自動(dòng)試驗(yàn)兩種試驗(yàn)方式。其中,手動(dòng)試驗(yàn)下,用戶可以自己選擇拉伸材料的方向和速度。該試驗(yàn)方式比較靈活,也可以用于自動(dòng)試驗(yàn)之前的拉頭位置調(diào)整。自動(dòng)試驗(yàn)方式是在用戶設(shè)定好試驗(yàn)?zāi)繕?biāo)之后,軟件可以不在用戶干預(yù)下自動(dòng)進(jìn)行試驗(yàn)。自動(dòng)試驗(yàn)方式包括兩種十分普遍的試驗(yàn)方式:拉伸試驗(yàn)和耐受試驗(yàn)。拉伸試驗(yàn)為多段拉伸,是一種最基本的試驗(yàn)方式。該方式下,用戶需要設(shè)定每一段的拉伸起始力、結(jié)束力以及拉伸時(shí)間。耐受試驗(yàn)用于測試材料的可靠性,試驗(yàn)時(shí)間一般比較長。該方式下,用戶需要設(shè)定力加載速率、力保持負(fù)荷以及保持時(shí)間參數(shù)。
3)試驗(yàn)總結(jié)功能
試驗(yàn)完成后,用戶一般需要記錄材料試驗(yàn)相關(guān)信息。該軟件需要提供的試驗(yàn)總結(jié)功能包括實(shí)時(shí)曲線保存和打印功能、試驗(yàn)報(bào)表填寫以及打印功能。
2.1.2 試驗(yàn)機(jī)控制軟件界面設(shè)計(jì)
在明確了試驗(yàn)機(jī)軟件需要實(shí)現(xiàn)的功能后,需要合理的設(shè)計(jì)界面。拉力試驗(yàn)機(jī)界面設(shè)計(jì)需要遵循界面友好、信息直觀呈現(xiàn)、符合現(xiàn)場操作人員使用習(xí)慣、安全性提示以及界面一致性[3]等原則。結(jié)合拉力試驗(yàn)機(jī)功能和界面設(shè)計(jì)原則,拉力試驗(yàn)機(jī)控制軟件主界面設(shè)計(jì)可如圖2所示。
拉力試驗(yàn)機(jī)計(jì)算機(jī)控制軟件主界面中包括顯示面板、實(shí)時(shí)曲線面板以及材料試驗(yàn)面板。其中,顯示面板和實(shí)時(shí)曲線面板可以直觀的將當(dāng)前材料試驗(yàn)信息呈現(xiàn)給用戶。試驗(yàn)面板處顯示的試驗(yàn)方式根據(jù)用戶在菜單欄-控制方式中選擇的材料試驗(yàn)方式的不同而不同。限于篇幅,這里詳細(xì)的界面設(shè)計(jì)便不再給出。
本拉力試驗(yàn)機(jī)控制軟件采用多線程技術(shù)實(shí)現(xiàn)。雖然,多線程比單線程要復(fù)雜,但是引入多線程后,可以使得程序模塊化更好、程序并發(fā)執(zhí)行,執(zhí)行效率也更高。用戶交互模塊單獨(dú)設(shè)置一個(gè)線程,也保證了界面操作的流暢。該控制軟件需要實(shí)現(xiàn)的任務(wù)有人機(jī)界面交互、材料試驗(yàn)控制、與下位機(jī)PLC通信功能等。因此,這里將該試驗(yàn)機(jī)控制軟件劃分為三個(gè)線程:界面線程(主線程)、試驗(yàn)控制線程、通信線程。三個(gè)線程之間的關(guān)系如圖3所示。
下面分別對以上三個(gè)線程進(jìn)行介紹:
界面線程:也就是主線程,負(fù)責(zé)人機(jī)交互,實(shí)現(xiàn)用戶配置、試驗(yàn)監(jiān)控功能等。該線程是控制線程與通信線程交互的媒介,其承接了控制線程與通信線程。控制線程將控制信息傳遞給主線程后,主線程生成通信任務(wù),并傳遞給通信線程。通信線程將與PLC通信返回的數(shù)據(jù)傳遞給主線程,主線程利用該數(shù)據(jù)一方面進(jìn)行顯示,完成試驗(yàn)監(jiān)控功能;另一方面?zhèn)鬟f給控制線程,進(jìn)行閉環(huán)反饋控制。
圖3 試驗(yàn)機(jī)軟件架構(gòu)圖
控制線程:該線程實(shí)現(xiàn)材料試驗(yàn)控制功能,其從界面線程得到反饋數(shù)據(jù),結(jié)合用戶設(shè)定的材料試驗(yàn)?zāi)繕?biāo),進(jìn)行閉環(huán)反饋控制,并給出控制信息。該線程時(shí)刻監(jiān)測試驗(yàn)進(jìn)行狀態(tài),當(dāng)試驗(yàn)結(jié)束條件滿足時(shí),自動(dòng)結(jié)束當(dāng)前材料試驗(yàn)。
通信線程:該線程負(fù)責(zé)接受界面線程給出的通信任務(wù),與PLC發(fā)起通信,并將通信結(jié)果返回給界面線程。其傳遞給界面線程的數(shù)據(jù)用來在界面線程進(jìn)行數(shù)據(jù)監(jiān)控(實(shí)時(shí)曲線和實(shí)時(shí)數(shù)據(jù)顯示)和傳遞給控制線程實(shí)現(xiàn)反饋控制。
該試驗(yàn)機(jī)軟件采用C++作為編程語言,并借助MFC單文檔程序模板實(shí)現(xiàn)。C++是一種面向?qū)ο蟮木幊陶Z言,具有抽象、封裝、繼承和多態(tài)的特點(diǎn)[4],其程序設(shè)計(jì)以類的設(shè)計(jì)為中心,這符合人們思考事物的方式,使得編程大大簡便。故該拉力試驗(yàn)機(jī)軟件實(shí)現(xiàn)的關(guān)鍵點(diǎn)在于分析軟件中包含的對象,并合理設(shè)計(jì)類。由上節(jié)軟件功能分析可知,本軟件主要包括手動(dòng)試驗(yàn)方式、自動(dòng)試驗(yàn)方式(拉伸試驗(yàn)和耐受試驗(yàn))、實(shí)時(shí)曲線監(jiān)控、實(shí)時(shí)數(shù)據(jù)顯示、與PLC通信、試驗(yàn)控制算法等模塊,這些模塊便是該試驗(yàn)機(jī)軟件需要處理的對象,因此本軟件關(guān)鍵類的設(shè)計(jì)可如表1所示。
表1 試驗(yàn)機(jī)軟件關(guān)鍵類設(shè)計(jì)
拉力試驗(yàn)機(jī)計(jì)算機(jī)控制軟件提供的材料試驗(yàn)方式,需要采用一定的控制算法來實(shí)現(xiàn)。這里,采用改進(jìn)的經(jīng)典PID控制算法來進(jìn)行試驗(yàn)控制。根據(jù)圖1可知,整個(gè)拉力試驗(yàn)機(jī)系統(tǒng)構(gòu)成一個(gè)大的閉環(huán)反饋控制,現(xiàn)將圖1轉(zhuǎn)化為如圖4所示的控制系統(tǒng)結(jié)構(gòu)圖。
圖4 拉力試驗(yàn)機(jī)控制系統(tǒng)結(jié)構(gòu)圖
其中,計(jì)算機(jī)相當(dāng)于PID控制器。PLC起到兩方面作用:一是進(jìn)行脈沖輸出,驅(qū)動(dòng)伺服系統(tǒng);二是對測量元件輸出的信號進(jìn)行處理后,回傳計(jì)算機(jī)控制軟件進(jìn)行PID控制。伺服系統(tǒng)是執(zhí)行機(jī)構(gòu),直接產(chǎn)生拉力拉伸材料。測量變送器包括光電編碼器、力傳感器。
PID控制是自動(dòng)控制領(lǐng)域中產(chǎn)生最早、應(yīng)用最廣的一種控制方法,其不需要精確的控制系統(tǒng)模型,適用于系統(tǒng)模型難以確定的場合[5]。本拉力試驗(yàn)機(jī)便采用改進(jìn)型PID進(jìn)行材料試驗(yàn)控制。PID包括三個(gè)環(huán)節(jié):比例環(huán)節(jié)、積分環(huán)節(jié)以及微分環(huán)節(jié)。其控制結(jié)構(gòu)原理圖如圖5所示。
圖5 PID控制結(jié)構(gòu)原理圖[1]
其連續(xù)型PID控制表達(dá)式為:
其中,KP為PID比例環(huán)節(jié)系數(shù),Ti為PID積分時(shí)間,Td為PID微分時(shí)間,r(t)為給定控制目標(biāo),c(t)為反饋量,e(t)為控制目標(biāo)與反饋量之間的偏差,此作為PID控制器的輸入,u(t)為PID控制器的輸出。在實(shí)際的拉力試驗(yàn)機(jī)控制系統(tǒng)中,反饋量c(t)為實(shí)際測試得到的拉力值和材料形變量,u(t)為脈沖輸出頻率和電機(jī)轉(zhuǎn)動(dòng)方向。
連續(xù)型PID經(jīng)過離散化后,得到如下應(yīng)用表達(dá)式:
其中,u(k),e(k),r(k)分別為u(t),e(t),r(k)的周期采樣值,為積分時(shí)間常數(shù),為微分常數(shù),T為采樣周期。
對于PID比例環(huán)節(jié)系數(shù)KP、積分時(shí)間Ti以及微分時(shí)間Td的取值,需要在現(xiàn)場進(jìn)行參數(shù)整定。一般在實(shí)際應(yīng)用中,采用經(jīng)驗(yàn)試湊法進(jìn)行參數(shù)整定[6]。首先調(diào)節(jié)比例環(huán)節(jié)系數(shù),其次調(diào)節(jié)積分時(shí)間系數(shù),最后調(diào)節(jié)微分時(shí)間系數(shù)。在參數(shù)調(diào)節(jié)過程中,結(jié)合試驗(yàn)實(shí)時(shí)曲線與設(shè)定的控制目標(biāo),根據(jù)PID三個(gè)環(huán)節(jié)的作用,綜合進(jìn)行參數(shù)整定。對于采樣周期T的選取,亦應(yīng)與PID整定綜合考慮,進(jìn)行合理取值。
在拉力試驗(yàn)機(jī)控制系統(tǒng)中,執(zhí)行機(jī)構(gòu)為伺服系統(tǒng)。我們知道伺服電機(jī)啟動(dòng)時(shí),啟動(dòng)電流較大,如果頻繁的關(guān)閉-啟動(dòng),則會(huì)導(dǎo)致電機(jī)發(fā)熱量過大,電機(jī)會(huì)有燒壞的危險(xiǎn),并且伺服電機(jī)頻繁的開關(guān)也會(huì)導(dǎo)致拉力試驗(yàn)機(jī)機(jī)械結(jié)構(gòu)較為嚴(yán)重的磨損。因此,我們需要對PID控制器做出適當(dāng)?shù)母倪M(jìn),在能夠很好的控制材料試驗(yàn)進(jìn)行的前提下,避免伺服電機(jī)頻繁的開啟關(guān)閉。改進(jìn)方法如下:
其中,誤差e的取值需要根據(jù)拉力試驗(yàn)機(jī)試驗(yàn)對象的誤差要求和實(shí)際的控制效果來決定。
本文敘述的拉力試驗(yàn)機(jī)控制系統(tǒng)已經(jīng)在山東某拉力試驗(yàn)機(jī)現(xiàn)場進(jìn)行了實(shí)際的測試,其控制效果良好。拉力試驗(yàn)機(jī)控制系統(tǒng)控制效果好壞由其試驗(yàn)機(jī)軟件提供的材料試驗(yàn)方式的控制效果決定,而材料試驗(yàn)方式控制效果的好壞則直接由用戶設(shè)定的試驗(yàn)?zāi)繕?biāo)和實(shí)時(shí)監(jiān)控曲線的匹配程度體現(xiàn)。因此,下面以鐵塊作為試件,通過對比分析拉伸試驗(yàn)和耐受試驗(yàn)的實(shí)時(shí)監(jiān)控曲線與其控制目標(biāo)的匹配程度來驗(yàn)證該控制系統(tǒng)的控制效果。
在拉伸試驗(yàn)開始之前,利用手動(dòng)試驗(yàn)方式調(diào)整好拉頭,并夾持住鐵塊,選擇拉伸試驗(yàn)方式,設(shè)定試驗(yàn)?zāi)繕?biāo),開啟試驗(yàn)。本拉伸試驗(yàn)設(shè)定為三段拉伸,具體的試驗(yàn)?zāi)繕?biāo)如表2所示。
表2 拉伸試驗(yàn)控制目標(biāo)
以上每一段的參數(shù)含義為:拉伸材料,使其承受的拉伸力在持續(xù)時(shí)間之內(nèi)由起始力達(dá)到結(jié)束力,各段依次執(zhí)行,所有段執(zhí)行完畢后,試驗(yàn)結(jié)束。本試驗(yàn)控制目標(biāo)下,對應(yīng)的力值-時(shí)間監(jiān)控曲線如圖6所示。
圖6 拉伸試驗(yàn) 力值-時(shí)間曲線
對比該拉伸試驗(yàn)的控制目標(biāo)和力值-時(shí)間曲線可知,該實(shí)時(shí)曲線很好的擬合了設(shè)定的試驗(yàn)?zāi)繕?biāo)。故該拉伸試驗(yàn)控制效果良好。
在進(jìn)行耐受試驗(yàn)之前,首先利用手動(dòng)試驗(yàn)方式調(diào)整好拉頭位置,并夾持住試件,而后選擇耐受試驗(yàn)方式,并配置好試驗(yàn)?zāi)繕?biāo),開啟試驗(yàn)。耐受試驗(yàn)控制目標(biāo)設(shè)置如表3所示。
表3 耐受試驗(yàn)控制目標(biāo)
以上參數(shù)的含義為:拉伸材料,使得材料承受力按照設(shè)定的力加載速度增加,到達(dá)設(shè)定的保持負(fù)荷后,保持此負(fù)荷一定的保壓時(shí)間,保壓時(shí)間到后,試驗(yàn)結(jié)束。本試驗(yàn)?zāi)繕?biāo)下,對應(yīng)的力值-時(shí)間曲線如圖7所示。
圖7 耐受試驗(yàn) 力值-時(shí)間曲線
對比該耐受試驗(yàn)控制目標(biāo)和力值-時(shí)間曲線可知,該實(shí)時(shí)曲線很好的擬合了設(shè)定的控制目標(biāo),故耐受試驗(yàn)控制效果良好。
根據(jù)以上拉伸試驗(yàn)和耐受試驗(yàn)的控制效果分析可得,本文所提出的拉力試驗(yàn)機(jī)控制系統(tǒng)控制效果良好,能夠很好的完成材料試驗(yàn)。
本文介紹了基于計(jì)算機(jī)控制的拉力試驗(yàn)機(jī)控制系統(tǒng),首先分析了拉力試驗(yàn)機(jī)系統(tǒng)結(jié)構(gòu),其次重點(diǎn)闡述了拉力試驗(yàn)機(jī)控制軟件的設(shè)計(jì),其采用帶死區(qū)的PID作為核心控制算法,最后給出拉力試驗(yàn)機(jī)現(xiàn)場實(shí)際的測試效果,表明該拉力試驗(yàn)機(jī)控制系統(tǒng)控制效果良好,能夠滿足生產(chǎn)實(shí)踐的需要。此外,該拉力試驗(yàn)機(jī)軟件具有界面友好、支持試驗(yàn)結(jié)果保存、方便用戶操作、試驗(yàn)信息直觀呈現(xiàn)的特點(diǎn),這有助于提高現(xiàn)場操作人員工作效率。隨著計(jì)算機(jī)技術(shù)和控制技術(shù)的發(fā)展,計(jì)算機(jī)控制的拉力試驗(yàn)機(jī)將會(huì)有越來越廣泛的應(yīng)用。
[1] 張霖.電子萬能材料試驗(yàn)機(jī)閉環(huán)控制軟件的研究[D].北京:北方工業(yè)大學(xué),2007:1-32.
[2] 朱江新,陽平,夏天,等.基于PCI-1711數(shù)據(jù)采集卡的拉力試驗(yàn)機(jī)實(shí)時(shí)控制系統(tǒng)[J].設(shè)計(jì)與研究,2010(5):81-83.
[3] 朱詩生,張惠珍.人機(jī)交互軟件界面設(shè)計(jì)[J].信息技術(shù),2009(5):36-39.
[4] 譚浩強(qiáng).C++程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2004:232-236.
[5] 任俊杰,李永霞,李媛,等.基于PLC的閉環(huán)控制系統(tǒng)PID控制器的實(shí)現(xiàn)[J].制造業(yè)自動(dòng)化,2009,31(4):20-23.
[6] 何躍,林春梅.PID控制系統(tǒng)的參數(shù)選擇研究及應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2006,27(8):1496-1498.