亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        計算機并口在軌跡控制系統(tǒng)中的應(yīng)用

        2011-06-12 06:29:36江衛(wèi)華余睿民李涵嫣
        武漢工程大學(xué)學(xué)報 2011年12期
        關(guān)鍵詞:驅(qū)動程序調(diào)用應(yīng)用程序

        王 浩,江衛(wèi)華,余睿民,李涵嫣

        (1.武漢工程大學(xué)電氣信息學(xué)院,湖北 武漢 430205;2.北京服裝學(xué)院信息工程學(xué)院,北京 100029)

        0 引 言

        軌跡控制,又稱輪廓控制,主要應(yīng)用于傳統(tǒng)的數(shù)控系統(tǒng)、切割系統(tǒng)的運動輪廓控制[1],如氣動標(biāo)記機、銑床、切割機等.目前連續(xù)軌跡控制系統(tǒng)多采用單板機控制[2],其操作復(fù)雜、程序修改不便.隨著市場全球化的發(fā)展,市場對適合中小批量加工、具有良好柔性和多功能的制造系統(tǒng)的需求已超過對大型單一功能的制造系統(tǒng)的需求[3].本文介紹一種基于Windows XP平臺并口的三軸軌跡控制系統(tǒng).

        1 系統(tǒng)的組成

        通過計算機的控制,步進電機的脈沖、方向信號和刀具的控制信號經(jīng)并口向下位機接口模塊發(fā)送.下位機接口模塊對信號進行抗干擾處理后,將脈沖和方向信號發(fā)送至步進電機驅(qū)動器,同時將控制信號發(fā)送至輔助設(shè)備.系統(tǒng)采用三軸控制.其中X、Y軸電機帶動刀具在水平面運動,Z軸在豎直方向運動.三軸到位信號通過并口送回上位機,上位機捕獲到位信號后及時動作.系統(tǒng)組成框圖如圖1所示.

        圖1 接口模塊框圖

        X、Y和Z軸到位信號的檢測由接近開關(guān)完成.X軸到位信號的處理電路圖如圖2所示.

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

        圖2 到位信號處理電路

        2 并口驅(qū)動程序設(shè)計

        2.1 并口的特性

        并行接口,簡稱并口,又稱LPT接口,是采用并行通信協(xié)議的擴展接口.一般用于連接打印機、掃描儀等外部設(shè)備.其工作模式包括標(biāo)準(zhǔn)并行口(SPP)模式、雙向模式、增強型半行接口(EPP)模式、擴展并行接口(ECP)模式等.以標(biāo)準(zhǔn)SPP模式為例,它使用三個8位的端口寄存器,即數(shù)據(jù)寄存器、狀態(tài)寄存器和控制寄存器.計算機就是通過對這些寄存器的讀寫操作訪問并口.該系統(tǒng)的并口工作在雙向模式下.

        2.2 驅(qū)動程序的實現(xiàn)

        與Windows 9X環(huán)境不同,在Windows NT環(huán)境下,應(yīng)用程序不能使用Win 32 API函數(shù)直接操作端口,為此微軟提出了一種全新的Windows驅(qū)動程序模型,即Windows Driver Model(WDM).WDM旨在通過提供一種靈活的方式來簡化驅(qū)動程序的開發(fā),在實現(xiàn)對新硬件支持的基礎(chǔ)上減少并降低所必須開發(fā)的驅(qū)動程序的數(shù)量和復(fù)雜性[4].它實現(xiàn)了模塊化、分層次類型的驅(qū)動程序結(jié)構(gòu).本系統(tǒng)驅(qū)動的主要例程包括:DefaultPnpHander、DriverEntry、HandleRemoveDevice、HandleStartDevice、AddDevice、DeviceIOControl、DispatchRoutine、Pnp、Unload等部分.

        應(yīng)用程序與底層硬件的通信可分解為應(yīng)用程序與驅(qū)動程序的通信和驅(qū)動程序與底層硬件的通信.應(yīng)用程序與驅(qū)動程序通信前必需先建立兩者之間的聯(lián)系,即應(yīng)用程序獲取驅(qū)動程序的設(shè)備句柄,如圖3所示[5].

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

        圖3 應(yīng)用程序獲取設(shè)備句柄

        應(yīng)用程序獲取設(shè)備句柄后,對端口的讀寫操作通過調(diào)用端口操作函數(shù)(DeviceIOControl)實現(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)

        為使Windows操作系統(tǒng)易于移植到不同的硬件平臺的上,微軟提出并使用了硬件抽象層(HAL).設(shè)備驅(qū)動程序可直接調(diào)用硬件抽象層提供的函數(shù)實現(xiàn)對底層硬件的操作,通過修改抽象層程序可實現(xiàn)多硬件平臺移植[6].如對于32位的X86系列CPU中的Windows,驅(qū)動程序調(diào)用硬件抽象層的讀端口函數(shù)(READ_PORT_UCHAR)和寫端口函數(shù)(WRITE_PORT_UCHAR)可完成對端口數(shù)據(jù)的八位讀寫操作,即完成驅(qū)動程序與底層數(shù)據(jù)的通信.

        以讀取并口八位數(shù)據(jù)為例,函數(shù)調(diào)用如圖4所示[5].

        圖4 應(yīng)用程序讀端口

        處理過程為:應(yīng)用程序調(diào)用DeviceIOControl函數(shù)后,相應(yīng)控制碼和請求同時傳遞給驅(qū)動程序,且I/O管理器會創(chuàng)建一個IRP_MJ_DEVICE_CONTROL類型的IRP,用戶提供的輸入緩沖區(qū)的內(nèi)容被復(fù)制到內(nèi)核模式中,其地址由IRP的AssociatedIrp.SystemBuffer子域記錄.然后驅(qū)動程序會將創(chuàng)建的IRP轉(zhuǎn)發(fā)至DeviceIOControl派遣函數(shù)中;派遣函數(shù)讀取IRP的內(nèi)存地址,獲得輸入緩沖區(qū)數(shù)據(jù)及IOCTL_READ_PORT操作碼,并調(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)完成.

        3 系統(tǒng)應(yīng)用程序開發(fā)

        系統(tǒng)應(yīng)用程序的開發(fā)采用模塊化程序設(shè)計方法,即將整個軟件逐步細分為樹形結(jié)構(gòu),直至所有子過程都能用編程語言直接實現(xiàn)[7].函數(shù)之間的參數(shù)采用指針傳遞.整個并口驅(qū)動程序為子函數(shù),供應(yīng)用程序調(diào)用.

        軌跡控制系統(tǒng)的核心問題是如何控制刀具的運動.下位機接口模塊雖為三軸設(shè)計,但設(shè)計軟件時,Z軸并不參與插補.它主要用于銑床中的出刀和回刀操作.在應(yīng)用于氣動標(biāo)記機系統(tǒng)時,將Z軸出刀位移設(shè)置為零即可實現(xiàn)兩軸單平面運動.因此該軌跡控制主要針對平面曲線的運動軌跡.而平面曲線的軌跡需要兩個坐標(biāo)軸的協(xié)調(diào)運動才能形成.在兩軸聯(lián)動的數(shù)控機床中廣泛應(yīng)用逐點比較法.系統(tǒng)采用逐點比較法的直線插補方式.在步進電機驅(qū)動器高細分度的配合下,系統(tǒng)輪廓的加工精度能得到有效保證.該軌跡控制系統(tǒng)在氣動標(biāo)記機系統(tǒng)中的應(yīng)用效果圖如圖5所示.

        圖5 在氣動標(biāo)記機系統(tǒng)中的應(yīng)用

        4 結(jié) 語

        整個系統(tǒng)采用模塊化設(shè)計方法,且同時適用于多種小型數(shù)控機床.目前該系統(tǒng)已在氣動標(biāo)記機和銑床上使用.實踐證明,該系統(tǒng)具有許多優(yōu)點:①數(shù)據(jù)處理能力強、速度快;②抗外界干擾能力強、可在惡劣環(huán)境下作業(yè);③有效節(jié)約產(chǎn)品成本、提高系統(tǒng)的可靠性;④可加工任意字符、商標(biāo)、圖形和圖案等,操作和維護方便.

        參考文獻:

        [1]莊文波.連續(xù)軌跡運動控制系統(tǒng)的研究與應(yīng)用[D].哈爾濱:哈爾濱工程大學(xué),2008.

        [2]陳慶,熊瑞平,袁中凡,等.基于PC機并口的線切割數(shù)控系統(tǒng)[J].機械與電子,2006(11):44-46.

        [3]蔡曉雯.基于MCX314的運動控制器的研究與設(shè)計[D].湘潭:湘潭大學(xué),2008.

        [4]楊珺.基于WIN2000下的WDM驅(qū)動程序探究[D].天津:天津大學(xué),2005.

        [5]張帆,史彩成.Windows驅(qū)動開發(fā)技術(shù)詳解[M].北京:電子工業(yè)出版社,2008.

        [6]冉全,陳為,趙世平.事件馬飛動編程機制在嵌入式GUI系統(tǒng)中的實現(xiàn)[J].武漢工程大學(xué)學(xué)報,2009,31(7):84-87.

        [7]江衛(wèi)華.基于PC計算機并行口氣動標(biāo)記機系統(tǒng)的設(shè)計[J].電氣傳動自動化,2002,24(1):44-46.

        猜你喜歡
        驅(qū)動程序調(diào)用應(yīng)用程序
        核電項目物項調(diào)用管理的應(yīng)用研究
        刪除Win10中自帶的應(yīng)用程序
        電腦報(2019年12期)2019-09-10 05:08:20
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
        利用RFC技術(shù)實現(xiàn)SAP系統(tǒng)接口通信
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        三星電子將開設(shè)應(yīng)用程序下載商店
        微軟軟件商店開始接受應(yīng)用程序
        驅(qū)動程序更新與推薦
        驅(qū)動程序更新與推薦
        国产动作大片中文字幕| 国产一区二区三区在线观看蜜桃| 高潮精品熟妇一区二区三区| 亚洲中文字幕无码爆乳app| 亚洲小说区图片区另类春色| 正在播放老肥熟妇露脸| 伊人蕉久中文字幕无码专区| 色综合久久精品中文字幕| 国产精品久久久久久久久久影院| 高清国产亚洲精品自在久久| 日韩夜夜高潮夜夜爽无码 | 成人性生交片无码免费看| 青草蜜桃视频在线观看| 成人影院羞羞的视频免费观看| 久久精品国产免费观看三人同眠| 狠狠色噜噜狠狠狠888米奇视频| 无夜精品久久久久久| 国产激情视频在线观看首页| 无码国内精品人妻少妇蜜桃视频 | 亚洲日本人妻中文字幕| 日本一区二区三区视频免费在线| 国产欧美日韩精品专区| 在线播放免费人成毛片乱码| 亚洲av日韩av无码av| 亚洲成A人A∨久在线观看| 国产毛片精品一区二区色| 色大全全免费网站久久| 亚洲av无码潮喷在线观看| 亚洲AV无码久久精品成人| 成人影院视频在线播放| 四虎影视久久久免费观看| 国产看黄网站又黄又爽又色| 一区二区三区国产97| 国内精品亚洲成av人片| 中文字幕亚洲综合久久菠萝蜜| 国产小受呻吟gv视频在线观看| 久久久久AV成人无码网站| 亚洲色图在线免费视频| 水蜜桃精品一二三| 无码一区二区三区不卡AV| 全国一区二区三区女厕偷拍|