基于虛擬儀器的服裝裁剪機(jī)數(shù)控系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 硬件結(jié)構(gòu)
1.1 PMAC簡介
本控制系統(tǒng)采用PC機(jī)上插接PMAC運(yùn)動(dòng)控制卡和通用I/O卡DIO_48的方式搭建。PMAC卡是其關(guān)鍵部件。PMAC是美國Delta Tau Systems公司生產(chǎn)的可編程多軸運(yùn)動(dòng)控制卡(Programmable Multiple Axes Controller)。它擁有高性能的伺服運(yùn)動(dòng)控制功能,CPU是功能強(qiáng)大的數(shù)字信號(hào)處理器DSP56001。通過靈活的高級(jí)語言,每塊卡最多可控制8軸同時(shí)運(yùn)動(dòng)。PMAC板既可以脫機(jī)方式運(yùn)行,又可以通過串行接口或總線接口用一臺(tái)電腦控制其運(yùn)行。PMAC能夠同時(shí)執(zhí)行多個(gè)任務(wù)并能正確地進(jìn)行優(yōu)先級(jí)排序,這樣大大地減輕了上位機(jī)的工作負(fù)擔(dān)。利用PMAC作為下位機(jī)開發(fā)的控制系統(tǒng)具有工作可靠、控制精度高且實(shí)時(shí)性強(qiáng)的特點(diǎn)。
1.2 硬件結(jié)構(gòu)及工作原理
PC機(jī)與PMAC卡之間主要采用ISA總線進(jìn)行通信。上位機(jī)PC主要實(shí)現(xiàn)系統(tǒng)的控制和管理,下位機(jī)PMAC完成實(shí)時(shí)控制各軸的運(yùn)動(dòng),并實(shí)時(shí)反饋運(yùn)動(dòng)狀態(tài),如電機(jī)位置、運(yùn)行狀況等。系統(tǒng)硬件結(jié)構(gòu)如圖1所示。
服裝裁剪機(jī)的關(guān)鍵部件是裁剪機(jī)頭,它有三個(gè)自由度需要控制,即X軸位置、Y軸位置和圍繞Z軸的轉(zhuǎn)角C。出于成本考慮,本系統(tǒng)通過插在PC機(jī)ISA標(biāo)準(zhǔn)總線插槽上的MINAS型PMAC卡控制X軸和Y軸位置,帶動(dòng)裁剪刀頭在X-Y平面內(nèi)運(yùn)動(dòng),X、Y軸分別由400W交流伺服電機(jī)經(jīng)行星齒輪減速機(jī)減速來驅(qū)動(dòng)。工作時(shí)刀頭根據(jù)X-Y平面內(nèi)的軌跡不斷調(diào)整旋轉(zhuǎn)角度C,使刀頭前進(jìn)方向和曲線的切線方向一致。同時(shí)由位置電傳感器采集刀面受力情況,經(jīng)電壓比較電路處理后輸出為數(shù)字信號(hào)f0、f1、f2,根據(jù)這三個(gè)值的組合狀況對(duì)刀頭偏轉(zhuǎn)角度進(jìn)行補(bǔ)償,使刀片兩面受力平衡,刀面保持豎直方向上下動(dòng)作,使裁剪的衣片上下大小形狀一致,以保證裁剪精度。通用I/O卡通過PCI總線插在PC機(jī)的插槽上,它通過輸出控制信號(hào)CP、CW、EN來控制步進(jìn)電機(jī),實(shí)現(xiàn)刀頭的旋轉(zhuǎn)。J5口為通用數(shù)字輸入和輸出口,它提供8個(gè)普通用途的數(shù)字輸入和8個(gè)普通用途的數(shù)字輸出。這些輸入和輸出通常通過定義M變量由軟件進(jìn)行讀取。在M變量的定義中,變量M1到M8分別用于讀取輸出1~8,M11~M18分別用于讀取輸入1~8。刀頭上下振動(dòng)切割布料的動(dòng)作由永磁無刷直流電動(dòng)機(jī)經(jīng)同步齒輪帶傳遞,將偏心輪轉(zhuǎn)動(dòng)轉(zhuǎn)變?yōu)榈额^的上下動(dòng)作實(shí)現(xiàn)。變量M1用于控制該電機(jī)的起停。M2輸出數(shù)字信號(hào)控制刀頭提刀與下刀,M3、M4變量輸出分別執(zhí)行磨刀和壓腳功能。M11、M12、M13用于接收來自刀頭的檢測數(shù)字信號(hào)f0、f1、f2。M14用于檢測刀頭的旋轉(zhuǎn)零位,每次程序運(yùn)行前,都要先完成刀頭位置的初始化,使刀頭準(zhǔn)確回到初始零位,即旋轉(zhuǎn)運(yùn)動(dòng)的基準(zhǔn)點(diǎn)。
2 軟件開發(fā)
PMAC卡的開發(fā)軟件包括PCOMM32和PCOMM16,前者是Windows下的動(dòng)態(tài)鏈接庫函數(shù),可使用VB、VC、LabVIEW等軟件開發(fā)。PCOMM16的功能和PCOMM32相同,只是前者為16位的DOS開發(fā)環(huán)境。實(shí)時(shí)操作系統(tǒng)可以提供一般通用操作系統(tǒng)無法保證的實(shí)時(shí)性。但對(duì)開發(fā)人員來說,系統(tǒng)的特殊性帶來了較大的開發(fā)難度。實(shí)時(shí)性是指系統(tǒng)能夠在有限的時(shí)間內(nèi)執(zhí)行要求的功能,并對(duì)外部的異步事件做出反應(yīng)的能力,它是一個(gè)相對(duì)概念。結(jié)合本系統(tǒng)的具體要求,可以考慮應(yīng)用基于Windows系統(tǒng)的軟件,通過程序結(jié)構(gòu)優(yōu)化及對(duì)各任務(wù)的合理調(diào)度,開發(fā)滿足實(shí)時(shí)性要求的控制系統(tǒng)。
LabVIEW是NI公司開發(fā)的軟件,主要面向計(jì)算機(jī)測控領(lǐng)域的虛擬儀器軟件開發(fā)平臺(tái),它是應(yīng)用于Windows平臺(tái)的圖形化快速編程語言,被譽(yù)為工程師和科學(xué)家的語言[2]。LabVIEW的運(yùn)行機(jī)制是一種帶有圖形控制流結(jié)構(gòu)的數(shù)據(jù)流模式,程序框架從宏觀上講是一種多任務(wù)并行的運(yùn)行機(jī)制。LabVIEW具有強(qiáng)大的外部接口能力,可以實(shí)現(xiàn)LabVIEW與外部的應(yīng)用軟件,如C語言、Windows API等編程語言之間的通信。在LabVIEW中可用的外部接口包括:DDE、CIN、DLL等。合理使用這些接口,充分利用其他軟件的功能,可以編寫出功能更加強(qiáng)大的LabVIEW應(yīng)用軟件。基于LabVIEW的以上特點(diǎn),以及其獨(dú)特的多任務(wù)并行機(jī)制,本系統(tǒng)采用該平臺(tái)開發(fā)數(shù)控裁剪系統(tǒng)。
整個(gè)系統(tǒng)軟件按照模塊化的編程思想分為6個(gè)模塊,如圖2所示。
(1)刀頭控制模塊:對(duì)刀頭的角度控制包括控制刀頭前進(jìn)方向與X-Y平面內(nèi)的運(yùn)動(dòng)軌跡切線方向一致,并根據(jù)刀面受力狀況對(duì)刀頭偏轉(zhuǎn)角度進(jìn)行補(bǔ)償。刀頭控制的程序框圖如圖3所示。具體實(shí)現(xiàn)則主要靠調(diào)用動(dòng)態(tài)鏈接庫pmac.dll(PCOMM32中提供)的相應(yīng)函數(shù)。已定義的M變量可以在程序里像使用任何其他變量那樣使用。例如程序中判斷“程序結(jié)束?”讀的是M150的狀態(tài),判斷“到分段處?”讀的是M151的狀態(tài),它們都可以采用調(diào)用動(dòng)態(tài)鏈接庫中的函數(shù)PmacGetResponseA輕松地實(shí)現(xiàn)。而對(duì)步進(jìn)電機(jī)的運(yùn)動(dòng)控制則是通過在LabVIEW中調(diào)用C源代碼,即利用CIN代碼接口實(shí)現(xiàn)。
為了保證刀頭圍繞Z軸的角度調(diào)整能及時(shí)跟上運(yùn)動(dòng)軌跡的變化,即達(dá)到實(shí)時(shí)性要求,應(yīng)對(duì)刀頭控制做優(yōu)化改進(jìn),現(xiàn)以圖4的衣片圖樣為例說明:
當(dāng)運(yùn)動(dòng)到A、B、C、D、E 5個(gè)不連續(xù)點(diǎn)時(shí),要先使PMAC的運(yùn)動(dòng)程序暫停,待步進(jìn)電機(jī)帶動(dòng)刀頭偏轉(zhuǎn)到需要的角度時(shí),再控制運(yùn)動(dòng)程序繼續(xù)。
連續(xù)運(yùn)動(dòng)段基本上由平滑曲線組成。對(duì)連續(xù)運(yùn)動(dòng)段,可根據(jù)其曲率變化,設(shè)置不同的運(yùn)動(dòng)速度。如a、e、f段為直線,可設(shè)運(yùn)動(dòng)速度為100mm/s;b段設(shè)為50mm/s;d段曲率最大,運(yùn)動(dòng)速度要再慢一點(diǎn),可設(shè)為5mm/s。這樣,在每個(gè)掃描周期步進(jìn)電機(jī)只需要調(diào)整很小的角度就可以滿足要求。
經(jīng)過這樣的運(yùn)動(dòng)規(guī)劃后,既保證了較快的裁剪速度,又確保了刀頭轉(zhuǎn)角及時(shí)到位,滿足了系統(tǒng)的實(shí)時(shí)性要求。
(2)圖形轉(zhuǎn)換模塊:將衣片的AutoCAD圖形(.DXF格式)轉(zhuǎn)化為PMAC運(yùn)動(dòng)控制器能夠識(shí)別的運(yùn)動(dòng)程序(.PMC格式)。這樣即使不熟悉PMAC的工藝人員也可以很方便地通過將CAD圖樣進(jìn)行轉(zhuǎn)換來生成衣片圖樣文件,而不必直接編輯復(fù)雜的PMAC源程序。
(3)通信模塊:主機(jī)通過總線與下位機(jī)進(jìn)行通信,Delta Tau公司提供了許多軟件庫,這使得主機(jī)通信程序的開發(fā)變得更加容易。動(dòng)態(tài)鏈接庫(DLL)是一個(gè)位于應(yīng)用程序外部的過程庫,它是可共享和重入的,并可以從應(yīng)用程序中調(diào)用,在運(yùn)行時(shí)被動(dòng)態(tài)鏈接,當(dāng)要執(zhí)行DLL中的函數(shù)時(shí),根據(jù)鏈接產(chǎn)生的重定位信息,Windows轉(zhuǎn)去執(zhí)行DLL中相應(yīng)的函數(shù)代碼,從而節(jié)省了寶貴的內(nèi)存資源。PCOMM動(dòng)態(tài)鏈接庫提供的函數(shù)幾乎可處理所有需要的底層操作。在Windows環(huán)境中利用動(dòng)態(tài)鏈接庫pmac.dll中提供的各種函數(shù),建立上位機(jī)和下位機(jī)的通信。
(4)初始化及參數(shù)設(shè)置模塊:上下位機(jī)建立通信后,就要進(jìn)行系統(tǒng)初始化,包括全局變量賦初值,X、Y軸回原點(diǎn),旋轉(zhuǎn)軸回零位(通過接近開關(guān)檢測是否到位)等。參數(shù)設(shè)置包括X、Y軸的運(yùn)動(dòng)速度、加速度、回零速度等變量的設(shè)置。
(5)故障診斷程序:診斷程序可以在系統(tǒng)工作過程中,隨時(shí)發(fā)現(xiàn)系統(tǒng)故障,并能指示故障類型。當(dāng)發(fā)生故障時(shí),該模塊可提供一種輔助診斷手段,增加系統(tǒng)的易維護(hù)性。
(6)顯示模塊:用于動(dòng)態(tài)顯示衣片圖樣的加工軌跡,可分為自動(dòng)、手動(dòng)二種方式。設(shè)置為自動(dòng)時(shí),圖形顯示范圍自動(dòng)調(diào)整;設(shè)置為手動(dòng)時(shí),顯示范圍固定。這可以運(yùn)用LabVIEW提供的X-Y Gragh函數(shù)方便地實(shí)現(xiàn)。
3 總 結(jié)
在PC機(jī)上嵌入PMAC卡開發(fā)數(shù)控裁剪機(jī)時(shí),可充分利用PMAC卡在處理運(yùn)動(dòng)控制方面的強(qiáng)大功能。運(yùn)用基于Windows系統(tǒng)的LabVIEW軟件,調(diào)用動(dòng)態(tài)鏈接庫函數(shù)和CIN接口可方便地實(shí)現(xiàn)上、下位機(jī)之間的通信,大大加快了開發(fā)速度。實(shí)際運(yùn)行結(jié)果表明,控制系統(tǒng)運(yùn)行可靠、準(zhǔn)確,滿足了實(shí)時(shí)性要求。