CNC系統(tǒng)的硬件開(kāi)放性結(jié)構(gòu)表現(xiàn)在如下幾方面:a.組成系統(tǒng)的基本單元都是工業(yè)級(jí)模塊,互相之間的硬件接口都符合國(guó)際通行標(biāo)準(zhǔn),具有很好的兼容性和互換性,個(gè)別模塊的增減和更換不涉及系統(tǒng)的其他部分;b.IPC和PC完全兼容,使基于IPC的CNC系統(tǒng)能充分利用PC高度開(kāi)放性的資源,所謂CNC系統(tǒng)的開(kāi)放性是建立在PC開(kāi)放性基礎(chǔ)上的;c.PLC的內(nèi)部變量、輸入和輸出變量全部對(duì)串行口和用戶開(kāi)放,變量之間的邏輯關(guān)系可根據(jù)不同的需要在線獨(dú)立編程。具有開(kāi)放性結(jié)構(gòu)的CNC系統(tǒng)軟件為了保證控制系統(tǒng)的開(kāi)放性,將整個(gè)控制程序分為兩層:內(nèi)核層基于實(shí)時(shí)控制基本硬件單元的軟件模塊,對(duì)內(nèi)控制硬件,對(duì)外輸出和接受數(shù)據(jù),模塊之間互相獨(dú)立;外殼層是聯(lián)系內(nèi)核層各個(gè)模塊的紐帶,硬件單元的工作任務(wù)由其分配和調(diào)度。內(nèi)外層之間的信息數(shù)據(jù)通過(guò)如下系統(tǒng)公共數(shù)組變量傳遞:T內(nèi)軌跡的進(jìn)給增量L;砂輪中心位置絕對(duì)坐標(biāo)計(jì)數(shù)器N;工作臺(tái)絲桿螺母反向間隙常數(shù)J;PLC輸入繼電器開(kāi)關(guān)量X;PLC輸出繼電器開(kāi)關(guān)量Y;PLC輔助輸出繼電器開(kāi)關(guān)量M;鍵盤(pán)操作面板開(kāi)關(guān)量K;曲線軌跡文件的文件名數(shù)組F。以上L,N,J為32位長(zhǎng)整型數(shù)組;F為字符串?dāng)?shù)組;X,Y,M和K為布爾型數(shù)組。
外殼層外殼層即主程序只涉及實(shí)時(shí)性要求不高的任務(wù),主要由以下兩大模塊組成:CRT顯示模塊。其主要功能是在CRT上以圖形和文字的形式動(dòng)態(tài)顯示各個(gè)公共數(shù)組單元當(dāng)前的狀態(tài),即仿真LED計(jì)數(shù)器和工件動(dòng)畫(huà)對(duì)應(yīng)N,仿真的各種顏色指示燈對(duì)應(yīng)X和Y,仿真的操作面板按鈕對(duì)應(yīng)K等。分析命令調(diào)度任務(wù)模塊。其主要功能是掃描數(shù)組K的各個(gè)單元代表的鍵盤(pán)操作命令,根據(jù)K(i)的值去分配或撤銷(xiāo)任務(wù),分配任務(wù)時(shí)使有關(guān)數(shù)組為給定的非零值,撤銷(xiāo)任務(wù)時(shí)使有關(guān)數(shù)組為零值。內(nèi)核層內(nèi)核層全部由獨(dú)立于主程序的硬件觸發(fā)中斷服務(wù)子程序組成,主要有以下三個(gè)模塊:插補(bǔ)器輸出模塊。位置控制器每隔T申請(qǐng)中斷一次。PLC通信模塊。相對(duì)于CPU,X和Y是只讀存儲(chǔ)器,M是只寫(xiě)存儲(chǔ)器;相對(duì)于PLC,X和M是只讀存儲(chǔ)器,Y是只寫(xiě)存儲(chǔ)器;因此,通信中斷程序的具體任務(wù)就是PLC內(nèi)的輸入、輸出開(kāi)關(guān)量拷貝到CPU中的X和Y數(shù)組,將CPU內(nèi)的M數(shù)組值拷貝到PLC中的輔助繼電器,即定時(shí)動(dòng)態(tài)刷新X,Y和M數(shù)組。鍵盤(pán)命令模塊。該模塊的任務(wù)是將鍵盤(pán)的開(kāi)關(guān)狀態(tài)動(dòng)態(tài)地映射到K數(shù)組中,形成可執(zhí)行命令。和前兩個(gè)模塊的不同之處在于該中斷不是定時(shí)的,而是由鍵盤(pán)按鍵狀態(tài)變化觸發(fā)的。重新定義PC鍵盤(pán)以傳感器方式工作,一旦發(fā)生中斷,服務(wù)程序根據(jù)預(yù)先的定義,將對(duì)應(yīng)的開(kāi)關(guān)狀態(tài)轉(zhuǎn)換為對(duì)應(yīng)的K(i)值。K(i)的取值根據(jù)定義分為跟隨器和觸發(fā)器兩類(lèi)。
CNC系統(tǒng)實(shí)時(shí)性的保證,系統(tǒng)的工作循環(huán)周期系統(tǒng)的硬件一旦確定,控制過(guò)程的實(shí)時(shí)性是靠執(zhí)行硬件中斷保證的。整個(gè)系統(tǒng)的工作循環(huán)周期為T(mén)。為保證實(shí)時(shí)性,在理想情況下,要求CNC系統(tǒng)在T內(nèi)完成如下工作:執(zhí)行一次插補(bǔ)并輸出pi和ni的子程序,設(shè)所需時(shí)間為T(mén)1;執(zhí)行一次PLC通信程序,刷新X,Y和M,設(shè)所需時(shí)間為T(mén)2;執(zhí)行一次鍵盤(pán)通信程序,刷新K,設(shè)所需時(shí)間為T(mén)3;主程序分析命令、調(diào)度任務(wù)一次,刷新一次CRT顯示屏,設(shè)所需時(shí)間為T(mén)4。顯然,系統(tǒng)對(duì)實(shí)時(shí)性的要求應(yīng)滿足T1+T2+T3+T4