色综合小说,久久精品中文字幕免费,男人插曲女人身体视频,综合天堂av久久久久久久,亚洲 欧美 自拍 动漫 免费

技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于Windows下數(shù)控軟件的設(shè)計與實現(xiàn)

基于Windows下數(shù)控軟件的設(shè)計與實現(xiàn)

時間:2008-03-13 15:25:00來源:hanjuan

導(dǎo)語:?在該數(shù)控系統(tǒng)的軟件中,采用了前后臺型的結(jié)構(gòu)形式。
摘要:基于Windows的CNc,是數(shù)控技術(shù)發(fā)展的必然趨勢。提出了在Windows環(huán)境下實現(xiàn)實時多任務(wù)處理的方法,介紹了數(shù)控軟件的體系結(jié)構(gòu)和實現(xiàn)的相關(guān)技術(shù)。實踐證明,采用這些方法和技術(shù)較好地實現(xiàn)了數(shù)控系統(tǒng)的實時多任務(wù)控制.開發(fā)的數(shù)控軟件具有開放性。 關(guān)鍵詞:多線程 實時多任務(wù)控制 數(shù)控系統(tǒng) 中斷 面向?qū)ο? 1 引言 Pc機進入數(shù)控領(lǐng)域,極大地豐富了數(shù)控系統(tǒng)的硬軟件資源,有利于實現(xiàn)總線式、模塊化、開放化的數(shù)控系統(tǒng),使其具有很高的性能價格比。隨著Windows系統(tǒng)的發(fā)展與普及,開發(fā)Windows環(huán)境(Windows95,Windows NT及WindowsCr)下的數(shù)控系統(tǒng)已經(jīng)成為廣大oiC同行的共識。近年來,國內(nèi)已有不少廠家開發(fā)了幾種基于Windows的控制系統(tǒng)。國內(nèi)的控制系統(tǒng)各有優(yōu)點,但從數(shù)控系統(tǒng)發(fā)展的趨勢來看,仍有許多需要改進之處。 首先,沒有充分利用像Windows、UNIX、0S/2等新型操作系統(tǒng)。軟件開發(fā)思想與技術(shù)落后,始終處于甚至低于結(jié)構(gòu)化程序設(shè)計的水平。沒有充分利用面向?qū)ο蟮男吕碚?、新技術(shù)。 其次,數(shù)控系統(tǒng)軟件設(shè)計中存在設(shè)計不規(guī)范,可靠性與可維護性差,沒有采用一種開放式、模塊化軟件設(shè)計方法。 本文所介紹的系統(tǒng)軟件,利用Windows的多線程機制和中斷機制解決數(shù)控軟件的實時多任務(wù)處理;利用面向?qū)ο蟮男吕碚?、新技術(shù),采用一種開放式、模塊化軟件設(shè)計方法,使軟件具有開放性。本系統(tǒng)軟件能使插補、伺服控制、NC程序編制同時進行,能較好地滿足數(shù)控系統(tǒng)的要求,并且已形成了產(chǎn)品,應(yīng)用效果良好。 2 CNC軟件的總體設(shè)計 為了使數(shù)控軟件具有明顯的開放數(shù)控特點,使數(shù)控軟件易于組裝、擴充、維護,我們采用了工程化的設(shè)計方法,利用面向?qū)ο蟮燃夹g(shù)開發(fā)一套基于Windows 32位數(shù)控軟件。軟件設(shè)計遵循模塊化、層次化、動態(tài)配置的原則。 開放式控制系統(tǒng)應(yīng)采用分層的體系結(jié)構(gòu)。分層使得各層實現(xiàn)隔離,層與層之間通過標準的接口進行通信,實現(xiàn)可移植性和可用第三方軟件,只用更換相應(yīng)層即可。本系統(tǒng)的縱向第一層次為界面層,它完成系統(tǒng)的監(jiān)控管理:輸入、 O處理、顯示、診斷和監(jiān)控。此界面層由界面和各回調(diào)函數(shù)組成?;卣{(diào)函數(shù)的功能是完成界面上控件的事件驅(qū)動操作?;卣{(diào)函數(shù)的調(diào)用操作,由操作系統(tǒng)管理。 系統(tǒng)的縱向第二層次為功能單元層,包括譯碼類、刀補類、插補動態(tài)連接庫、運動控制器類。譯碼層將數(shù)控指令解釋成為數(shù)控系統(tǒng)的內(nèi)部數(shù)據(jù)格式。刀補層進行刀具補償。插補動態(tài)連接庫完成數(shù)據(jù)插補,產(chǎn)生加工數(shù)據(jù)、速度處理、輔助功能設(shè)備控制。運動控制器類完成位置伺服的控制。譯碼類、刀補類分別由多個軟件芯片組成。此功能單元層的調(diào)用操作放在回調(diào)函數(shù)中。 系統(tǒng)的縱向第三層次為支撐層,包括運動控制器卡、運動控制器的設(shè)備驅(qū)動程序、I/O卡、操作系統(tǒng)、Pc機。運動控制器卡主要完成位置伺服的任務(wù)。運動控制器的設(shè)備驅(qū)動程序完成對運動控制卡和I/O卡的直接操作。本系統(tǒng)的體系結(jié)構(gòu)如圖l所示。 在該數(shù)控系統(tǒng)的軟件中,采用了前后臺型的結(jié)構(gòu)形式。前臺程序即實時中斷程序,完成全部的實時功能(插補動態(tài)連接庫、運動控制器類、設(shè)備驅(qū)動程序),主要是插補功能。后臺程序的主要功能是插補前的準備功能及調(diào)度管理(包括界面譯碼類、刀補類)。具體地講,是數(shù)控程序輸、譯碼、刀具補償、顯示及上述任務(wù)之間的調(diào)度管理功能。后臺程序結(jié)構(gòu)是一個多線程結(jié)構(gòu),完成多任務(wù)處理。在運行過程中,前臺程序(中斷服務(wù)程序)不斷插入,共同完成零件加工任務(wù)。而位置伺服的任務(wù)主要由運動控制器完成。加工程序由計算機進行譯碼、刀具補償、速度處理后,得到刀具中心的插補指令數(shù)據(jù)。計算機將這些插補指令數(shù)據(jù)和其他的指令數(shù)據(jù)以固定格式存放于一緩沖區(qū)中。每次中斷發(fā)生時,計算機根據(jù)這些指令數(shù)據(jù)進行相應(yīng)的處理。如果存在插補指令,則實時計算出插補數(shù)據(jù),并且進入緩沖區(qū),運動控制器根據(jù)這些數(shù)據(jù)控制相應(yīng)軸的電機動作。當計算機中的一幀指令數(shù)據(jù)被讀完后,在插補間隙自動計算出新的插補指令數(shù)據(jù),填入緩沖區(qū)。
3 實現(xiàn)方法 3.1 軟件系統(tǒng)的多任務(wù)實時控制策略 CNC系統(tǒng)是一個專用的多任務(wù)計算機系統(tǒng)。在它的控制軟件中,融合了許多軟件技術(shù)中的先進技術(shù),其中最突出的是多任務(wù)并行處理和實時處理。 · 多任務(wù)并行處理 CNC裝置通常作為一個獨立的過程控制單元,應(yīng)用于工業(yè)自動化生產(chǎn)過程中,它的軟件必須完成管理和控制兩大功能。系統(tǒng)的管理部分,包括輸入、I/O處理、顯示、診斷。系統(tǒng)的控制部分,包括譯碼、刀具補償、速度處理、插補、位置控制。在CNC裝置的實際運行過程中,多個任務(wù)中的若干個任務(wù)要同時進行。 ·實時處理 CNC軟件在工業(yè)自動化的實際應(yīng)用過程中,為了滿足生產(chǎn)的要求,必須具有實時性。 為了使我們的數(shù)控軟件具有并行處理和實時處理的能力,我們采用Windows 95的多線程模型和中斷機制的控制策略。 3.1.1 Windows多線程模型 為了使CNC系統(tǒng)軟件能在Windows環(huán)境下并行處理多任務(wù),采用多線程來實現(xiàn)多任務(wù)控制。線程是32位操作系統(tǒng)的主要特點,它支持搶占式的多任務(wù)機制,是操作系統(tǒng)的基本調(diào)度單元。我們可將各管理和控制模塊置于獨立的線程中。
從而實現(xiàn)數(shù)控軟件系統(tǒng)的并行處理操作。在我們的數(shù)控軟件中,建立了主控制線程(監(jiān)控和界面線程)、顯示/面板操作線程和自動加工線程。顯示/面板操作線程的預(yù)置時間片為50ms 自動加工線程是由主線程啟動和消除的。通過建立這三個線程,可實現(xiàn)整個系統(tǒng)的協(xié)調(diào)運行。 主控制線程主要完成監(jiān)控和界面管理、功能控制、系統(tǒng)管理等,并負責實時啟動和消除自動加工線程。系統(tǒng)退出時,將消除顯示/面板操作線程。主控制線程是經(jīng)過Windows的消息排隊,來實現(xiàn)其操作流程。 3.1.2 Windows的中斷機制
Windows是一種非獨占式的多任務(wù)系統(tǒng),應(yīng) 用程序通過應(yīng)用程序隊列來接收輸人,然后消息。循環(huán)從應(yīng)用程序隊列中獲取輸人消息,并把它發(fā)進給相應(yīng)的窗口。在這種工作模式下,實現(xiàn)實時控制較為困難。然而,從另外一個角度看,用戶的鍵盤、鼠標及定時器輸人都是硬件中斷,而 windows提供的設(shè)備驅(qū)動程序,實際上是中斷服務(wù)程序。由于實際加工對于實時性的要求很高,因此,必須采用中斷 J的方式實現(xiàn)實時性強的任務(wù)。由于中斷可以在任何時刻發(fā)生,而不限于使用設(shè)備的應(yīng)用程序運行期間,所以,中斷服務(wù)程序必須在固定代碼段中。在大框架EMS內(nèi)存配置中,只有一種類型的代碼,才能保證任何時刻均可用來進行此類中斷服務(wù)。這種類型的代碼就是動態(tài)連接庫(DLL)的固定代碼段中的代碼。因此,必須采用DLL來實現(xiàn)中斷。在我們的系統(tǒng)中,采用DLL實現(xiàn)了硬件中斷,運行可靠。在我們的軟件中,在圖2的自動加工線程中,采用中斷機制來實時控制。自動加工線程主要完成打開NC文件、語法檢查、譯碼、刀具補償、插補,產(chǎn)生加工數(shù)據(jù)。在這些功能中,插補必須實時完成,因而采用中斷服務(wù)程序來實現(xiàn)。自動加工線程的開啟,在回調(diào)函數(shù)中完成。自動加工線程的控制流程見圖3,中斷服務(wù)程序控制流程見圖4。
由于動態(tài)連接庫可以根據(jù)需要被應(yīng)用程序靈活地裝載、卸出,占用的系統(tǒng)資源將相應(yīng)減少,所以把插補中斷服務(wù)程序編譯連接成動態(tài)鏈接庫的形式使用。
3.2 面向?qū)ο蟮拈_發(fā)技術(shù) 由于面向?qū)ο蟮能浖_發(fā)技術(shù)綜合了功能抽象與數(shù)據(jù)抽象,它較好地實現(xiàn)了軟件的可擴性、多態(tài)性,并使軟件易于修改。我們采用面向?qū)ο蠓椒▽?shù)控軟件進行建模,分3個層次對其進行描述與實現(xiàn):系統(tǒng)、控制單元和基本類,使CNC軟件可組裝、易擴展。 基本類是數(shù)控系統(tǒng)功能細粒度分解的結(jié)果,是組成開放系統(tǒng)的最小單位?;绢悩?gòu)成面向?qū)ο髷?shù)控軟件的類體系。具有標準化接口的基本類,稱之為軟件芯片。 控制單元是由一系列功能相關(guān)的基本類組成的、完成一定功能的軟件實體。控制單元可以嵌套。 系統(tǒng)是由一系列控制單元組成的某種類型的數(shù)控系統(tǒng)軟件。 在我們的數(shù)控軟件開發(fā)的類,有運動控制器類、譯碼類、刀補類。它們都作為功能單元分別完成位置伺服功能、譯碼功能、刀補功能。譯碼類、刀補類較復(fù)雜,由多個軟件芯片繼承組成。 3.3 多緩沖區(qū)技術(shù) 運動控制器類、譯碼類、刀補類、動態(tài)連接庫都是相對獨立的功能單元,它們相互有大量的數(shù)據(jù)交換,因此采用多緩沖區(qū)實現(xiàn)數(shù)據(jù)交換。 為了協(xié)調(diào)各線程、各任務(wù)之間的運行,使各模塊相對獨立。在軟件中建立多個數(shù)據(jù)緩沖區(qū),具體的實現(xiàn)方法是: (1)為多緩沖區(qū)分配內(nèi)存,建立指向當前緩沖區(qū)的讀、寫指針,構(gòu)成一個環(huán)形多緩沖區(qū); (2)為每塊內(nèi)存設(shè)置一個標志位,作為對備緩沖區(qū)進行操作的判斷依據(jù); (3)每讀一個緩沖區(qū),對該緩沖區(qū)設(shè)置已讀標志,當前讀指針向前移動一個緩沖區(qū); (4)每寫一個緩沖區(qū),對該緩沖區(qū)設(shè)置已寫標志,當前寫指針向前移動一個緩沖區(qū); (5)對于當前操作未結(jié)束的緩沖區(qū),設(shè)置正在操作標志,禁止其他操作。 采用這種方法,將系統(tǒng)中必須在單個插補周期內(nèi)完成的運算,“均化”在多個插補周期內(nèi)完成,有效地利用了CPU的計算時閹,提高了系統(tǒng)的工作效率。 3.4 界面實現(xiàn)技術(shù) 測控軟件的界面不僅具有Windows 一般控件功能,而且還必須具有模擬一些實物的控件,如:電表顯示、旋鈕等。因此,采用LabWindows/CVI工具設(shè)計系統(tǒng)界面。采用LabWindows/CVI時以一種c語言設(shè)計界面非常方便。此工具設(shè)計的界面包括頭文件(*.h)、界面文件(*.uir)。在*.h中,提供界面控件的回調(diào)函數(shù)。應(yīng)用程序可在回調(diào)函數(shù)中實現(xiàn)所需要的功能。在此系統(tǒng)中,顯示/面板操作線程作為界面的定時器控件的回調(diào)函數(shù)。Windows按照定時器設(shè)定的時問,定時調(diào)用定時器控件的回調(diào)函數(shù)。 4 結(jié)論 綜上所述,本CNC系統(tǒng)軟件采用Windows的多線程模型與中斷機制相結(jié)合的控制策略和層次化的體系結(jié)構(gòu),利用面向?qū)ο蠹夹g(shù)、多緩沖區(qū)技術(shù)、界面實現(xiàn)技術(shù),成功地在Windows環(huán)境下實現(xiàn)數(shù)控系統(tǒng)的實時多任務(wù)控制要求,較好地實現(xiàn)軟件的可擴充性、多態(tài)性、重構(gòu)性,并使軟件易于修改。該設(shè)計方法應(yīng)用于我們開發(fā)的數(shù)控軟件上,已取得了良好的效果。 參考文獻 1 黃太貴.微機數(shù)控系統(tǒng).電子科技大學出版杜,1995 2 (美) Gate VimaI 5.0 開發(fā)使用手冊機械工出版杜。1998 3 王浩.高級Windows程序設(shè)計技術(shù).同濟大學出版杜,1997 4 王燕.面向?qū)ο蟮睦碚撆cC++實踐清華大學出版社 1995

標簽:

點贊

分享到:

上一篇:VT1——一種適用于中國的無級...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(y3602.cn)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號