華中數(shù)控系統(tǒng)的軟件結(jié)構(gòu)如圖1所示。圖中虛線以下的部分稱為底層軟件,它是華中數(shù)控系統(tǒng)的軟件平臺(tái),其中RTM模塊為自行開發(fā)的實(shí)時(shí)多任務(wù)管理模塊,負(fù)責(zé)CNC系統(tǒng)的任務(wù)管理管理調(diào)度。NCBIOS模塊為基本輸入輸出系統(tǒng),管理CNC系統(tǒng)所有的外部控制對(duì)象,包括設(shè)備驅(qū)動(dòng)程序(I/O)的管理、位置控制、PLC控制、插補(bǔ)計(jì)算以及內(nèi)部監(jiān)控等。RTM和NCBIOS兩模塊合起來統(tǒng)稱NCBASE,如圖中雙點(diǎn)畫線框所示。圖中虛線以上的部分稱為過程控制軟件(或上層軟件),它包括編輯程序、參數(shù)設(shè)置、譯碼程序、PLC管理、MDI、故障顯示等與用戶操作有關(guān)的功能子模塊。對(duì)不同的數(shù)控系統(tǒng),其功能的區(qū)別都在這一層,系統(tǒng)功能的增減均在這一層進(jìn)行;各功能模塊通過NCBASE的NCBIOS與底層進(jìn)行信息交換。
圖1 華中數(shù)控裝置軟件結(jié)構(gòu)
(二)NCBASE的功能
1.實(shí)時(shí)多任務(wù)的調(diào)度
該功能由RTM模塊實(shí)現(xiàn)。調(diào)度核心由時(shí)鐘中斷服務(wù)程序和任務(wù)調(diào)度程序組成。如圖2所示。根據(jù)任務(wù)要求的調(diào)度機(jī)制(采用優(yōu)先搶占加時(shí)間片輪轉(zhuǎn)調(diào)度)和任務(wù)的狀態(tài),調(diào)度核心對(duì)任務(wù)實(shí)行管理,即決定當(dāng)前哪個(gè)任務(wù)獲得CPU的控制權(quán),并監(jiān)控任務(wù)的狀態(tài)。系統(tǒng)中各個(gè)任務(wù)只能通過調(diào)度核心才能運(yùn)行和終止。圖2描述了各個(gè)任務(wù)與調(diào)度核心的關(guān)系,圖中的實(shí)線表示從調(diào)度核心進(jìn)入任務(wù)或任務(wù)在一個(gè)時(shí)間片內(nèi)未能運(yùn)行完而返回調(diào)度核心的狀態(tài);圖中虛線表示任務(wù)在時(shí)間片內(nèi)運(yùn)行完畢返回調(diào)度核心的狀態(tài)。
圖2 多任務(wù)調(diào)度圖
2.設(shè)備驅(qū)動(dòng)程序
對(duì)于不同的控制對(duì)象,如加工中心、數(shù)控銑床、數(shù)控車床、數(shù)控磨床等,硬件的配置可能不同,而不同的硬件模塊其驅(qū)動(dòng)程序也不同。華中數(shù)控系統(tǒng)就很好的解決了這個(gè)問題。在配置系統(tǒng)時(shí),所有的硬件模塊的驅(qū)動(dòng)程序都要在NCBIOS的NCBIOS.CFG中說明(格式為:DEVICE=驅(qū)動(dòng)程序名)。系統(tǒng)在運(yùn)行時(shí),NCBIOS根據(jù)NCBIOS.CFG的預(yù)先設(shè)置,調(diào)入對(duì)應(yīng)模塊的驅(qū)動(dòng)程序,建立相應(yīng)的接口通道。
3.位置控制
位置控制是NCBIOS的一個(gè)固定程序,主要是接受插補(bǔ)運(yùn)算程序送來的位置控制指令,經(jīng)進(jìn)行螺距誤差補(bǔ)償、傳動(dòng)間隙補(bǔ)償、極限位置判別等處理后,輸出速度指令值給位置控制模塊。
4.插補(bǔ)器
華中數(shù)控系統(tǒng)為多通道(可為四通道)數(shù)控系統(tǒng),每個(gè)通道都有一個(gè)插補(bǔ)器,相應(yīng)就創(chuàng)建一個(gè)插補(bǔ)任務(wù)。其任務(wù)主要是完成直線、圓弧、螺紋、攻絲及微小直線段(供自由曲線和自由曲面加工用)等插補(bǔ)運(yùn)算。
5.PLC調(diào)度
PLC調(diào)度的主要任務(wù)是:故障的報(bào)警處理;M、S、T處理;急停和復(fù)位處理;虛擬軸驅(qū)動(dòng)處理;刀具壽命管理;操作面板的開關(guān)處理;指示燈及突發(fā)事件處理等。
6.內(nèi)部監(jiān)控
實(shí)現(xiàn)對(duì)CNC系統(tǒng)各部分故障的監(jiān)控。










