黄色三级片无码高清-一级国产黄色片传媒-下载日韩一级黄色片-国产黄片卡片一级-看三四级黄色毛片-国产一级爱做c片免费-欧美一级电影播放观看-日韩一级视频在线看-成人簧片一级AAA片

【請登錄】【免費注冊】

首頁新聞技術產(chǎn)品供應二手培訓展會物流維修求購招商招標招聘企業(yè)

技術

搜索
技術文章機械知識技術技巧論文試題維修知識招投標知識
您的位置:盤古機械網(wǎng)>技術文章>機械知識>詳情

基于PC的CNC軟件的總體結構實現(xiàn)方法探討

時間:2008年11月28日瀏覽:702次收藏分享:

1 總體結構及實現(xiàn)方法
1.1 軟件的總體結構

  CNC系統(tǒng)常常作為一個獨立的過程控制單元用于工業(yè)自動化生產(chǎn)過程中,因此它的系統(tǒng)軟件必須完成管理和控制兩大功能。CNC系統(tǒng)是由軟件和硬件組成的,硬件為軟件的運行提供支持環(huán)境。由于硬件和軟件在邏輯上是等價的,由硬件完成的工作原則上也可以由軟件完成。因此軟件的結構取決于軟件和硬件的分工,也取決于軟件本身的工作性質。根據(jù)目前該系統(tǒng)的設計,下位機只負責位置伺服控制,因此上位機負責其余的管理工作和控制工作。
  數(shù)控軟件的總體結構可以設計成六層,即輸入層,譯碼層,刀補層,協(xié)調層,監(jiān)控層,設備驅動層。輸入層是數(shù)控程序。譯碼層將數(shù)控指令解釋成為數(shù)控系統(tǒng)的內部數(shù)據(jù)格式。刀補層進行刀具補償。協(xié)調層將指令分解到數(shù)控系統(tǒng)的各個功能部件。如數(shù)控指令翻譯、輔助功能設備控制和運動控制。監(jiān)控層對于系統(tǒng)當前的狀態(tài)和當前指令的合法性進行檢驗。設備驅動層直接實現(xiàn)對系統(tǒng)功能部件的控制。
  在該數(shù)控系統(tǒng)的軟件中,采用了前后臺型的結構形式,前臺程序即實時中斷程序完成全部的實時功能(包括協(xié)調層、監(jiān)控層、設備驅動層),主要是插補功能和系統(tǒng)診斷功能、I/O處理等。后臺程序的主要功能是插補前的準備功能及調度管理(包括輸入層、譯碼層、刀補層),具體地講,是數(shù)控程序輸入、譯碼、刀具補償、顯示及上述任務之間的調度管理功能。后臺程序是一個循環(huán)運行程序,在運行過程中,前臺程序(中斷服務程序)不斷插入,共同完成零件加工任務。而位置伺服的任務主要由下位機完成。
  在譯碼層和刀補層中,我們采用多任務調度的方式協(xié)調系統(tǒng)的工作,進行優(yōu)化后可以最充分地利用系統(tǒng)的資源。加工程序由上位機進行譯碼、刀具補償、速度處理后,得到刀具中心的插補指令數(shù)據(jù),上位機將這些插補指令數(shù)據(jù)和其它的指令數(shù)據(jù)以固定格式存放于一緩沖區(qū)中,每次中斷發(fā)生時,上位機根據(jù)這些指令數(shù)據(jù)進行相應的處理,如果存在插補指令則實時計算出插補數(shù)據(jù),并且送入下位機,下位機從緩沖區(qū)根據(jù)這些數(shù)據(jù)控制相應軸的電機動作。當上位機中的一幀指令數(shù)據(jù)被讀完后,在插補間隙自動計算出新的插補指令數(shù)據(jù),填入緩沖區(qū)。


數(shù)控軟件總體結構圖

 

    在上位機的內存中設置若干個插補緩沖區(qū),用標志字指示當前數(shù)據(jù)塊的位置,引導下位機讀取當前指令數(shù)據(jù)。當下位機進行控制時,上位機不斷進行預插補計算,直至所有插補緩沖區(qū)填滿為止,當接收到下位機的中斷信號后,上位機進行實時的插補計算,并且將數(shù)據(jù)送到下位機。采用這樣方式能夠最充分地利用上位機CPU的時間,真正實現(xiàn)并行實時工作。
1.2 軟件的具體實現(xiàn)方法
1.2.1 軟件的運行環(huán)境和開發(fā)環(huán)境
  采用Microsoft Windows 3.1作為開發(fā)環(huán)境,采用Borland C++ 3.1作為編程語言。
1.2.2 具體實現(xiàn)方法
  啟動畫面的修改
  在Windows啟動時,會出現(xiàn)一幅帶有Microsoft標志的啟動畫面,但作為專用數(shù)控系統(tǒng),我們希望能用自己的啟動畫面代替該啟動畫面,顯示具有數(shù)控系統(tǒng)標志的啟動畫面。方法如下:
  方法一
  (a) 創(chuàng)建一幅BMP圖,再它壓縮成RLE文件,命名為CNC.RLE;
  (b) 執(zhí)行下面的命令形成新的WIN模塊:COPY/B WINF +VGALOGO.LGO+CNC.RLE
  (c) 重新啟動Windows,可看到新的啟動畫面。
  方法二
  (a) 編制一個DOS下顯示圖形的程序,圖形可以是任意格式(*.bmp,*.gif,*.jpg等均可),選擇自己需要并且喜歡的圖形作為啟動標志;
  (b) 編制一個批處理文件,將圖形顯示程序放在前面,將Windows的啟動命令Win/B放在后面(/B選擇項使啟動標志不出現(xiàn));
  (c) 用生成的批處理文件代替原來的Windows的啟動命令,運行即可。
  多任務調度的實現(xiàn)
  在我們的數(shù)控系統(tǒng)中,為了實現(xiàn)多個任務之間的協(xié)調與管理,我們采用非搶先式的多任務調度和多緩沖區(qū)的方式實現(xiàn)了對于實時性不強的任務(數(shù)控程序輸入、譯碼、刀具補償、顯示等)的調度,其具體實現(xiàn)方法是:
  (a) 規(guī)定每個任務優(yōu)先級計算方法(優(yōu)先級為非固定的);
  (b) 建立任務隊列,排列當前需要完成的任務,此隊列不考慮優(yōu)先級;
  (c) 在每個任務周期,計算每個任務的優(yōu)先級,執(zhí)行優(yōu)先級最高的任務;
  (d) 將每次任務執(zhí)行的結果存儲在多個緩沖區(qū)中,然后可以執(zhí)行下一個同類任務。
  在數(shù)控系統(tǒng)中,顯示的任務優(yōu)先級始終是最低的,而其它的任務的優(yōu)先級則是變動的。通過變動各個任務的優(yōu)先級進行協(xié)調,雖然每次都執(zhí)行的是優(yōu)先級最高的任務,但實際上各個任務都會得到執(zhí)行,在沒有其它任務的情況下顯示,也可以得到執(zhí)行。
  多緩沖區(qū)的實現(xiàn)方法
  為了協(xié)調多個任務之間的運行,在軟件中建立多個數(shù)據(jù)緩沖區(qū),具體的實現(xiàn)方法是:
  (a) 為多緩沖區(qū)分配內存,建立指向當前緩沖區(qū)的讀、寫指針,構成一個環(huán)形多緩沖區(qū);
  (b) 為每塊內存設置一個標志位,作為對各緩沖區(qū)進行操作的判斷依據(jù);
  (c) 每讀一個緩沖區(qū),對該緩沖區(qū)設置已讀標志,當前讀指針向前移動一個緩沖區(qū);
  (d) 每寫一個緩沖區(qū),對該緩沖區(qū)設置已寫標志,當前寫指針向前移動一個緩沖區(qū);
  (e) 對于當前操作未結束的緩沖區(qū),設置正在操作標志,禁止其它操作。
  采用這種方法,將系統(tǒng)中必須在單個插補周期內完成的運算“均化”在多個插補周期內完成,有效地利用了CPU的計算時間,提高了系統(tǒng)的工作效率。
  Windows環(huán)境下的中斷的實現(xiàn)
  Windows是一種非獨占式的多任務系統(tǒng),應用程序通過應用程序隊列來接收輸入,然后消息循環(huán)從應用程序隊列中獲取輸入消息,并把它發(fā)送給相應的窗口。在這種工作模式下,實現(xiàn)實時控制較為困難。然而,從另外一個角度看,用戶的鍵盤、鼠標及定時器輸入都是硬件中斷,而Windows提供的設備驅動程序實際上是中斷服務程序。由于實際加工對于實時性的要求很高,因此必須采用中斷的方式實現(xiàn)實時性強的任務。由于中斷可以在任何時刻發(fā)生,而不限于使用設備的應用程序運行期間,所以中斷服務程序必須在固定代碼段中。在大框架EMS內存配置中,只有一種類型的代碼才能保證任何時刻均可用來進行此類中斷服務,這種類型的代碼就是動態(tài)連接庫(DLL)的固定代碼段中的代碼。在保證可靠性的前提下,必須采用DLL來實現(xiàn)中斷。在我們的系統(tǒng)中采用DLL實現(xiàn)了硬件中斷,運行可靠。
  替換系統(tǒng)外殼,成為專用系統(tǒng)
  Windows中Progman.exe是Windows的外殼,是Windows的重要組成部分,但并不是Windows中的必備成分,每個用戶都可以編制自己的外殼程序。由于數(shù)控系統(tǒng)與生產(chǎn)設備直接連接,用戶常常希望數(shù)控系統(tǒng)是一個專用系統(tǒng),另外,Windows本身是一個多任務系統(tǒng),同時執(zhí)行多個應用程序可能會發(fā)生程序間的沖突,因此,有必要對Windows 進行改造,改造方法很簡單,采用數(shù)控軟件代替Windows的“Shell”——Progman.exe,這樣,Windows啟動后直接運行數(shù)控軟件,在用戶的操作中,感受不到Windows的存在,同時避免了應用程序之間的軟硬件的沖突。
2 后語
  以PC為基礎的CNC是NC技術發(fā)展的必然趨勢,它保證了CNC的基礎軟硬件隨PC技術的而不斷更新,使NC技術緊跟PC技術的發(fā)展,可直接應用PC的發(fā)展成果,這對節(jié)省開發(fā)費用、縮短開發(fā)周期具有重要的意義。

熱門文章

業(yè)務咨詢:932174181   媒體合作:2279387437    24小時服務熱線:15136468001 盤古機械網(wǎng) - 全面、科學的機械行業(yè)免費發(fā)布信息網(wǎng)站 Copyright 2017 PGJXO.COM 豫ICP備12019803號