專利名稱:一種計算機(jī)數(shù)控領(lǐng)域的建模方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)數(shù)控領(lǐng)域,特別涉及一種計算機(jī)數(shù)控領(lǐng)域的建模方法。
背景技術(shù):
計算機(jī)數(shù)控系統(tǒng)涉及到機(jī)電、電子、軟件以及控制等多個學(xué)科,傳統(tǒng)的開 發(fā)方法是單個應(yīng)用系統(tǒng)的軟硬件開發(fā)分開進(jìn)行。這種開發(fā)方法普遍存在著可重 用性程度低、開發(fā)效率低、非功能屬性無法保證以及系統(tǒng)集成測試?yán)щy等問題。
軟件復(fù)用被認(rèn)為是解決軟件危機(jī)的有效途徑,由于特定領(lǐng)域的內(nèi)聚性和 穩(wěn)定性的特點,軟件復(fù)用在特定領(lǐng)域的應(yīng)用更易獲得成功。在軟件工程界,基 于構(gòu)件的軟件工程、領(lǐng)域工程等推動了軟件復(fù)用的發(fā)展。但是在針對特定領(lǐng)域 的應(yīng)用中,均存在以下幾個問題
1) 如何合理選取視角來剖切該領(lǐng)域空間并映射到多視圖平面?
2) 如何合理捕獲領(lǐng)域特征并描述領(lǐng)域構(gòu)件及其相互關(guān)系? 計算機(jī)數(shù)控系統(tǒng)中,功能屬性和非功能屬性(如可靠性、實時性等)同等重
要。由于計算機(jī)數(shù)控領(lǐng)域的復(fù)雜性,如何在領(lǐng)域模型中合理描述系統(tǒng)的功能和 非功能屬性,并能實現(xiàn)在系統(tǒng)開發(fā)的前期做到功能和非功能要求的驗證,是一 個值得關(guān)注的焦點。
國內(nèi)外有學(xué)者針對計算機(jī)數(shù)控進(jìn)行建模和分析做出了有益的探索,但是 模型大多局限為開發(fā)人員交流時的對象,模型驗證和代碼自動生成并沒有涉及 到。計算機(jī)數(shù)控領(lǐng)域缺乏適用、高效的建模方法。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服當(dāng)前計算機(jī)數(shù)控領(lǐng)域開發(fā)方法上存在的上述問題,
提供一種基于vrc(視圖-特征-構(gòu)件)的計算機(jī)數(shù)控領(lǐng)域的建模方法,vfc是
視圖(View)、特征(Feature)、構(gòu)件(Component)英文單詞首個字母的簡稱。 本發(fā)明采取多視角的方式剖切領(lǐng)域空間,并映射到相應(yīng)的多視圖平面,在視圖 容器里依據(jù)特征建立相應(yīng)的領(lǐng)域元模型,包括構(gòu)件的交互和組合的描述,系統(tǒng) 組成的描述,系統(tǒng)結(jié)構(gòu)及行為的描述,系統(tǒng)功能和非功能屬性的規(guī)約。 為實現(xiàn)上述目的,包括以下步驟
(1) 分別選取不同的視角針對計算機(jī)數(shù)控領(lǐng)域進(jìn)行分析,所述視角包括 三種結(jié)構(gòu)視角、系統(tǒng)視角、功能非功能視角。視角是指從不同的角度出發(fā)來 觀察和剖切領(lǐng)域空間。是cnc領(lǐng)域分析的依據(jù),并和視圖形成一一映射關(guān)系。 所述視角包括三種系統(tǒng)視角,結(jié)構(gòu)視角,功能非功能視角。
(2) 依據(jù)步驟(1)中選取的不同視角捕獲計算機(jī)數(shù)控領(lǐng)域的特征后,映 射成相應(yīng)的多視圖,所述視圖包括三種結(jié)構(gòu)視圖、系統(tǒng)視圖、功能非功能視
圖;視圖是計算機(jī)數(shù)控領(lǐng)域的一個片段或者切片,是從不同視角出發(fā)得到領(lǐng)域 空間的區(qū)域投影平面和裝載容器。其中結(jié)構(gòu)視圖分為回零視圖、手動視圖、手 輪視圖、編輯視圖、錄入視圖以及自動視圖。功能非功能視圖分為運動控制視
圖和plc邏輯控制視圖。
(3) 以數(shù)控構(gòu)件特征為依據(jù)描述計算機(jī)數(shù)控領(lǐng)域構(gòu)件;構(gòu)件是組成計算
機(jī)數(shù)控系統(tǒng)的功能單元,特征是構(gòu)件的固有屬性,在視圖中依據(jù)特征對構(gòu)件及 其組合進(jìn)行描述和規(guī)約并完成元建模。
(4) 在步驟(2)的相應(yīng)視圖容器中,以步驟(3)的構(gòu)件為基礎(chǔ)完成構(gòu)件之間組合和交互關(guān)系的規(guī)約,并進(jìn)行元建模;元建模完成后通過元模型解釋
器生成面向計算機(jī)數(shù)控領(lǐng)域的建模語言,依據(jù)該建模語言可進(jìn)行用戶模型的 搭建。
(5) 依據(jù)步驟(4)構(gòu)建的計算機(jī)數(shù)控領(lǐng)域元模型經(jīng)過元模型解釋器生成 計算機(jī)數(shù)控領(lǐng)域建模語言,所述的計算機(jī)數(shù)控領(lǐng)域建模語言為可視化、圖形化 的建模開發(fā)環(huán)境,具備計算機(jī)數(shù)控領(lǐng)域特定的語法和語義空間;
(6) 應(yīng)用步驟(5)生成的計算機(jī)數(shù)控領(lǐng)域建模語言,在系統(tǒng)視圖中建立 系統(tǒng)平臺和數(shù)控系統(tǒng)開閉環(huán)模型,在結(jié)構(gòu)視圖中建立數(shù)控管理軟件模型,在功 能非功能視圖建立運動控制和PLC控制模型,完成數(shù)控系統(tǒng)應(yīng)用模型的建立;
(7) 通過模型驗證實現(xiàn)應(yīng)用模型的功能非功能屬性驗證,通過模型解釋 器實現(xiàn)代碼的自動生成,并可編譯成數(shù)控系統(tǒng)。
與現(xiàn)有技術(shù)相比,本發(fā)明提供的方法具有如下優(yōu)點本發(fā)明針對計算機(jī)數(shù) 控領(lǐng)域建立建模環(huán)境,能實現(xiàn)模型級的功能和非功能驗證,并實現(xiàn)代碼自動生 成。該方法能提高數(shù)控系統(tǒng)可靠性以及開發(fā)效率,能保證數(shù)控系統(tǒng)實時性等非 功能屬性,是計算機(jī)數(shù)控領(lǐng)域開發(fā)的一種新的建模方法。
附圖1為本發(fā)明的CNC系統(tǒng)建模開發(fā)流程示意圖; 附圖2為本發(fā)明的VFC建模方法示意圖; 附圖3為本發(fā)明的系統(tǒng)視圖開閉環(huán)子視圖; 附圖4為本發(fā)明的系統(tǒng)視圖CNC平臺子視圖; 附圖5為CNC人際交互軟件建模示意圖; 附圖6為運動控制建模示意圖;
具體實施例方式
本發(fā)明的CNC開發(fā)方法,包含元建模,用戶建模,模型驗證及代碼生成幾個 步驟。如附圖1為CNC系統(tǒng)建模開發(fā)流程示意圖,基于特定領(lǐng)域建模的CNC 開發(fā)方法包括四個過程,元建模、應(yīng)用建模、模型驗證及代碼生成。在元模型 建模環(huán)境101中建立CNC元模型102,由元模型解釋器103解釋成CNC建 模語言,即計算機(jī)數(shù)控領(lǐng)域建模環(huán)境104,在該建模環(huán)境中建立應(yīng)用模型105, 通過模型解釋器106生成相應(yīng)硬件平臺下的源代碼107,編譯生成數(shù)控系統(tǒng) 108。
具體步驟如下 (1)元建模
如圖2所示,依據(jù)VFC建模方法,利用元建模工具,針對CNC領(lǐng)域,選取
系統(tǒng)視角204、結(jié)構(gòu)視角201、功能非功能視角206來捕獲CNC領(lǐng)域特征,并映
射成相應(yīng)的視圖,即為系統(tǒng)視圖203,結(jié)構(gòu)視圖202,功能非功能視圖205。
系統(tǒng)視圖203對CNC平臺進(jìn)行描述,結(jié)構(gòu)視圖202對人際交互軟件進(jìn)行描述,
功能非功能視圖205對PLC以及運動控制進(jìn)行描述。
人機(jī)交互的元模型針對界面元素和空間進(jìn)行屬性的描述,如編輯框,按鈕, 文本框等控件的長、寬、顏色、字體等。
系統(tǒng)視圖針對CNC平臺進(jìn)行規(guī)約,依據(jù)平臺的確特征如OS選配,CPU類 型,存儲空間大小,通訊方式,CNC開閉環(huán)選擇,CNC輸出模擬/數(shù)字方式選擇 等進(jìn)行相應(yīng)元素的描述和規(guī)約。
功能和非功能視圖針對運動控制的任務(wù)管理,運動任務(wù),PID控制、PLC 等構(gòu)件進(jìn)行功能和實時特征的描述和規(guī)約。
CNC元模型的建立采取UML/0CL語言結(jié)合的方式進(jìn)行,可選取元建模工具
進(jìn)行建模。
(2)用戶建模
元建模后可通過元模型解釋器生成可視化的面向CNC領(lǐng)域的建模語言, 應(yīng)用該語言由CNC領(lǐng)域?qū)I(yè)人士根據(jù)需求建立用戶模型。包括人際交互建模, 運動控制建模,PLC建模。建模的依據(jù)是VFC方法。建模語言是可視化的,具 備CNC領(lǐng)域的語法和語義。另外,元建模中OCL語言的約束,在用戶建模時 會得到體現(xiàn)。比方,某些"唯一性"約束的元素,用戶建模時在相應(yīng)視圖只能 拖放一個, 一旦超過,建模環(huán)境不能支持并會報上相應(yīng)的錯誤。
如圖3所示,為系統(tǒng)視圖CNC開閉環(huán)子視圖。在該視圖里,針對CNC系 統(tǒng)的開閉環(huán)方式、數(shù)字/模擬量輸出方式等進(jìn)行建模。拖放數(shù)控系統(tǒng)302、軸 305、軸309、編碼盤301、編碼盤306、伺服303、伺服307、電機(jī)304、電機(jī) 308等建模元素,并進(jìn)行元素之間相應(yīng)的連接和屬性配置,即可表示出CNC 系統(tǒng)的開閉環(huán)方式和數(shù)字/模擬量輸出方式。例如圖3建模表示一個二軸閉環(huán) 車床數(shù)控系統(tǒng),編碼盤接在運動軸上,反饋回來的數(shù)據(jù)直接送入數(shù)控系統(tǒng),形 成全閉環(huán)控制,數(shù)控系統(tǒng)以模擬量輸出給伺服系統(tǒng)。
如圖4所示,為系統(tǒng)視圖CNC平臺子視圖。在該視圖里,針對CNC系統(tǒng) 的平臺架構(gòu)進(jìn)行建模。進(jìn)行OS配置402、內(nèi)存配置403、 CPU配置401、通 訊配置406、總線配置405、 1/O配置407等建模元素的拖放和組織,并進(jìn)行元 素之間相應(yīng)的連接和屬性配置,即可表示出計算機(jī)數(shù)控平臺404架構(gòu)方式。例 如,在一種"嵌入式計算機(jī)+運動控制器"的數(shù)控系統(tǒng)平臺,OS選擇Windows CE, RAM配置為128M的CF卡,CPU選擇X86,下位機(jī)選擇DSP為處理器,
CPU之間通過PC/104方式進(jìn)行通訊。
如圖5所示,人際交互控制軟件建模以操作模式為核心,只需從元素庫中 組織拖放,并可按照個人喜好的風(fēng)格進(jìn)行HMI界面的布局。選取手動模式501 , 針對界面元素組織507,然后再進(jìn)行該模式下的界面元素屬性513的設(shè)置,有 長度、寬度、顏色、字體、行為等屬性。在其余模式中的建模過程類似于手動 模式501。在不同的視圖中,元素庫可提供的元素不同。元素有以下幾種類型 文本框,編輯框,列表框,復(fù)合框,按鈕,表格控件等。
如圖6所示,運動控制建模以任務(wù)為核心,用戶在元素庫里選擇相應(yīng)的任 務(wù)和插補算法,并配置相應(yīng)的運動軸數(shù)即可。在運動控制視圖601中,先進(jìn)行 運動管理構(gòu)件配置602,然后分別對運動任務(wù)構(gòu)件拖放603、軸構(gòu)件拖放604、 運動命令構(gòu)件拖放605,再依次進(jìn)行運動任務(wù)構(gòu)件配置606、軸構(gòu)件配置607 和運動命令構(gòu)件配置608,最后進(jìn)行構(gòu)件交互配置609。對于運動任務(wù)屬性的 配置,需配置實時屬性中的周期、死期、任務(wù)優(yōu)先級、最壞執(zhí)行時間等。
(3) 模型驗證
模型貫穿于CNC開發(fā)的整個過程,因此模型直接決定系統(tǒng)最終性能。在 系統(tǒng)設(shè)計階段保證模型對系統(tǒng)的功能和非功能的描述的正確性非常重要,做好 早期的系統(tǒng)功能和非功能驗證能有效提高開發(fā)效率。目前成熟的支持模型仿真 分析和模型形式化驗證的工具有MATLAB, UPPAAL, Giotto等。模型驗證 是將CNC模型轉(zhuǎn)換為這些工具能識別的模型,以進(jìn)行系統(tǒng)功能和非功能模型 級驗證。
(4) 代碼自動生成 經(jīng)過驗證后的模型可通過模型解釋器自動生成目標(biāo)平臺下的源代碼。首先根據(jù)元模型規(guī)則建立領(lǐng)域類庫,通過領(lǐng)域類庫,模型解釋器對CNCML建模環(huán) 境發(fā)出訪問請求,CNCML對模型進(jìn)行遍歷,根據(jù)相應(yīng)的訪問請求返回模型數(shù) 據(jù)。其次建立模型數(shù)據(jù)與目標(biāo)輸出的映射關(guān)系,即映射規(guī)則庫。文本生成器根 據(jù)映射規(guī)則庫對模型數(shù)據(jù)進(jìn)行分析、處理,最終輸出文本到磁盤文件,這些文 本文件可能是目標(biāo)開發(fā)環(huán)境中的程序源代碼,也可能是其配置文件。由于數(shù)控 系統(tǒng)的硬件平臺種類繁多,采用的實時操作系統(tǒng)也有所不同,所使用的開發(fā)環(huán) 境也隨之改變,不同目標(biāo)開發(fā)環(huán)境中的代碼結(jié)構(gòu)差別很大,所以面向不同的開 發(fā)環(huán)境,模型解釋器必須建立對應(yīng)的映射規(guī)則庫。
以二軸車床數(shù)控系統(tǒng)為例說明實現(xiàn)步驟
1) 應(yīng)用VFC建模方法構(gòu)建計算機(jī)數(shù)控領(lǐng)域元模型,形成可視化的建模語 言CNCML。
2) 根據(jù)硬件平臺,在系統(tǒng)視圖中對硬件參數(shù)進(jìn)行配置,如開閉環(huán)選擇,脈 沖/模擬輸出方法選擇,通訊方式等。如附圖3所示。
3) 在CNCML中分別在人機(jī)交互視圖中,依據(jù)數(shù)控系統(tǒng)操作模式為核心 分為六個子視圖,分別是手動、手輪、回零、錄入、編輯以及自動模式。在不 同的模式下,選取元素庫里的元素進(jìn)行"所見即所得"的編輯方法,并可配置 相關(guān)元素的屬性。如在手動模式中,可選擇系統(tǒng)的位置信息、狀態(tài)信息、操作 模式信息以及相關(guān)的按扭。附圖4是人機(jī)交互控制視圖建模過程。
4) 在運動控制視圖中,拖放"運動管理"構(gòu)件,拖放"連續(xù)運動"、"回 零"、"直線插補"等運動任務(wù)構(gòu)件到編輯區(qū)域,把運動任務(wù)和"運動管理"直 接進(jìn)行關(guān)聯(lián),表示的是構(gòu)件之間任務(wù)觸發(fā)關(guān)系。拖放X軸和Z軸構(gòu)件,并關(guān) 聯(lián)到"任務(wù)管理"構(gòu)件,表示任務(wù)管理構(gòu)件會把具體的運動任務(wù)以單軸或多軸 為載體運行。運動任務(wù)構(gòu)件需要配置的屬性有:死期,最壞執(zhí)行時間,任務(wù)優(yōu)先級, 任務(wù)周期。軸控制構(gòu)件屬性設(shè)置有軸名,限位等。附圖5是運動控制視圖建 模過程。
5) 在PLC視圖中,通過定義配置控制面板按鍵的變量,為控制面板的重配
提供了基礎(chǔ)。并可提供接口實現(xiàn)不同規(guī)格和布局的控制面板的可調(diào)換。
6) 通過模型轉(zhuǎn)換把二軸車床數(shù)控系統(tǒng)模型轉(zhuǎn)換到Matlab和UPPAAL中, 在Matlab中可進(jìn)行控制器PID調(diào)節(jié)的驗證以及邏輯功能驗證,在UPPAAL進(jìn)行 任務(wù)可調(diào)度性的驗證。
7) 通過模型解釋器生成面向WindowsCE.net下0^++格式源程序,面向 TI DSP環(huán)境下的0^++格式源程序。通過第三方的編譯器即可生成車床數(shù)控 系統(tǒng)。
權(quán)利要求
1、一種計算機(jī)數(shù)控領(lǐng)域的建模方法,包括元建模和應(yīng)用建模兩個階段,其特征在于包括以下步驟(1)分別選取不同的視角針對計算機(jī)數(shù)控領(lǐng)域進(jìn)行分析,所述視角包括三種結(jié)構(gòu)視角、系統(tǒng)視角、功能非功能視角;(2)依據(jù)步驟(1)中選取的不同視角捕獲計算機(jī)數(shù)控領(lǐng)域的特征后,映射成相應(yīng)的多視圖,所述視圖包括三種結(jié)構(gòu)視圖、系統(tǒng)視圖、功能非功能視圖;(3)以數(shù)控構(gòu)件特征為依據(jù)描述計算機(jī)數(shù)控領(lǐng)域構(gòu)件;(4)在步驟(2)的相應(yīng)視圖容器中,以步驟(3)的構(gòu)件為基礎(chǔ)完成構(gòu)件之間組合和交互關(guān)系的規(guī)約,并進(jìn)行元建模;(5)依據(jù)步驟(4)構(gòu)建的計算機(jī)數(shù)控領(lǐng)域元模型經(jīng)過元模型解釋器生成計算機(jī)數(shù)控領(lǐng)域建模語言,該語言同時是可視化的計算機(jī)數(shù)控開發(fā)環(huán)境;(6)應(yīng)用步驟(5)生成的計算機(jī)數(shù)控領(lǐng)域建模語言,在系統(tǒng)視圖中建立系統(tǒng)平臺和數(shù)控系統(tǒng)開閉環(huán)模型,在結(jié)構(gòu)視圖中建立數(shù)控管理軟件模型,在功能非功能視圖建立運動控制和PLC控制模型,完成數(shù)控系統(tǒng)應(yīng)用模型的建立;(7)通過模型驗證實現(xiàn)應(yīng)用模型的功能非功能屬性驗證,通過模型解釋器實現(xiàn)代碼的自動生成,并編譯成數(shù)控系統(tǒng)。
2、 根據(jù)權(quán)利要求1所述的計算機(jī)數(shù)控領(lǐng)域的建模方法,其特征在于步 驟(1)所述結(jié)構(gòu)視角包括回零視角、手動視角、手輪視角、自動視角、編輯 視角和錄入視角;系統(tǒng)視角包括計算機(jī)數(shù)控開閉環(huán)視角和計算機(jī)數(shù)控平臺視 角;功能非功能視角包括運動控制視角和PLC視角。
3、 根據(jù)權(quán)利要求1所述的計算機(jī)數(shù)控領(lǐng)域的建模開發(fā)方法,其特征在于:步驟(2)所述結(jié)構(gòu)視圖包括回零視圖、手動視圖、手輪視圖、自動視圖、編 輯視圖和錄入視圖;系統(tǒng)視圖包括計算機(jī)數(shù)控開閉環(huán)視圖和計算機(jī)數(shù)控平臺視 圖;功能非功能視圖包括運動控制視圖和PLC視圖。
4、 根據(jù)權(quán)利要求1所述的計算機(jī)數(shù)控領(lǐng)域的建模方法,其特征在于步 驟(3)所述的數(shù)控構(gòu)件特征包括功能行特征和非功能性特征,非功能性特征 包括實時性特征、可靠性特征、安全性特征等。
5、 根據(jù)權(quán)利要求1所述的計算機(jī)數(shù)控領(lǐng)域的建模方法,其特征在于步 驟(5)所述的計算機(jī)數(shù)控領(lǐng)域建模語言為可視化、圖形化的建模開發(fā)環(huán)境, 具備計算機(jī)數(shù)控領(lǐng)域特定的語法和語義空間。
全文摘要
本發(fā)明公開一種計算機(jī)數(shù)控領(lǐng)域的建模方法。步驟如下(1)采取多視角的方式剖切領(lǐng)域空間;(2)捕獲領(lǐng)域特征并映射到相應(yīng)的多視圖平面;(3)在相應(yīng)的視圖容器里依據(jù)特征進(jìn)行元建模;(4)領(lǐng)域元模型經(jīng)過元模型解釋器生成面向計算機(jī)數(shù)控領(lǐng)域的建模語言;(5)依據(jù)該建模語言,多視圖方式下進(jìn)行應(yīng)用模型的搭建;(6)通過模型驗證進(jìn)行應(yīng)用模型功能和非功能屬性的驗證;(7)通過模型解釋器實現(xiàn)平臺下源代碼的自動生成。本發(fā)明針對計算機(jī)數(shù)控領(lǐng)域建立建模環(huán)境,能實現(xiàn)模型級的功能和非功能驗證,并實現(xiàn)代碼自動生成,能提高數(shù)控系統(tǒng)可靠性以及開發(fā)效率,能保證數(shù)控系統(tǒng)實時性等非功能屬性。
文檔編號G05B19/18GK101206468SQ20071003183
公開日2008年6月25日 申請日期2007年11月30日 優(yōu)先權(quán)日2007年11月30日
發(fā)明者峰 葉, 張亞超, 迪 李, 江幸波, 肖蘇華, 舒兆港, 賴乙宗 申請人:華南理工大學(xué)