計算機(jī)并口在軌跡控制系統(tǒng)中的應(yīng)用_第1頁
計算機(jī)并口在軌跡控制系統(tǒng)中的應(yīng)用_第2頁
計算機(jī)并口在軌跡控制系統(tǒng)中的應(yīng)用_第3頁
計算機(jī)并口在軌跡控制系統(tǒng)中的應(yīng)用_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、計算機(jī)并口在軌跡控制系統(tǒng)中的應(yīng)用摘要:針對目前市場上普遍使用且功能單一的傳統(tǒng)小型數(shù)控系統(tǒng),開發(fā)一種功能復(fù)合化和系統(tǒng)軟件化的經(jīng)濟(jì)型控制系統(tǒng)可以,以便有效的解決很多工程上的實(shí)際問題。設(shè)計了一種基于Windows XP平臺下計算機(jī)并口的三軸軌跡控制系統(tǒng)。系統(tǒng)采用開環(huán)控制,控制部分通過全軟件實(shí)現(xiàn)。上位機(jī)與下位機(jī)接口模塊通過并口通信,并口由獨(dú)立編寫的設(shè)備驅(qū)動程序驅(qū)動。重點(diǎn)介紹了設(shè)備驅(qū)動程序的通信過程。應(yīng)用結(jié)果表明,系統(tǒng)響應(yīng)速度快、數(shù)據(jù)處理能力強(qiáng)、穩(wěn)定性好,且能同時適用于多種用途的數(shù)控系統(tǒng)。關(guān)鍵詞:軌跡控制;并口;驅(qū)動; WDM; 插補(bǔ)中圖分類號:TP29 文獻(xiàn)標(biāo)識碼:BApply of Computer

2、 Parallel Port in Trajectory Control SystemAbstract:In view of traditional small numerical control system whose function is single but generally used in current market, actual problems in many projects can be solved effectively by developing an economy system that has multiple functions and is compl

3、eted almost by software. A triaxial trajectory control system based on parallel port of Windows XP platform is introduced. Open-loop is adopted and control part is realized fully by software. Communication between PC and lower computer interface module is realized by the parallel port, and it is dri

4、ven by independently developed device driver. Communication process is introduced emphatically. Operating results shows that its response speed is fast, data processing ability and stability is well and it can also be applied to multi-purpose computerized numerical control.Key words:trajectory contr

5、ol;parallel port; driver;WDM; interpolation 一、引言軌跡控制,又稱為輪廓控制,主要應(yīng)用在傳統(tǒng)的數(shù)控系統(tǒng)、切割系統(tǒng)的運(yùn)動輪廓控制1,如氣動打標(biāo)機(jī)、銑床、切割機(jī)等。目前連續(xù)軌跡控制系統(tǒng)多采用單板機(jī)控制2,其操作復(fù)雜、程序修改不便。隨著市場全球化的發(fā)展,市場對適合中小批量加工、具有良好柔性和多功能的制造系統(tǒng)的需求已超過對大型單一功能的制造系統(tǒng)的需求3。本文介紹一種基于Windows XP平臺下并口的三軸軌跡控制系統(tǒng)。二、系統(tǒng)組成原理在計算機(jī)的控制下,步進(jìn)電機(jī)的脈沖、方向信號和加工頭的控制信號通過并口向下位機(jī)接口模塊發(fā)送。下位機(jī)接口模塊對信號進(jìn)行抗干擾處理后

6、,將脈沖和方向信號發(fā)送至步進(jìn)電機(jī)驅(qū)動器,同時將控制信號發(fā)送至輔助設(shè)備。系統(tǒng)采用三軸運(yùn) 動控制。其中X、Y軸電機(jī)帶動加工頭在水平面運(yùn)動,Z軸在豎直方向運(yùn)動。其到位信號通過并口送回上位機(jī),上位機(jī)檢測到到位信號后及時做相應(yīng)動作。系統(tǒng)組成框圖如圖1所示。光電隔離光電隔離信號處理1位控制線3位狀態(tài)線6位數(shù)據(jù)線圖1:接口模塊框圖Fig.1. Diagram of Interface module計算機(jī)并口緩沖器光電隔離220VAC電平轉(zhuǎn)換接口模塊供電步進(jìn)電機(jī)驅(qū)動器及接近開關(guān)供電接口模塊步進(jìn)驅(qū)動器步進(jìn)電機(jī)三維工作臺接近開關(guān)3軸到位信號輔助設(shè)備加工頭緩沖器X、Y和Z軸到位信號的檢測通過接近開關(guān)來完成。X軸到位

7、信號的處理電路圖如圖2所示。圖2:到位信號處理電路Fig.2. Processing Circuit of Arrival Signal以X軸為例,圖2中IN與接近開關(guān)的輸出端連接,OUT與光耦的輸入端連接。當(dāng)電機(jī)到位時,接近開關(guān)的信號線為高電平,開關(guān)管的基極為高電平,開關(guān)管導(dǎo)通,開關(guān)管的集電極被拉低為低電平,該低電平信號經(jīng)阻容濾波后送至光耦輸入端,光耦輸出端接并口的狀態(tài)端口,計算機(jī)即可讀取到位信號。根據(jù)計算機(jī)狀態(tài)端口的TTL電平標(biāo)準(zhǔn),反相器輸出端接上上拉10K的上拉電阻。Y軸和Z軸類似。此外,下位機(jī)接口模塊還包含電平轉(zhuǎn)換電路,分別為步進(jìn)電機(jī)驅(qū)動器、接近開關(guān)和反相器提供+36V、+12V和+5

8、V電壓。三、并口驅(qū)動程序設(shè)計(一)、 并口的特性并行接口,簡稱并口,也就是LPT接口,是采用并行通信協(xié)議的擴(kuò)展接口。一般用來連接打印機(jī)、掃描儀等計算機(jī)外部設(shè)備。其主要模式包括SPP模式、雙向模式、EPP模式、ECP模式等。以標(biāo)準(zhǔn)SPP模式為例,它使用三個8位的端口寄存器,即數(shù)據(jù)寄存器、狀態(tài)寄存器和控制寄存器。PC就是通過對這些寄存器的讀寫訪問并口的。該系統(tǒng)的并口工作在雙向模式下。(二)、驅(qū)動程序的實(shí)現(xiàn)與Windows 9X環(huán)境不同,在Windows NT環(huán)境下,應(yīng)用程序不能使用Win 32 API函數(shù)直接操作端口,這有別于Windows 9X環(huán)境,為此微軟提出了一種全新的Windows驅(qū)動程序

9、模型,即Windows Driver Model(WDM)。WDM旨在通過提供一種靈活的方式來簡化驅(qū)動程序的開發(fā),在實(shí)現(xiàn)對新硬件支持的基礎(chǔ)上減少并降低所必須開發(fā)的驅(qū)動程序的數(shù)量和復(fù)雜性4。它實(shí)現(xiàn)了模塊化、分層次類型的驅(qū)動程序結(jié)構(gòu)。本系統(tǒng)驅(qū)動的主要例程包括:DefaultPnpHander、DriverEntry、HandleRemoveDevice、HandleStartDevice、AddDevie、DeviceIOControl、DispatchRoutine、Pnp、Unload等部分。用戶層內(nèi)核層應(yīng)用程序Win 32 子系統(tǒng)(Kernel32.dll)Native API(ntdll.

10、dll)調(diào)用CreateFile API調(diào)用NtCreateFile調(diào)用NtCreateFile系統(tǒng)服務(wù)系統(tǒng)服務(wù)函數(shù)I/O管理器設(shè)備驅(qū)動創(chuàng)建并發(fā)送IRP_MJ_CREAT返回句柄派遣函數(shù)處理IRP_MJ_CREAT圖3: 應(yīng)用程序獲取設(shè)備句柄Fig.3. Application Program Accesses Device Handle應(yīng)用程序與底層硬件的通信可分解為應(yīng)用程序與驅(qū)動程序的通信和驅(qū)動程序與底層硬件的通信。應(yīng)用程序與驅(qū)動程序通信,必須先建立兩者之間的聯(lián)系,即應(yīng)用程序獲取驅(qū)動程序的設(shè)備句柄。這個過程如圖3所示5。驅(qū)動程序創(chuàng)建設(shè)備時,用IoRegisterDeviceInterfac

11、e為設(shè)備創(chuàng)建設(shè)備鏈接,該設(shè)備鏈接暴露給應(yīng)用程序。應(yīng)用程序通過設(shè)備鏈接獲取設(shè)備信息,并調(diào)用Win 32子系統(tǒng)中的CreatFile API。CreatFile調(diào)用Ntdll.dll中的NtCreatFile函數(shù)。NtCreatFile穿過用戶模式和內(nèi)核模式的界面,到達(dá)內(nèi)核模式,并調(diào)用同名的系統(tǒng)服務(wù)NtCreateFile。NtCreateFile系統(tǒng)服務(wù)通過I/O管理器創(chuàng)建IRP_MJ_CREAT并傳輸?shù)皆O(shè)備的驅(qū)動程序中,驅(qū)動程序處理該IRP并返回。CreateFile調(diào)用成功后的返回值即為設(shè)備句柄。在調(diào)用其它Win32函數(shù)訪問該設(shè)備時,只需將該句柄作為函數(shù)的設(shè)備名參數(shù)即可實(shí)現(xiàn)對設(shè)備驅(qū)動程序的操

12、作,即完成應(yīng)用程序與驅(qū)動程序的通信。應(yīng)用程序獲取設(shè)備句柄后,對端口的讀寫操作通過調(diào)用DeviceIOControl即可實(shí)現(xiàn)。調(diào)用該函數(shù)時需用CTL_CODE宏定義定義IOCTL碼,定義時需指定操作模式,如定義采用緩沖區(qū)方式讀端口的IOCTL碼為:#define IOCTL_READ_PORT CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 0X800, METHOD_BUFFERED, FILE_ANY_ACCESS)讀寫端口既包括應(yīng)用程序與驅(qū)動程序的通信,也包括驅(qū)動程序與底層硬件的通信。為使Windows操作系統(tǒng)易于移植到各個硬件平臺的上,微軟提出并使用了硬件抽象層

13、(HAL)。設(shè)備驅(qū)動程序可直接調(diào)用硬件抽象層提供的函數(shù)實(shí)現(xiàn)對底層硬件的操作。如對于32位的X86系列CPU中的Windows,驅(qū)動程序調(diào)用READ_PORT_UCHAR和WRITE_PORT_UCHAR即可完成對端口數(shù)據(jù)的八位讀寫操作,即完成驅(qū)動程序與底層數(shù)據(jù)的通信。以從并口讀取八位數(shù)據(jù)為例,函數(shù)調(diào)用如圖4所示5。用戶層內(nèi)核層硬件層應(yīng)用程序調(diào)用DeviceIoControl計算機(jī)并口硬件抽象層HALDeviceIoControl派遣函數(shù)I/O管理器調(diào)用READ_PORT_UCHAR創(chuàng)建并發(fā)送IRP_MJ_DEVICE_CONTROL輸入緩沖區(qū)輸出緩沖區(qū)IRP內(nèi)存地址復(fù)制IRP內(nèi)存地址寫入IOC

14、TL碼等讀出IOCTL碼等寫入讀取值復(fù)制圖4: 應(yīng)用程序讀端口Fig.4. Application Program Reads Port處理過程為:應(yīng)用程序調(diào)用DeviceIOControl函數(shù)后,這個控制碼和請求一起傳遞給驅(qū)動程序,且I/O管理器會創(chuàng)建一個IRP_MJ_DEVICE_CONTROL類型的IRP,用戶提供的輸入緩沖區(qū)的內(nèi)容被復(fù)制到內(nèi)核模式中,這個地址由IRP的AssociatedIrp.SystemBuffer子域記錄。然后驅(qū)動程序會將這個IRP轉(zhuǎn)發(fā)到DeviceIOControl派遣函數(shù)中;派遣函數(shù)讀取IRP的內(nèi)存地址,獲得輸入緩沖區(qū)數(shù)據(jù)及IOCTL_READ_PORT操作碼

15、,并調(diào)用READ_PORT_UCHAR函數(shù);READ_PORT_UCHAR函數(shù)從端口讀取八位數(shù)據(jù),并將該數(shù)據(jù)存放在IRP提供的內(nèi)存地址中;在IRP返回時,這段內(nèi)存地址的數(shù)據(jù)會被復(fù)制到DeviceIOControl提供的輸出緩沖區(qū)中;應(yīng)用程序獲取緩沖區(qū)中的數(shù)據(jù),端口完成讀操作。其中,用戶層與內(nèi)核層之間的數(shù)據(jù)復(fù)制過程由操作系統(tǒng)完成。四、系統(tǒng)應(yīng)用程序開發(fā)系統(tǒng)應(yīng)用程序的開發(fā)采用模塊化程序設(shè)計方法,即將整個軟件逐步細(xì)分為樹形結(jié)構(gòu),直到所有子過程都能用編程語言直接實(shí)現(xiàn) 6。函數(shù)之間的參數(shù)采用指針傳遞。整個并口驅(qū)動程序便為一子函數(shù),供應(yīng)用程序調(diào)用。軌跡控制系統(tǒng)的核心問題,即是控制加工頭的運(yùn)動。下位機(jī)接口模塊

16、雖為三軸設(shè)計,但在軟件設(shè)計中,Z軸并不參與插補(bǔ),其主要用于銑床中的出刀和回刀操作等。在應(yīng)用于打標(biāo)機(jī)系統(tǒng)時,將Z軸出刀位移設(shè)置為零即可實(shí)現(xiàn)兩軸單平面運(yùn)動。因此該軌跡控制主要針對平面曲線的運(yùn)動軌跡。而平面曲線的軌跡需要兩個坐標(biāo)軸的協(xié)調(diào)運(yùn)動才能形成。兩軸聯(lián)動的數(shù)控機(jī)床中廣泛應(yīng)用逐點(diǎn)比較法。系統(tǒng)采用逐點(diǎn)比較法的圓弧插補(bǔ)方式。在步進(jìn)電機(jī)驅(qū)動器高細(xì)分度的配合下,系統(tǒng)輪廓的加工精度能得到有效保證。五、結(jié)論整個系統(tǒng)采用模塊化設(shè)計方法,且同時適用于多種小型數(shù)控機(jī)床。目前該系統(tǒng)已在氣動打標(biāo)機(jī)和銑床上使用。實(shí)踐證明,該系統(tǒng)具有許多優(yōu)點(diǎn):數(shù)據(jù)處理能力強(qiáng)、速度快;抗外界干擾能力強(qiáng)、可在惡劣環(huán)境下作業(yè);有效節(jié)約產(chǎn)品成本、提高系統(tǒng)的可靠性;可加工任意字符、商標(biāo)、圖形和圖案等,操作和維護(hù)方便。參考文獻(xiàn)1 莊文波連續(xù)軌跡運(yùn)動控制系統(tǒng)的研究與應(yīng)用:學(xué)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論