日韩精品无码视频一区二区蜜桃|成人一区二区|性欧美FREEXXX|樱桃视频在线观看网址入口|男男车车的车车免费网站|天天鲁在视频在线观看|大尺度直播视频

纖維纏繞張力控制系統(tǒng)新技術(shù)研究

1 前言
    纖維纏繞是當(dāng)前樹脂基復(fù)合材料成型的主要工藝手段之一,而纏繞張力是纖維纏繞工藝中重要的控制參數(shù),直接影響到纏繞制品的質(zhì)量[1~4]。因此張力控制系統(tǒng)是數(shù)控纏繞機(jī)的必備的輔助設(shè)備。文獻(xiàn)[5]指出,張力控制系統(tǒng)的性能很大程度上取決于應(yīng)用軟件的應(yīng)用與開發(fā)。為了實(shí)時(shí)、準(zhǔn)確地獲得張力數(shù)據(jù),了解紗線張力變化,并根據(jù)張力控制效果組織纏繞工藝,保證纏繞制品質(zhì)量,迫切需要研制出適合自身的纖維纏繞張力控制系統(tǒng)。
    在大多數(shù)張力控制系統(tǒng)軟件中,通常使用Win-dows定時(shí)器來(lái)完成張力數(shù)據(jù)的采集與處理工作。但是Windows定時(shí)器是通過(guò)向CPU發(fā)送WM_TIM-ER消息來(lái)實(shí)現(xiàn)一定精度的定時(shí),且其優(yōu)先級(jí)別非常低,使得定時(shí)消息得不到及時(shí)響應(yīng),嚴(yán)重影響了張力控制系統(tǒng)的實(shí)時(shí)性和可靠性。因此,在精密張力控制系統(tǒng)中,提高實(shí)時(shí)性、可靠性是系統(tǒng)軟件的迫切要求,但是Windows并不是實(shí)時(shí)操作系統(tǒng),它是基于消息驅(qū)動(dòng)機(jī)制,不能提供足夠的實(shí)時(shí)處理功能,因而在Windows環(huán)境下開發(fā)張力控制系統(tǒng)需要采用一些技術(shù),如多媒體定時(shí)器、多線程等。
    本文在VC++開發(fā)環(huán)境下,研究建立PMAC與上位機(jī)之間通訊的方法,并結(jié)合多線程技術(shù)和多媒體定時(shí)器技術(shù),設(shè)計(jì)出實(shí)時(shí)張力采集與數(shù)據(jù)存儲(chǔ)、處理系統(tǒng),有效地解決了在高速、長(zhǎng)時(shí)間張力采集控制過(guò)程中系統(tǒng)的實(shí)時(shí)性和可靠性問(wèn)題。
2 張力控制系統(tǒng)硬件構(gòu)成
    本系統(tǒng)采用PMAC(Programmable Multi-Axis Controller)作為下位機(jī),工控機(jī)作為上位機(jī)的并行雙CPU結(jié)構(gòu)。系統(tǒng)由開卷部分、控制部分(包括控制器和執(zhí)行元件)、檢測(cè)部分(或張力采集部分)及其它輔助裝置組成,其結(jié)構(gòu)如圖1所示。其中,采用擺桿式張力傳感器實(shí)時(shí)檢測(cè)纖維張力,直流力矩電機(jī)作為執(zhí)行元件[6~8]。實(shí)時(shí)纖維張力值由PMAC進(jìn)行采集并以ISA總線通訊方式傳遞給上位機(jī),在上位機(jī)中完成與張力設(shè)定值的比較,并進(jìn)行相關(guān)的控制運(yùn)算后,運(yùn)算結(jié)果再次以通訊方式返回PMAC,由PMAC調(diào)整其控制端輸出電壓,PMAC輸出電壓經(jīng)過(guò)力矩電機(jī)驅(qū)動(dòng)器功率放大后去修正力矩電機(jī)的輸出力矩,實(shí)現(xiàn)對(duì)纖維張力的實(shí)時(shí)控制。

           
3 張力控制系統(tǒng)軟件主要功能的實(shí)現(xiàn) [-page-] 
    為了使張力控制系統(tǒng)軟件易于維護(hù)、具有可重構(gòu)性和可擴(kuò)充性,采用VC++編制,按照模塊化設(shè)計(jì)思想設(shè)計(jì),實(shí)現(xiàn)系統(tǒng)多任務(wù)的要求,軟件主要結(jié)構(gòu)如圖2所示。它主要由初始化模塊、數(shù)據(jù)采集與處理模塊、系統(tǒng)調(diào)試模塊、文件操作模塊組成,其中數(shù)據(jù)采集與處理模塊是本系統(tǒng)軟件的關(guān)鍵部分。在該模塊的設(shè)計(jì)過(guò)程中,利用多媒體定時(shí)器、多線程技術(shù)以提高系統(tǒng)的實(shí)時(shí)性和可靠性;利用雙緩沖區(qū)存儲(chǔ)技術(shù)提高存儲(chǔ)數(shù)據(jù)的效率;利用“雙重緩沖”技術(shù)解決實(shí)時(shí)數(shù)據(jù)動(dòng)態(tài)顯示時(shí)的屏幕閃爍現(xiàn)象。

       
3.1 上下位機(jī)通訊的建立以及采集方式的選擇
    在張力控制系統(tǒng)中,上位機(jī)與PMAC之間建立起通訊是在上位機(jī)中實(shí)現(xiàn)對(duì)張力實(shí)時(shí)監(jiān)控的要條件。為了便于PMAC與上層Windows應(yīng)用程序之間進(jìn)行通信,Delta Tau公司提供了PComm32通信驅(qū)動(dòng)程序作為上層應(yīng)用程序與PMAC之間通信的橋梁[9]。建立通訊主要用到OpenPmacDevice和ClosePmacDevice這兩個(gè)PComm32函數(shù),前一個(gè)函數(shù)為應(yīng)用程序同PMAC交換數(shù)據(jù)開辟通道,用于應(yīng)用程序的開始,后一個(gè)函數(shù)用來(lái)關(guān)閉同PMAC通信時(shí)開辟的通道,釋放系統(tǒng)的資源,用于應(yīng)用程序的結(jié)束處。
    PMAC數(shù)據(jù)采集方式主要有兩種[10,11]:①?gòu)木彌_區(qū)中獲得采集數(shù)據(jù);②從I/O及運(yùn)動(dòng)寄存器中直接采集數(shù)據(jù)。前一種方式比較復(fù)雜,而后一種方式,用戶不需額外指定采集源,不必關(guān)心數(shù)據(jù)是如何存入、如何譯碼的,不僅提高了系統(tǒng)軟件的穩(wěn)定性,而且大大簡(jiǎn)化了數(shù)據(jù)采集程序開發(fā)的難度。因此本文采用了第二種數(shù)據(jù)采集方式。
3.2 多媒體定時(shí)器的引入
    在張力控制過(guò)程中,需要采集實(shí)時(shí)張力來(lái)完成張力控制運(yùn)算、分析控制效果的好壞以及系統(tǒng)運(yùn)行是否正常,因此采集時(shí)間的精確度是整個(gè)控制系統(tǒng)得以正常運(yùn)行的關(guān)鍵。而Windows是基于消息機(jī)制的系統(tǒng),任何事件的執(zhí)行都是通過(guò)發(fā)送和接收消息來(lái)完成的。多個(gè)消息按隊(duì)列執(zhí)行,這樣就帶來(lái)了一些問(wèn)題,如一旦計(jì)算機(jī)的CPU被某個(gè)進(jìn)程占用或系統(tǒng)資源緊張時(shí),發(fā)送到消息隊(duì)列中的消息就被暫時(shí)掛起,得不到實(shí)時(shí)處理[12]。在VC++中,雖然基于WM_TIMER消息的普通定時(shí)器定時(shí)方法非常簡(jiǎn)單,但它在多任務(wù)操作系統(tǒng)中的優(yōu)先級(jí)很低,致使其定時(shí)精度有限,只能進(jìn)行簡(jiǎn)單的時(shí)間控制,不能滿足本系統(tǒng)對(duì)定時(shí)器定時(shí)精度的要求。測(cè)試結(jié)果如表1所示(定時(shí)精度為60ms)。

      
    對(duì)于控制精度要求較高的張力控制系統(tǒng),必須考慮用更高精度的定時(shí)器來(lái)取代。Windows的多媒體定時(shí)器小時(shí)間分辨率理論上可以達(dá)到1ms,完全可以滿足張力控制系統(tǒng)的實(shí)時(shí)性要求。采集時(shí)間的精確度對(duì)本系統(tǒng)軟件至關(guān)重要,因此必須對(duì)多媒體定時(shí)器的定時(shí)精度進(jìn)行驗(yàn)證測(cè)試,確保數(shù)據(jù)采集能在給定的時(shí)間內(nèi)完成。驗(yàn)證測(cè)試時(shí)利用了Win-dowsAPI函數(shù)timeGetTime(),其返回值為計(jì)算機(jī)啟動(dòng)后經(jīng)歷的時(shí)間,單位為ms(毫秒)。在開始采集和結(jié)束采集消息響應(yīng)函數(shù)中調(diào)用該函數(shù),兩次時(shí)間數(shù)據(jù)的差值就是采集時(shí)間,并在程序中定義一個(gè)全局變量用來(lái)記錄采集的次數(shù),這樣采集時(shí)間除以采集次數(shù)就得到平均每次采集時(shí)間,測(cè)試結(jié)果如表2所示(定時(shí)精度為10ms)。結(jié)果表明,多媒體定時(shí)器對(duì)實(shí)現(xiàn)較高精度定時(shí)是比較理想的工具,其精度也十分可靠,平均誤差小于0.1%,完全能夠滿足張力控制系統(tǒng)對(duì)定時(shí)精度的要求。 [-page-]

          
3.3 利用多線程實(shí)現(xiàn)數(shù)據(jù)采集與處理
    張力控制系統(tǒng)軟件作為實(shí)時(shí)控制軟件,其實(shí)時(shí)性和可靠性是衡量控制軟件性能的重要技術(shù)指標(biāo)。在VC++開發(fā)平臺(tái)下,采用Windows操作系統(tǒng)下的多線程技術(shù),以保證控制系統(tǒng)軟件的實(shí)時(shí)性和可靠性。
    對(duì)于Windows應(yīng)用程序來(lái)說(shuō),線程可分為用戶界面線程和工作線程兩種,用戶界面線程用于處理用戶輸入,而工作線程則被用于完成各種不需要用戶干涉的后臺(tái)操作,如文件讀寫等操作[13]。本系統(tǒng)設(shè)計(jì)了數(shù)據(jù)采集與控制線程、數(shù)據(jù)監(jiān)控線程、數(shù)據(jù)存儲(chǔ)線程、人機(jī)交互線程這幾個(gè)線程,其中數(shù)據(jù)采集線程與控制線程和數(shù)據(jù)存儲(chǔ)線程屬于工作線程,無(wú)窗口操作,如此便保障數(shù)據(jù)采集實(shí)時(shí)性,避免數(shù)據(jù)流的堵塞,數(shù)據(jù)監(jiān)控線程用于在監(jiān)控屏幕上實(shí)現(xiàn)張力數(shù)值實(shí)時(shí)顯示功能。
    數(shù)據(jù)采集與控制線程配合多媒體定時(shí)器等時(shí)間間隔采集數(shù)據(jù)完成后,數(shù)據(jù)存儲(chǔ)線程和數(shù)據(jù)監(jiān)控線程才能讀取采集回來(lái)的數(shù)據(jù)進(jìn)行相應(yīng)的操作,同樣只有當(dāng)數(shù)據(jù)讀取完成后數(shù)據(jù)采集線程才能重新進(jìn)行寫數(shù)據(jù)操作,因此數(shù)據(jù)采集與控制線程和數(shù)據(jù)監(jiān)控線程以及數(shù)據(jù)存儲(chǔ)線程間有著數(shù)據(jù)共享和同步問(wèn)題。在本系統(tǒng)中,共享數(shù)據(jù)的同步是通過(guò)事件對(duì)象來(lái)實(shí)現(xiàn)的。數(shù)據(jù)存儲(chǔ)線程和數(shù)據(jù)監(jiān)控線程初不做任何工作,調(diào)用Win32 API函數(shù)WaitForSingleObject進(jìn)入等待狀態(tài),此時(shí)它不消耗CPU任何資源,即可保證數(shù)據(jù)采集與控制線程有充分的運(yùn)行機(jī)會(huì)。在數(shù)據(jù)采集與控制線程取得指定長(zhǎng)度的數(shù)據(jù)送到用戶定義的存儲(chǔ)空間后,調(diào)用Win32 API函數(shù)SetEvent將指定事件消息發(fā)送給數(shù)據(jù)存儲(chǔ)線程和數(shù)據(jù)監(jiān)控線程,數(shù)據(jù)存儲(chǔ)線程和監(jiān)控線程立即恢復(fù)運(yùn)行狀態(tài),迅速對(duì)這批數(shù)據(jù)進(jìn)行相關(guān)處理,如窗口繪制波形、存盤等操作。張力控制系統(tǒng)多線程工作示意圖如圖3所示。

        
3.4 實(shí)時(shí)數(shù)據(jù)存儲(chǔ)
    若在張力控制過(guò)程中每采集一點(diǎn)數(shù)據(jù)就存儲(chǔ)到磁盤上,將頻繁進(jìn)行磁盤操作,既占用CPU資源,又影響磁盤壽命。而如果等數(shù)據(jù)采集全部結(jié)束后再存儲(chǔ),則需要占用大量?jī)?nèi)存,必將會(huì)影響系統(tǒng)其它程序的運(yùn)行,因此本系統(tǒng)采用一種稱為雙緩沖區(qū)動(dòng)態(tài)存儲(chǔ)技術(shù)來(lái)解決數(shù)據(jù)存儲(chǔ)中所遇到的問(wèn)題。
    雙緩沖區(qū)技術(shù)是在上位機(jī)內(nèi)存中創(chuàng)建一個(gè)公有緩沖區(qū),它由兩個(gè)大小相同、且連續(xù)的子緩沖區(qū)組成,用于暫存采集到的數(shù)據(jù)。當(dāng)采集完一次后就將采集的數(shù)據(jù)放入緩沖區(qū),并將緩沖區(qū)指針加1,當(dāng)一個(gè)子緩沖區(qū)全部填滿后,將緩沖區(qū)指針指向另一個(gè)緩沖區(qū)的開始,如此循環(huán),后讀入的數(shù)據(jù)覆蓋掉以前的數(shù)據(jù)。
3.5 實(shí)時(shí)數(shù)據(jù)的動(dòng)態(tài)曲線顯示
    為便于觀察張力控制過(guò)程,了解張力控制的效果,需要將采集數(shù)據(jù)以曲線形式在屏幕上動(dòng)態(tài)地顯示出來(lái)。在繪圖過(guò)程中,當(dāng)窗口由于任何原因需要重繪時(shí),由于繪圖背景與繪圖內(nèi)容反差過(guò)大,使得顯示窗口出現(xiàn)明顯的閃爍[14]。通常解決這個(gè)問(wèn)題采用“兩次繪圖法”[15],先利用R2_XORPEN繪圖模式繪圖以擦掉以前的圖形,然后再重新設(shè)置當(dāng)前繪圖模式為R2_COPYPEN,繪制新的圖形。但是該方式需要兩次全面繪圖,耗費(fèi)時(shí)間不短,其消除閃爍效果有限。
    為解決上述問(wèn)題,本系統(tǒng)軟件采用“雙重緩沖”技術(shù),先把要顯示的圖形在內(nèi)存中繪制好,形成一幅位圖,然后再一次性地將內(nèi)存中的圖形逐點(diǎn)覆蓋到屏幕上去。因?yàn)轱@示圖形是在看不見的內(nèi)存中繪制的,而且這是個(gè)非常快、規(guī)整的內(nèi)存拷貝過(guò)程,所以無(wú)論用多么反差大的背景色對(duì)以前圖形進(jìn)行擦除,屏幕都不會(huì)出現(xiàn)閃爍現(xiàn)象。當(dāng)貼到屏幕上時(shí),因?yàn)閮?nèi)存中終的圖形與屏幕顯示圖形差別很小,從而基本消除了閃爍現(xiàn)象。實(shí)驗(yàn)證明,這樣繪制出來(lái)的圖形流暢,視覺效果很好。實(shí)時(shí)張力動(dòng)態(tài)曲線顯示如圖4所示。

              
4 結(jié)語(yǔ)
    本文研究了張力控制系統(tǒng)中下位機(jī)PMAC與上位機(jī)IPC之間通訊建立的方法以及如何實(shí)時(shí)長(zhǎng)時(shí)間連續(xù)地進(jìn)行張力數(shù)據(jù)采集與處理的相關(guān)技術(shù)。在張力控制系統(tǒng)中,實(shí)時(shí)性和精確性是影響系統(tǒng)功能的關(guān)鍵技術(shù),利用多媒體定時(shí)器和多線程技術(shù)可提高數(shù)據(jù)采集的實(shí)時(shí)性和精確性;提出一種解決實(shí)時(shí)張力動(dòng)態(tài)曲線顯示過(guò)程中出現(xiàn)“閃爍”現(xiàn)象的方法。該張力控制系統(tǒng)經(jīng)現(xiàn)場(chǎng)運(yùn)行結(jié)果表明,所編寫的數(shù)據(jù)采集程序高速準(zhǔn)確、性能可靠,對(duì)相關(guān)的數(shù)據(jù)采集系統(tǒng)也有一定的參考價(jià)值,而且本軟件具有操作簡(jiǎn)便、功能齊全、人機(jī)界面友好等特點(diǎn),為實(shí)現(xiàn)精密張力控制創(chuàng)造了良好的條件。
                  參考文獻(xiàn)
[1] 尹秀云,楊德旭.纖維纏繞成型工藝中張力控制系統(tǒng)的研究[J].纖維復(fù)合材料,2005,3:47-48.
[2] 白俠,李輔安,李崇俊,王增加.纖維單向纏繞成型錐形殼體的研究[J].玻璃鋼/復(fù)合材料,2007,(5):39-42.
[3] 朱松青.數(shù)控纖維纏繞機(jī)精密張力控制系統(tǒng)[D].東南大學(xué),2003.
[4] 杜巍,肖軍,文立偉.新型纖維纏繞張力控制系統(tǒng)研究[J].玻璃鋼/復(fù)合材料,2006,(4):35-37.
[5] 王春香,賈延林,王永章,趙萬(wàn)生.精密張力控制系統(tǒng)數(shù)據(jù)采集技術(shù)[J].電子測(cè)量技術(shù),1999,2:35-36.
[6] 賈曉寧,劉士華.CCFW的一種新型張力控制方法研究[J].纖維復(fù)合材料,2002,(2):28-29.
[7] 李軍英,王桂英.8098單片機(jī)控制纖維張力器的研制[J].纖維復(fù)合材料,1997,(2):26-28.
[8] 王俊霞,史耀耀,周云端,張曉輝.數(shù)控布帶纏繞機(jī)的新型張力控制系統(tǒng)[J].機(jī)床與液壓,2006,(11):186-188.
[9] DELTA TAU Data System Inc. PMAC USER’S MANUAL[M].USA:DELTA TAU Data System Inc,1999.
[10] 蘭光明,韓秋實(shí),孫志永.VC環(huán)境下的PMAC數(shù)據(jù)實(shí)時(shí)采集與顯示[J].北京機(jī)械工業(yè)學(xué)院學(xué)報(bào),2004,19(1):61-65.
[11] 彭寶營(yíng),韓秋實(shí),孫志永.基于PMAC的數(shù)控機(jī)床數(shù)據(jù)實(shí)時(shí)采集的研究[J].微計(jì)算機(jī)信息,2007,23:237-239.
[12] 何斌,耿春萍.多媒體時(shí)鐘解決實(shí)時(shí)控制系統(tǒng)的定時(shí)[J].飛行器測(cè)控學(xué)報(bào),2006,25(3):86-89.
[13] 姚領(lǐng)田.精通MFC程序設(shè)計(jì)[M].北京:郵電出版社,2006.
[14] 鄧在雄,趙惠清.數(shù)據(jù)實(shí)時(shí)采集與處理系統(tǒng)軟件開發(fā)中若干問(wèn)題的研究[J].北京化工大學(xué)學(xué)報(bào),2004,31(6):101-103.
[15] 張衛(wèi)鋼,陳文斌.利用VC++實(shí)現(xiàn)接收數(shù)據(jù)到曲線的轉(zhuǎn)換及其動(dòng)態(tài)顯示[J].工業(yè)控制計(jì)算機(jī),2003,16(10):52-53.

 

推薦復(fù)材學(xué)院 更多>