免费色播,亚洲国产欧美国产第一区二区三区,毛片看,日本精品在线观看视频,国产成人精品一区二区免费视频,日本黄色免费网站,一级毛片免费

Windows平臺(tái)上軟件數(shù)控系統(tǒng)開發(fā)

來源:互聯(lián)網(wǎng)

點(diǎn)擊:1599

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞:Windows 數(shù)控系統(tǒng)

      在Windows平臺(tái)上進(jìn)行數(shù)控系統(tǒng)開發(fā)是數(shù)控產(chǎn)品更新的標(biāo)志和趨勢(shì)。Windows是消息驅(qū)動(dòng)的多任務(wù)環(huán)境,各種消息都按它們到達(dá)的先后順序排隊(duì)處理,即消息機(jī)制是不分任務(wù)的輕重急緩的,若無中斷設(shè)置,僅憑消息調(diào)度機(jī)制,則不能保證數(shù)控前臺(tái)控制任務(wù)在準(zhǔn)確的時(shí)間間隔內(nèi)執(zhí)行,這正是利用Windows平臺(tái)進(jìn)行數(shù)控系統(tǒng)開發(fā)所要解決的關(guān)鍵問題。由于介紹這方面的資料甚少,所 以困擾著Windows平臺(tái)下的數(shù)控軟件開發(fā),我們?cè)诜滦螖?shù)控系統(tǒng)開發(fā)的實(shí)踐中總結(jié)出以下原理、方法和思路。

    1 Windows下攔截硬件中斷的方法

      實(shí)際上,Windows是在DOS內(nèi)核上發(fā)展起來的,DOS的許多中斷在Windows下仍然可用,所不同的是Wind ows運(yùn)行于保護(hù)模式下,從而打破了實(shí)模式的IM可尋地址屏障。在實(shí)模式DOS下,中斷通過中斷 向量 表(WT)進(jìn)行,其內(nèi)存放著中斷服務(wù)子程序的人口地址(段地址:偏移量)。Wind ows另外再產(chǎn)生一種新表,稱為中斷描述表(IDT),它包含了中斷服務(wù)子程序的實(shí)際地址,即24位或32位的地址。

      Windows下中斷調(diào)用分為兩種情況:一種是原來的BIOS或D OS中斷,如計(jì)時(shí)器或鍵盤等硬件中斷,通過Windows的IDT指向一個(gè)特殊的句柄,這個(gè)句柄將CPU轉(zhuǎn)為實(shí)模式,然后查IV T獲得實(shí)模式中斷服務(wù)子程序。另一種是運(yùn)行于保護(hù)模式的,它們查IDT后即可直接轉(zhuǎn)人相應(yīng)中斷程序,如州121H中AH=25H/35H調(diào)用就屬于這種情況,需要注意的是,Windows雖支持DOS的全部硬件中斷和大部分軟件中斷,但與實(shí)模式DOS下的版本有所不同,且有些軟件中斷不再適用,故應(yīng)用時(shí)應(yīng)先查有關(guān)手冊(cè)。

      WindowS下IN121H中AH=25H/3SH這兩個(gè)功能為設(shè)置和取得保護(hù)模式下中斷向量,它們可以用來攔截硬件中斷,使之觸發(fā)所取代的中斷服務(wù)程序在保護(hù)模式下運(yùn)行。在數(shù)控后臺(tái)主程序中利用這兩個(gè)功能來攔截CPU的8253通道o計(jì)數(shù)器的硬件中斷IRQ()所產(chǎn)生的INIUSH,從而實(shí)現(xiàn)數(shù)控前臺(tái)中斷控制服務(wù)程序定時(shí)執(zhí)行。主程序在Windows的Borland C+ +3.1下開發(fā),主程序初始化時(shí),首先用SaveVector保存中斷 向量,然后 用Se tVector設(shè)置新的中斷向量,主程序退出時(shí),用Setvector恢復(fù)原有的中斷向量,下面給出自編的這兩個(gè)函數(shù)。

    2 數(shù)控仿形系統(tǒng)軟件基本結(jié)構(gòu)

      在Windows平臺(tái)下開發(fā)的數(shù)控仿形系統(tǒng)可利用WindowS多任務(wù)的優(yōu)勢(shì)。此系統(tǒng)的任務(wù)有:系統(tǒng)參數(shù)輸人及修改,在線數(shù)控指令編程,圖形仿真,數(shù)控加工屏幕顯示,仿形和仿形加工顯示,數(shù)字化處理,在線監(jiān)測(cè)診斷等等。進(jìn)入系統(tǒng)后,對(duì)各軸伺服的控制是最重要的,如必須每sms進(jìn)行一次中斷服務(wù)控制,因?yàn)镃PU中的定時(shí)器8253的O通道優(yōu)先級(jí)最高,故采用該定時(shí)器產(chǎn)生的INT08H中斷源,這樣無論Wind~在執(zhí)行何種任務(wù),對(duì)各軸伺服控制始終進(jìn)行著。對(duì)于系統(tǒng)的各種任務(wù),按Windows消息管理機(jī)制運(yùn)行,其中對(duì)于機(jī)床坐標(biāo)顯示和在線監(jiān)控診斷又利用我們?nèi)〈腎NT08H中斷服務(wù)程序定時(shí)發(fā)出執(zhí)行消息,即中斷服務(wù)程序每執(zhí)行12次(12*8ms=96ms)發(fā)一次消息給Windows,以啟動(dòng)機(jī)床坐標(biāo)屏幕動(dòng)態(tài)顯示,每執(zhí)行125次(125*8ms=1s)發(fā)一次消息給Windows,以啟動(dòng)在線監(jiān)測(cè)和診斷任務(wù),整個(gè)系統(tǒng)的關(guān)系結(jié)構(gòu)如圖1所示。

    3 中斷服務(wù)程序框架與連接要點(diǎn)

      為了最大限度的節(jié)省中斷處理時(shí)間,前臺(tái)中斷服務(wù)控制程序INTSUB.ASM采用80386匯編語言編程,中斷服務(wù)程序是整個(gè)控制系統(tǒng)的核心部分,該程序的框架如下

      在Windows的內(nèi)存管理中,各應(yīng)用程序在內(nèi)存中是可移動(dòng)的,為了防止中斷服務(wù)子程序在調(diào)用時(shí)被移出或切換出內(nèi)存,所以應(yīng)將它放人動(dòng)態(tài)連接庫(.DLL)中,并在該動(dòng)態(tài)連接庫的模塊定義文件(.DLL)中將其定義為固定的(FLXED)。對(duì)于主程序模塊MAIN.CPP,系統(tǒng)參數(shù)輸人及修改模塊MAIN.CPP,圖形仿真模塊CRA PH.CPP,數(shù)控加工模塊NCWORHK.CPP,仿形或仿形加工模塊COPYWORK.CPP,數(shù)字化處理模塊DIGTP.CPP,在線監(jiān)測(cè)診 斷模塊DIAG-NOSE.CPP等,均采用c++面向?qū)ο蟮木幊谭椒āF渲兄饕肳indows的各種類庫和資源,方便地生成各窗口和下拉菜單,并建立了自己的類庫,進(jìn)行函數(shù)和數(shù)據(jù)的封裝。以上程序的連接方法是,將中斷服務(wù)控制程序IMSUB.ASM及其模塊 定義文件州飛UB.DEF生成動(dòng)態(tài)連接庫IN玲UB.DLL,再將該動(dòng)態(tài)連接庫的輸人庫IN巧U B.llB及以上各功能模塊文件共同編人NCSYS,CPP工程文件中,生成我們的數(shù)控仿形軟件系統(tǒng)。

    4 結(jié)束語

      隨著工控機(jī)硬件的升級(jí)發(fā)展,在軟件方面可利用Windows的多任務(wù)、運(yùn)行于保護(hù)模式的強(qiáng)大功能和豐富資源,進(jìn)行數(shù)控產(chǎn)品的更新?lián)Q代。本文探討了Windows的中斷機(jī)制,在此基礎(chǔ)上給出了前后臺(tái)式數(shù)控程序的核心部分,為Windows下開發(fā)數(shù)控系統(tǒng)打下了基礎(chǔ)。

    (審核編輯: 智匯胡妮)

    聲明:除特別說明之外,新聞內(nèi)容及圖片均來自網(wǎng)絡(luò)及各大主流媒體。版權(quán)歸原作者所有。如認(rèn)為內(nèi)容侵權(quán),請(qǐng)聯(lián)系我們刪除。