計算機并口在軌跡控制系統中的應用_第1頁
計算機并口在軌跡控制系統中的應用_第2頁
計算機并口在軌跡控制系統中的應用_第3頁
計算機并口在軌跡控制系統中的應用_第4頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、計算機并口在軌跡控制系統中的應用摘要:針對目前市場上普遍使用且功能單一的傳統小型數控系統,開發一種功能復合化和系統軟件化的經濟型控制系統可以,以便有效的解決很多工程上的實際問題。設計了一種基于Windows XP平臺下計算機并口的三軸軌跡控制系統。系統采用開環控制,控制部分通過全軟件實現。上位機與下位機接口模塊通過并口通信,并口由獨立編寫的設備驅動程序驅動。重點介紹了設備驅動程序的通信過程。應用結果表明,系統響應速度快、數據處理能力強、穩定性好,且能同時適用于多種用途的數控系統。關鍵詞:軌跡控制;并口;驅動; WDM; 插補中圖分類號:TP29 文獻標識碼: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 一、引言軌跡控制,又稱為輪廓控制,主要應用在傳統的數控系統、切割系統的運動輪廓控制1,如氣動打標機、銑床、切割機等。目前連續軌跡控制系統多采用單板機控制2,其操作復雜、程序修改不便。隨著市場全球化的發展,市場對適合中小批量加工、具有良好柔性和多功能的制造系統的需求已超過對大型單一功能的制造系統的需求3。本文介紹一種基于Windows XP平臺下并口的三軸軌跡控制系統。二、系統組成原理在計算機的控制下,步進電機的脈沖、方向信號和加工頭的控制信號通過并口向下位機接口模塊發送。下位機接口模塊對信號進行抗干擾處理后

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

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

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

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

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

11、e為設備創建設備鏈接,該設備鏈接暴露給應用程序。應用程序通過設備鏈接獲取設備信息,并調用Win 32子系統中的CreatFile API。CreatFile調用Ntdll.dll中的NtCreatFile函數。NtCreatFile穿過用戶模式和內核模式的界面,到達內核模式,并調用同名的系統服務NtCreateFile。NtCreateFile系統服務通過I/O管理器創建IRP_MJ_CREAT并傳輸到設備的驅動程序中,驅動程序處理該IRP并返回。CreateFile調用成功后的返回值即為設備句柄。在調用其它Win32函數訪問該設備時,只需將該句柄作為函數的設備名參數即可實現對設備驅動程序的操

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論