I/O控制器是開放式數(shù)控系統(tǒng)的一部分,考慮到整個數(shù)控系統(tǒng)結(jié)構(gòu)層次化和模塊化的特點,構(gòu)造了基于RCS設計方法的I/O控制器。文章簡述了RCS 方法的主要思想及數(shù)控系統(tǒng)中I/O控制器的主要功能和組成,詳細闡述一個基于RCS方法的I/O控制器的設計和實現(xiàn)過程。最后總結(jié)了基于RCS 設計方法的I/O控制器的優(yōu)缺點。
0 前言
基于PC機豐富的軟硬件資源開發(fā)具有開放式體系結(jié)構(gòu)的數(shù)控系統(tǒng)已經(jīng)成為當今數(shù)控系統(tǒng)研發(fā)的潮流。開放式體系結(jié)構(gòu)使數(shù)控系統(tǒng)有更好的通用性、柔性、適應性、可擴展性和可移植性。數(shù)控系統(tǒng)是一個強實時、多任務的復雜控制系統(tǒng)。為了更好的解決它的實時性問題,人們進行了很多的理論研究,RCS(Real - Time Control System) 設計方法就是由美國國家技術與標準委員會(NIST)的智能系統(tǒng)部(ISD)在多年的控制系統(tǒng)研發(fā)過程中,形成的一套完整的用于實現(xiàn)復雜的層次及分布式實時控制系統(tǒng)的一套設計方法及軟件庫,多年來,RCS 方法在國外已經(jīng)在多個領域得到試驗和應用 。
1 RCS設計方法
RCS設計方法的基本原理就是將復雜的控制系統(tǒng)分解成一些簡單的、獨立的、小規(guī)模的、易于用傳統(tǒng)的控制方法來實現(xiàn)的子系統(tǒng),而分解之后的這些子系統(tǒng)可以運行于不同的系統(tǒng)環(huán)境中,甚至分布在網(wǎng)絡的不同節(jié)點。然后根據(jù)分解的結(jié)果,采用由下至上對各層的模塊分別進行定義的方法來定義控制系統(tǒng)的層次結(jié)構(gòu),RCS 將這些子系統(tǒng)按照層次結(jié)構(gòu)組織起來,每一層節(jié)點都有各自的任務,組成一個層次結(jié)構(gòu)。最后確定系統(tǒng)中各模塊的任務分配和模塊間共享的信息,同時定義關于命令和狀態(tài)信息的詞匯,完成控制系統(tǒng)的設計工作。這樣大大地減少了實時控制系統(tǒng)的復雜度。
2 I/O控制器在數(shù)控系統(tǒng)中的作用
2.1 開放式數(shù)控系統(tǒng)的軟件結(jié)構(gòu)
本系統(tǒng)用藍天NC-200 作為系統(tǒng)的硬件平臺,采用RTLinux實時操作系統(tǒng)作為操作平臺。整個數(shù)控系統(tǒng)由控制單元、CRT單元、機床操作站三個單元組成。
CNC 系統(tǒng)是一個專用的實時多任務計算機系統(tǒng),它通常作為一個獨立的過程控制單元用于生產(chǎn)過程中,因此它的系統(tǒng)軟件必須完成管理和控制兩大任務。系統(tǒng)的管理部分包括輸入輸出、I/O處理、顯示、診斷。系統(tǒng)的控制部分包括譯碼、刀具補償、速度處理、差補和位置控制。這樣根據(jù)CNC系統(tǒng)軟件的功能要求和RCS設計方法層次化結(jié)構(gòu)設計的特點,整個數(shù)控系統(tǒng)軟件就可以設計成一個層次化的結(jié)構(gòu)模型,如圖1所示。在這個結(jié)構(gòu)中主要有四個功能模塊,分別是為圖形用戶界面(GUI),任務控制器,運動控制器和I/O控制器。
圖1 數(shù)控系統(tǒng)軟件軟件層次結(jié)構(gòu)
2. 2 I/O控制器在數(shù)控系統(tǒng)中的作用
I/O 控制器是數(shù)控系統(tǒng)中執(zhí)行I/O操作的中心,它主要處理來自任務控制器的針對I/O系統(tǒng)的指令。對于數(shù)控系統(tǒng)而言,這些I/O設備主要有刀具,主軸,冷卻部件,潤滑器以及急停開關等一些輔助操作。這些針對I/O 的操作都是一些開關量控制,所以又稱為離散型I/O控制器。I/O控制器根據(jù)來自任務控制器的控制指令,按照控制對象進行任務拆分,發(fā)送到對應的目的I/O設備中。I/O控制器是數(shù)控系統(tǒng)中的重要組成部分,是控制外部設備的中心。
3 I/O控制器的結(jié)構(gòu)設計
I/O操作對實時性的要求比運動控制要求低,它與任務控制器之間的通信采用NML 機制。
3.1 I/O控制器與任務控制器的接口
通信接口在數(shù)控系統(tǒng)總體的層次化結(jié)構(gòu)模型中,I/O控制器位于任務控制器的下層,它與任務控制器之間有三條用于通信的NML 通道,分別是命令通道、狀態(tài)通道和錯誤信息通道。而在任務控制器中,有一個專門的接口模塊taskintf ,它定義了所有發(fā)送到其下級運動控制器和I/O控制器的控制命令。I/O控制器與任務控制器的接口如圖2 所示。
圖2 I/O控制器與任務控制器
I/O控制器的任務主要有: I/O初始化、停止、關閉、急停開關、主軸正轉(zhuǎn)、反轉(zhuǎn)、停止、冷卻液開關、潤滑初始化與開關、刀具準備、上刀下刀和刀具表管理等等。下面是刀具部分的接口定義。
cncToolPrepare(int tool) ;
cncToolLOAd() ;
cncToolUnload() ;
cncToolLoadToolTable(const char 3 file) ;
cncToolSetOffset (int tool , double length , double diameter) ;
3.2 I/O控制器的內(nèi)部結(jié)構(gòu)設計
基于RCS設計思想設計一個I/O控制器, 它可以對任務控制器發(fā)送給I/O控制器的命令進行分類整理, 即在I/O控制器內(nèi)把任務劃分為若干個模塊,即為:與刀具相關、與主軸相關、與潤滑相關、與冷卻相關和其他與輔助操作相關的五個子任務模塊。同時在I/O控制器頂層設定一個I/O接口模塊,用于總體把握I/O控制器的狀態(tài)和任務分發(fā)。模塊之間的通信利用NML通信機制。具體的I/O控制器的內(nèi)部結(jié)構(gòu)如圖3所示。
圖3 I/O控制器結(jié)構(gòu)示意圖
如圖所示,I/O接口、刀具控制、主軸控制、冷卻處理、潤滑處理和輔助加工分別作為一個獨立的模塊存在。I/O接口模塊位于其他五個模塊的上層,作為I/O控制器和任務控制器的接口,接收所有來自任務控制器送往I/O 部分的任務,它將接收的任務進一步劃分,并按照任務的分類分別送往刀具、主軸、冷卻,潤滑和輔助幾個模塊進行執(zhí)行。底層的五個模塊作為執(zhí)行任務的最終節(jié)點,具體執(zhí)行細化任務,不再有子模塊。
3.3 I/O控制器和任務控制器以及I/O控制器內(nèi)部各模塊之間的通信
I/O控制器和任務控制器之間,以及I/O控制器內(nèi)部各模塊之間的通信是通過NML通道來完成的。系統(tǒng)定義了兩種類型的NML通道:一是命令通道,用于傳遞上層模塊對下層模塊的命令信息;二是狀態(tài)通道,用于上級從下級讀取狀態(tài)信息;在這里,NML通道采用共享內(nèi)存的方式實現(xiàn),所有的數(shù)據(jù)要經(jīng)過共享內(nèi)存進行中轉(zhuǎn)。I/O內(nèi)部模塊間也是按照共享內(nèi)存的方式進行通信的,因此系統(tǒng)中設立了相應的共享內(nèi)存緩沖區(qū)用于內(nèi)部模塊間通信。例如用于I/O接口與刀具間的緩沖區(qū)toolCmd和toolSts ; 用于I/O接口與主軸間的緩沖區(qū)spindleCmd 和spindleSts , 用于I/O接口與冷卻間的緩沖區(qū)coolandCmd 和coolandSts ,用于I/O接口與輔助操作間的緩沖區(qū)auxCmd 和auxSts ,用于I/O接口與潤滑間的緩沖區(qū)lubeCmd 和lubeSts。
4 I/O控制器的執(zhí)行
I/O控制器內(nèi)部由I/O接口、刀具、主軸、冷卻、潤滑和輔助操作五個模塊組成。每個模塊都有其模塊內(nèi)部執(zhí)行過程, 目的在于完成上下級模塊間通信及本模塊的任務處理。在構(gòu)造I/O控制器的時候,可將五個模塊在控制器內(nèi)部循環(huán)執(zhí)行。由于I/O接口在上層,所以循環(huán)次序為I/O接口→刀具→主軸→冷卻→潤滑→輔助操作。每一個循環(huán)為控制器的一個執(zhí)行周期,那么五個模塊共同消耗這個執(zhí)行周期。每個模塊在執(zhí)行時都對自己的執(zhí)行時間進行統(tǒng)計,設定模塊的最大和最小執(zhí)行時間。I/O控制器在開始時定義五個模塊如下:
圖4 I/O控制器內(nèi)部執(zhí)行流程圖
CNC IO MODULE 3 iointf ;
CNC TOOL MODULE 3 tool ;
CNC SPINDLE MODULE 3 spindle ;
CNC COOLANT MODULE 3 coolant ;
CNC AUX MODULE 3 aux ;
CNC LUBE MODULE 3 lube ;
I/O控制器內(nèi)部的執(zhí)行過程如圖4 所示。由流程圖可見:總體來說整個執(zhí)行過程是一個while 主循環(huán),并且可以通過系統(tǒng)中斷信號隨時中止循環(huán)。同時利用RCS 庫提供的RCS TIMER類的對象同步系統(tǒng)時鐘,由成員函數(shù)RCS TIMER: :wait ( ) 實現(xiàn)這一功能。在每一個采樣周期內(nèi),規(guī)定任務執(zhí)行結(jié)束后可能還有剩余時間,wait () 函數(shù)就是保證等到下一采樣周期到來時才執(zhí)行下一個循環(huán)操作。比如一個采樣周期是100ms ,運行所有控制所需時間是60ms ,那么wait 函數(shù)將使進程處于睡眠狀態(tài)40ms ,之后才繼續(xù)運行下一循環(huán)。
5 結(jié)論
基于RCS 設計方法,設計數(shù)控系統(tǒng)中的I/O控制器是一種很成功的方法。這樣的I/ O 控制器具有如下特點:優(yōu)點:
1) 層次化、模塊化結(jié)構(gòu)設計,使系統(tǒng)易更改,可擴展性好,大大提高了系統(tǒng)的靈活性。
2) 對于不同的I/O板卡等硬件可以使用專門的讀寫函數(shù),實現(xiàn)底層操作。故使I/O控制器可適用于不同的硬件平臺。缺點:
I/O控制器只實現(xiàn)了對I/O的離散控制,因此它只實現(xiàn)了解決開關量的邏輯運算,以及計時、計數(shù)等幾種有限的功能控制,難以實現(xiàn)復雜的邏輯運算,算術運算,數(shù)據(jù)處理以及數(shù)控機床所需要的許多特殊功能。
核心關注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務領域、行業(yè)應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業(yè)務領域的管理,全面涵蓋了企業(yè)關注ERP管理系統(tǒng)的核心領域,是眾多中小企業(yè)信息化建設首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標題:基于RCS方法的數(shù)控系統(tǒng)中I/O控制器結(jié)構(gòu)的研究
本文網(wǎng)址:http://www.ezxoed.cn/html/support/11121513893.html