專利名稱:基于pc機的開放式數(shù)控系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于Windows操作系統(tǒng)的數(shù)控系統(tǒng)。
背景技術(shù):
目前,Windows系列操作系統(tǒng)在PC機上占據(jù)著統(tǒng)治地位,它標(biāo)準(zhǔn)美觀的 圖形用戶接口(GUI)、方便快捷的操作方式,不但已經(jīng)被普通用戶所接受,而 且在工業(yè)應(yīng)用領(lǐng)域內(nèi)的用戶也越來越多。
然而Windows是一個多任務(wù)的操作系統(tǒng),PC機軟硬件資源被多個程序共 享,導(dǎo)致系統(tǒng)的實時性不好,如果系統(tǒng)資源被其它程序占用,CNC程序就無 法滿足實時性的要求,而CNC程序?qū)崟r性和連續(xù)性要求非常高,因此 Windows操作系統(tǒng)環(huán)境下很難保證實時性,難以應(yīng)用在實時控制系統(tǒng)中。
目前解決Windows實時性問題主要有以下兩種方式-
(1) 使用專門的實時內(nèi)核開發(fā)工具,如通用的RTX開發(fā)環(huán)境就能開發(fā)出實 時內(nèi)核,但是這種開發(fā)環(huán)境往往價格都比較高,而且這種系統(tǒng)的實時性好壞 很大程度上取決于開發(fā)人員對開發(fā)環(huán)境的理解和掌握程度,如果用得不好反 而會影響系統(tǒng)的實時性;
(2) 采用WINCE系統(tǒng),這種操作系統(tǒng)能夠解決實時性的問題,但是它的 軟、硬件兼容性不好,尤其是系統(tǒng)中不能借用第三方的軟、硬件資源,如CAN 的通信功能就不能在WINCE系統(tǒng)上實現(xiàn)。
發(fā)明內(nèi)容
本發(fā)明為解決現(xiàn)有的CNC系統(tǒng)存在的實時性較差、開發(fā)成本較高以及基 于WINCE的數(shù)控系統(tǒng)存在的軟硬件兼容性較差的問題,提供一種基于PC機 的開放式數(shù)控系統(tǒng)。本發(fā)明包括以下單元
PC機1 ,所述PC機1基于Windows操作系統(tǒng);
數(shù)控設(shè)備2,用于接收PC機1發(fā)出的控制命令并完成數(shù)控加工的實時任 務(wù)的執(zhí)行;
硬件接口板3,用于建立PC機1和數(shù)控設(shè)備2之間的連接并作為中斷源
產(chǎn)生停止PC機1其它任務(wù)、僅執(zhí)行數(shù)控加工的實時任務(wù)的中斷信號;
它還包括以下單元
實時調(diào)度模塊4,用于建立PC機1和硬件接口板3之間的連接,調(diào)度數(shù) 控加工的實時任務(wù)并為實時任務(wù)分配優(yōu)先級;
CNC模塊5,通過實時調(diào)度模塊4調(diào)度實時任務(wù)來實現(xiàn)從零件加工程序 中產(chǎn)生數(shù)控機床刀具的運動路徑,管理程序緩沖區(qū)中存儲的零件加工程序、 編譯零件加工程序、工具路徑插補、軸位置控制、與實時調(diào)度模塊4通信, 并在PC機1的內(nèi)存中建立共享內(nèi)存區(qū)8以及與實時調(diào)度模塊4連接;
PLC模塊6,通過實時調(diào)度模塊4調(diào)度的實時任務(wù)來完成開關(guān)量的邏輯控 制、模擬量控制和過程控制的功能;
人機界面模塊7,通過共享內(nèi)存區(qū)8輸入路徑程序、設(shè)置運行方式、進行 系統(tǒng)的數(shù)據(jù)配置,并通過共享內(nèi)存區(qū)8接收數(shù)控加工的實時任務(wù)反饋的執(zhí)行 結(jié)果,再將執(zhí)行結(jié)果顯示給用戶;
實時調(diào)度模塊4、 CNC模塊5和PLC模塊6都嵌入在Windows操作系統(tǒng) 中,人機界面模塊7是一個運行在用戶態(tài)的Windows程序。
本發(fā)明的有益效果是基于Windows操作系統(tǒng),不但具有響應(yīng)較快、兼 容性較好、開發(fā)成本較低的特點,而且由實時調(diào)度模塊4為數(shù)控程序分配最 高的優(yōu)先級,當(dāng)硬件接口板3產(chǎn)生中斷時,數(shù)控程序可以獨占CPU的資源, 實現(xiàn)較高的實時性和可靠性,能夠更好的滿足機械加工中對控制精度的較高 要求。
圖1是本發(fā)明的整體結(jié)構(gòu)示意圖。
具體實施例方式
具體實施方式
一參見圖l,本實施方式包括以下單元 PC機1 ,所述PC機1基于Windows操作系統(tǒng);
數(shù)控設(shè)備2,用于接收PC機1發(fā)出的控制命令并完成數(shù)控加工的實時任 務(wù)的執(zhí)行;
硬件接口板3,用于建立PC機1和數(shù)控設(shè)備2之間的連接并作為中斷源 產(chǎn)生停止PC機1其它任務(wù)、僅執(zhí)行數(shù)控加工的實時任務(wù)的中斷信號;
它還包括以下單元
CNC模塊5,通過實時調(diào)度模塊4調(diào)度實時任務(wù)來實現(xiàn)從零件加工程序
中產(chǎn)生數(shù)控機床刀具的運動路徑,管理程序緩沖區(qū)中存儲的零件加工程序、
編譯零件加工程序、工具路徑插補、軸位置控制、與實時調(diào)度模塊4通信, 并在PC機1的內(nèi)存中建立共享內(nèi)存區(qū)8以及與實時調(diào)度模塊4連接;
PLC模塊6,通過實時調(diào)度模塊4調(diào)度的實時任務(wù)來完成開關(guān)量的邏輯控 制、模擬量控制和過程控制的功能;
人機界面模塊7,通過共享內(nèi)存區(qū)8輸入路徑程序、設(shè)置運行方式、進行 系統(tǒng)的數(shù)據(jù)配置,并通過共享內(nèi)存區(qū)8接收數(shù)控加工的實時任務(wù)反饋的執(zhí)行 結(jié)果,再將執(zhí)行結(jié)果顯示給用戶;
實時調(diào)度模塊4、 CNC模塊5和PLC模塊6都嵌入在Windows操作系統(tǒng) 中,人機界面模塊7是一個運行在用戶態(tài)的Windows程序。
所述硬件接口板3可采用公開號為CN1818895的發(fā)明專利公開的串并綜 合型總線數(shù)據(jù)傳輸方法傳輸PC機1與數(shù)控設(shè)備2之間的數(shù)據(jù);所述實時調(diào)度 模塊4是一個嵌入到PC機1中的Windows內(nèi)核的驅(qū)動程序,由一個.EXE文 件作為初始進程,此初始進程導(dǎo)入整個的CNC模塊5的系統(tǒng)軟件,從注冊表 讀取系統(tǒng)配置和.IM文件來創(chuàng)建所有需要的程序,并在啟動程序前讀取所有的 共享文件;所述CNC模塊5用于從零件加工程序中產(chǎn)生數(shù)控機床刀具的運動 路徑,并管理程序緩沖區(qū)中存儲的零件加工程序、編譯零件加工程序、工具 路徑插補、軸位置控制、與PLC模塊6以及外部環(huán)境通信;所述PLC模塊6 用于實現(xiàn)邏輯控制功能、通過實時調(diào)度模塊4創(chuàng)建實時任務(wù)來完成所有的PLC 程序;所述人機界面模塊7是一個通用性的運行在用戶態(tài)下的Windows程序, 可以輸入路徑程序、設(shè)置運行方式、進行系統(tǒng)的數(shù)據(jù)配置等操作,輸入的數(shù) 據(jù)經(jīng)過處理后送入共享內(nèi)存區(qū)8,實時任務(wù)執(zhí)行時從共享內(nèi)存區(qū)8中讀取輸入 指令,并把相關(guān)運行結(jié)果送回共享內(nèi)存區(qū)8,人機界面模塊7從共享內(nèi)存區(qū)8 中讀取這些結(jié)果并顯示在界面上供操作者查詢;用戶還可以根據(jù)具體的要求 編寫第三方程序模塊9,第三方程序模塊9也是一個運行在用戶態(tài)的Windows 程序,用于為用戶提供其它的數(shù)控操作;人機界面模塊7和第三方程序模塊9 都作為Windows程序10運行,實施調(diào)度模塊4、 CNC模塊5和PLC模塊6都作為實時子系統(tǒng)ll運行。
CNC模塊5和PLC模塊6都以計算機程序的形式存儲在PC機1中,并 采用共享映射存儲器的技術(shù)與人機界面模塊7之間進行通信,通過共享PC機 1的同一段內(nèi)存區(qū)來實現(xiàn)數(shù)據(jù)的交換,通信區(qū)域包括以下幾個部分從人機界 面模塊7傳遞到CNC模塊5和PLC模塊6的數(shù)據(jù)和命令;從CNC模塊5和 PLC模塊6傳遞到人機界面模塊7的數(shù)據(jù)和命令;從CNC模塊5和PLC模 塊6傳遞到人機界面模塊7的用于顯示的軸位置、命令位置和實際位置的偏 差、路徑速度等;CNC模塊5和PLC模塊6之間的通信包括以下內(nèi)容:來自 PLC模塊6的二進制信號、發(fā)送到PLC模塊6的二進制信號、NC參數(shù)、NC 修正、軸位置、命令等。
CNC模塊5由編譯進程和插補進程組成。編譯進程由運行在核心態(tài)的編 譯任務(wù)和運行在用戶態(tài)的數(shù)據(jù)服務(wù)器線程組成;編譯任務(wù)的主要職責(zé)是編譯 NC程序并把信息轉(zhuǎn)化成插補器能夠理解的方式,編譯任務(wù)還完成偏移量和工 具長度修正,診斷,傳送插補進程的輸入輸出信息等功能;數(shù)據(jù)服務(wù)器線程 為所有的CNC程序的文件IO服務(wù),數(shù)據(jù)服務(wù)器線程不是PA實時子系統(tǒng)的一 部分,當(dāng)它進行文件操作的時候需要Windows API,因此它是作為標(biāo)準(zhǔn) Windows 32用戶態(tài)線程來實現(xiàn)的;插補進程由插補任務(wù)和位置任務(wù)組成,插 補任務(wù)是由插補進程創(chuàng)建的,插補任務(wù)以固定周期工作,插補任務(wù)是CNC模 塊5的執(zhí)行單元。位置任務(wù)和插補任務(wù)一樣,都是由硬件定時器產(chǎn)生的中斷 來啟動的。編譯進程首先啟動,它初始化所有的數(shù)據(jù)、建立與人機界面模塊7 之間的通信并建立編譯進程和插補進程之間通信所需要的共享內(nèi)存區(qū)域、它 連接到實時調(diào)度模塊4并創(chuàng)建一個實時任務(wù)一編譯任務(wù)、還建立數(shù)據(jù)服務(wù)器 來處理所有的CNC模塊5的文件輸入輸出;插補進程是在編譯器初始化后啟 動的,它初始化插補進程專用的數(shù)據(jù)和內(nèi)存、連接到實時調(diào)度模塊4并建立 兩個實時任務(wù)插補任務(wù)和位置任務(wù)。
工作原理PC機1啟動并完成自檢和通過硬件接口板3對數(shù)控設(shè)備2進 行檢測,實時調(diào)度模塊4啟動并分配給實時任務(wù)最高的優(yōu)先級,CNC模塊5 啟動并初始化位置控制程序的數(shù)據(jù),建立共享內(nèi)存區(qū)8并連接到實時調(diào)度模 塊4, PLC模塊6啟動并初始化邏輯控制程序的數(shù)據(jù),人機界面模塊7啟動,
用戶通過人機界面模塊7把數(shù)控參數(shù)等數(shù)據(jù)輸入到共享內(nèi)存區(qū)8中,PC機1 將位置控制程序和邏輯控制程序所需要的數(shù)據(jù)通過硬件接口板3讀入到共享 內(nèi)存區(qū)8,由硬件接口板3產(chǎn)生中斷,PC機1暫停所有正在執(zhí)行的程序,實 時調(diào)度模塊4調(diào)度位置控制程序和邏輯控制程序的運行,進行插補、位置控 制的運算,通過硬件接口板3發(fā)送到數(shù)控設(shè)備2,實時調(diào)度模塊4通過硬件接 口板3接收到數(shù)控設(shè)備2的反饋信息并將反饋信息顯示到人機界面模塊7上, 當(dāng)位置控制程序和邏輯控制程序都執(zhí)行完畢后,中斷返回,數(shù)控過程結(jié)束。
權(quán)利要求
1、基于PC機的開放式數(shù)控系統(tǒng),它包括以下單元PC機(1),所述PC機(1)基于Windows操作系統(tǒng);數(shù)控設(shè)備(2),用于接收PC機(1)發(fā)出的控制命令并完成數(shù)控加工的實時任務(wù)的執(zhí)行;硬件接口板(3),用于建立PC機(1)和數(shù)控設(shè)備(2)之間的連接并作為中斷源產(chǎn)生停止PC機(1)其它任務(wù)、僅執(zhí)行數(shù)控加工的實時任務(wù)的中斷信號;其特征在于它還包括以下單元CNC模塊(5),通過實時調(diào)度模塊(4)調(diào)度實時任務(wù)來實現(xiàn)從零件加工程序中產(chǎn)生數(shù)控機床刀具的運動路徑,管理程序緩沖區(qū)中存儲的零件加工程序、編譯零件加工程序、工具路徑插補、軸位置控制、與實時調(diào)度模塊(4)通信,并在PC機(1)的內(nèi)存中建立共享內(nèi)存區(qū)(8)以及與實時調(diào)度模塊(4)連接;PLC模塊(6),通過實時調(diào)度模塊(4)調(diào)度的實時任務(wù)來完成開關(guān)量的邏輯控制、模擬量控制和過程控制的功能;人機界面模塊(7),通過共享內(nèi)存區(qū)(8)輸入路徑程序、設(shè)置運行方式、進行系統(tǒng)的數(shù)據(jù)配置,并通過共享內(nèi)存區(qū)(8)接收數(shù)控加工的實時任務(wù)反饋的執(zhí)行結(jié)果,再將執(zhí)行結(jié)果顯示給用戶;實時調(diào)度模塊(4)、CNC模塊(5)和PLC模塊(6)都嵌入在Windows操作系統(tǒng)中,人機界面模塊(7)是一個運行在用戶態(tài)的Windows程序。
全文摘要
基于PC機的開放式數(shù)控系統(tǒng),它涉及一種基于Windows的數(shù)控系統(tǒng),以解決現(xiàn)有基于Windows的數(shù)控系統(tǒng)存在的實時性較差、開發(fā)成本較高以及基于WINCE的數(shù)控系統(tǒng)存在的軟硬件兼容性較差的問題。本發(fā)明的實時調(diào)度模塊用于建立PC機和硬件接口板之間的連接、調(diào)度實時任務(wù);CNC模塊用于在PC機的內(nèi)存中建立共享內(nèi)存區(qū)以及與實時調(diào)度模塊連接,并通過實時調(diào)度模塊調(diào)度實時任務(wù)來實現(xiàn)位置控制功能;PLC模塊通過實時調(diào)度模塊調(diào)度實時任務(wù)來實現(xiàn)邏輯控制功能;人機界面模塊將輸入的路徑程序、設(shè)置的運行方式、進行系統(tǒng)的數(shù)據(jù)配置傳送給實時任務(wù)并將實時任務(wù)的執(zhí)行結(jié)果顯示給用戶;實時調(diào)度模塊、CNC模塊和PLC模塊都嵌入在Windows操作系統(tǒng)中,人機界面模塊是一個通用性的Windows程序。
文檔編號G05B19/414GK101196738SQ20071014495
公開日2008年6月11日 申請日期2007年12月28日 優(yōu)先權(quán)日2007年12月28日
發(fā)明者佟為明, 唐貴杰, 彬 李, 李鳳閣, 鋒 楊 申請人:哈爾濱工業(yè)大學(xué)