久久精品国产99国产精2020丨,亚洲成αv人片在线观看,www.黄色av免费,亚洲黄色在线,福利无码视频世界,欧美色综合一区二区三区,2017夜夜爱毛片

開放式數(shù)控系統(tǒng)中控制信息的表達與傳遞書

來源:互聯(lián)網(wǎng)

點擊:2217

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞:開放式 數(shù)控系統(tǒng) 傳遞數(shù)

    構(gòu)建開放式數(shù)控系統(tǒng)的一個基本原則就是模塊化,通過模塊化進行系統(tǒng)功能和結(jié)構(gòu)的分解,降低耦合、增強內(nèi)聚并控制粒度,以提高模塊的復(fù)用性。很多學(xué)者開展了有關(guān)這方面的研究工作,我們也在這個領(lǐng)域進行了一些探索,并發(fā)表了一些研究成果,圍繞模塊的接口設(shè)計、建模方法、系統(tǒng)配置等問題都進行了探討和研究。

      隨著研究的深入,我們認識到除上述內(nèi)容之外,控制信息在各模塊間的傳遞也是值得研究的問題。本文主要針對數(shù)控系統(tǒng)內(nèi)控制信息的表述及傳遞的問題,結(jié)合自主開發(fā)的開放式系統(tǒng)HITCNC進行深入探討。首先介紹HITCNC系統(tǒng)的組成,然后重點闡述如何利用嵌套式任務(wù)單元實現(xiàn)信息的表達與有效傳遞,最后通過實驗加以驗證。

    1 開放式數(shù)控系統(tǒng)HITCNC的模塊化構(gòu)成

      我們采用Windows NT+RTX(Real—time exten-sion for Windows)為系統(tǒng)平臺,以軟件化方式實現(xiàn)運動控制和邏輯控制功能,建立了基于PC機的軟件型開放式數(shù)控系統(tǒng)HITCNC。它與外部設(shè)備之間的數(shù)據(jù)通訊通過遵循SERCOS協(xié)議的SofiSercans通訊卡完成,系統(tǒng)結(jié)構(gòu)如圖1所示。

     
    圖1開放式效控系統(tǒng)HITCNC的模塊化系統(tǒng)結(jié)構(gòu)

      HITCNC是“軟件數(shù)控”,即CNC功能全部由軟件實現(xiàn),各部分功能被分解到不同的軟件模塊中。其中人機接口、任務(wù)生成器模塊是在Windows環(huán)境下運行的COM組件;任務(wù)協(xié)調(diào)器、軸組、離散邏輯控制器、軸模塊、控制規(guī)律模塊則是運行于RTX實時環(huán)境下的動態(tài)鏈接庫。

      各模塊具體功能如下:

      (1)任務(wù)協(xié)調(diào)器進行任務(wù)分配,負責(zé)系統(tǒng)內(nèi)各模塊的協(xié)調(diào)與調(diào)度。

      (2)任務(wù)生成器根據(jù)一定的語法規(guī)則對數(shù)控加工程序進行語法檢查,完成譯碼工作,生成包含運動信息的運動段指令和邏輯控制指令,并對運動指令進行刀具補償。

      (3)軸組模塊完成加減速處理、插補任務(wù),對譯碼得到的運動段按照一定的進給速度要求進行細分,得到單個插補周期內(nèi)的直線段進給量,然后分解并輸出給各個軸模塊。

      (4)軸模塊接收來自軸組模塊的指令,同時讀取外部的反饋信息,根據(jù)用戶需求選擇性地調(diào)用伺服控制規(guī)律完成位置控制或速度控制等功能,并將控制信息發(fā)送給外部執(zhí)行單元。

      (5)控制規(guī)律模塊負責(zé)伺服控制規(guī)律的計算,提供多種控制策略。

      (6)離散邏輯控制模塊負責(zé)對外部輸入和內(nèi)部狀態(tài)變量進行布爾運算得到相應(yīng)輸出和內(nèi)部狀態(tài)變量,并對外部輸入輸出設(shè)備進行控制,包括機電設(shè)備的啟停、刀具的交換等。

    2 控制信息的抽象與表達

      2.1 任務(wù)單元

      對數(shù)控系統(tǒng)而言,其所要處理的信息主要來自數(shù)控加工程序。在本系統(tǒng)中,數(shù)控程序經(jīng)任務(wù)生成器處理得到的控制信息(包括運動控制與邏輯控制)采用有限狀態(tài)機FSM(Finite State Machine)進行描述。這里,將包含控制信息的FSM對象稱為任務(wù)單元。有限狀態(tài)機通常采用狀態(tài)轉(zhuǎn)移圖來表示,其構(gòu)成要素包括狀態(tài)、轉(zhuǎn)移、事件、動作。簡化的任務(wù)單元狀態(tài)轉(zhuǎn)移圖參見圖2。其中“未初始化、已初始化、運行、停止、結(jié)束”表示狀態(tài);“初始化、執(zhí)行、刷新、復(fù)位、完成、停止”表示事件;“initialization()、runningAction()、stopAction()、resetAction()”表示動作;當(dāng)任務(wù)單元處于“未初始化”狀態(tài),并接收到事件“初始化”時,它會執(zhí)行動作“initialization()”,并完成由“未初始化”狀態(tài)向“已初始化”狀態(tài)的轉(zhuǎn)移。任務(wù)單元本身就是一個有限狀態(tài)機對象。有限狀態(tài)機的基本概念和軟件化實現(xiàn)方法參見文獻,這里不再詳述。

     
    圖2簡化的任務(wù)單元狀態(tài)轉(zhuǎn)移圖

      2.2 任務(wù)單元的種類


      根據(jù)任務(wù)單元所要完成功能,本系統(tǒng)定義了多種任務(wù)單元類,如圖3。

     
    圖3任務(wù)單元的種類

      (1)運動任務(wù)單元對應(yīng)于輸入軸組模塊的數(shù)據(jù)FSM,分為直線、圓弧運動任務(wù)單元等。除了具有基本的FSM管理和參數(shù)化方法之外,運動任務(wù)單元還包括速率、待加工的幾何信息等以及負責(zé)刀具軌跡規(guī)劃的速度輪廓生成器。它們在軸組模塊內(nèi)按照圖2規(guī)劃的FSM運行,通過執(zhí)行動作initilization()和runningAc—tion()分別完成插補的初始化和插補計算任務(wù)。

      (2)離散邏輯任務(wù)單元對應(yīng)于輸入離散邏輯模塊的數(shù)據(jù)FSM。離散邏輯單元負責(zé)對外部輸人輸出單元的協(xié)調(diào)和控制。如主軸的啟停、冷卻液的開關(guān)等。

      (3)執(zhí)行步任務(wù)單元在任務(wù)協(xié)調(diào)器內(nèi)的FSM對象,包括運動任務(wù)執(zhí)行步和離散邏輯任務(wù)執(zhí)行步,分別負責(zé)監(jiān)控和管理運動任務(wù)單元和離散邏輯任務(wù)單元的執(zhí)行。例如直線運動任務(wù)單元就是在運動執(zhí)行步的監(jiān)控下運行的,具體實現(xiàn)過程將在下文詳細解釋。對于圖3中的各種任務(wù)單元,采用面向?qū)ο缶幊碳夹g(shù),以基類任務(wù)單元模板來抽象表示它們的共性,則每一種具體類型的任務(wù)單元都通過從任務(wù)模板基類派生定制實現(xiàn)。

    3 控制信息的傳遞與系統(tǒng)模塊的協(xié)作

      任務(wù)單元是可以嵌套的,一個任務(wù)單元能夠包含其它的任務(wù)單元。當(dāng)外層任務(wù)單元的有限狀態(tài)機被激活時,它能夠向下層模塊發(fā)送其內(nèi)嵌的任務(wù)單元。這樣,就可以將數(shù)控程序包含的控制信息以任務(wù)單元的形式在模塊間傳送,被傳送的任務(wù)單元成為下層模塊內(nèi)活動的狀態(tài)機,從而控制下層模塊的行為。外層任務(wù)通過對嵌套任務(wù)的管理就可以實現(xiàn)對下層邏輯和運動控制模塊的協(xié)調(diào)調(diào)度。在本系統(tǒng)中,執(zhí)行步任務(wù)單元屬于外層任務(wù),它負責(zé)嵌套包含運動任務(wù)單元和離散邏輯任務(wù)單元。通過下面的例子來說明當(dāng)數(shù)控系統(tǒng)執(zhí)行一個加工程序時,模塊間的協(xié)作關(guān)系與數(shù)據(jù)流的傳遞過程,如圖4所示。執(zhí)行步驟如下:

     
    圖4模塊間的協(xié)作與數(shù)據(jù)傳遞

      步驟1 加工程序在任務(wù)生成器中被翻澤為一系列執(zhí)行步任務(wù)單元,以鏈表的形式存在;每個執(zhí)行步任務(wù)單元都是嵌套的,內(nèi)部包含有等待執(zhí)行的運動任務(wù)單元或邏輯控制單元。

      步驟2 任務(wù)協(xié)調(diào)器通過調(diào)用getTasks()獲取執(zhí)行步單元。在本系統(tǒng)中,任務(wù)生成器是一個COM組件,在Windows環(huán)境下運行;任務(wù)協(xié)調(diào)器是一個實時動態(tài)鏈接庫,在實時操作系統(tǒng)RTX環(huán)境下運行。兩個模塊通過共享內(nèi)存?zhèn)鬟f具有嵌套結(jié)構(gòu)的執(zhí)行步任務(wù)單元。

      步驟3 任務(wù)協(xié)調(diào)器調(diào)用執(zhí)行步單元提供的exe—cuteUnit()激活其包含的狀態(tài)機。步驟3會重復(fù)執(zhí)行多次,因為它要與下層模塊保持同步(例如,等待當(dāng)前嵌套的運動任務(wù)單元被完成)。

      步驟4 在任務(wù)協(xié)調(diào)器內(nèi)處于活動狀態(tài)的執(zhí)行步任務(wù)單元將內(nèi)嵌的運動任務(wù)單元發(fā)送到軸組模塊的運動隊列中,通過調(diào)用setNextMotionSegment()實現(xiàn)。運動任務(wù)單元被加載到軸組隊列后等待被激活。

      步驟5 加載到軸組隊列首位的運動單元首先被激活,軸組模塊周期性調(diào)用該運動任務(wù)單元的exe-cuteUnit()方法,運動任務(wù)單元依照它的有限狀態(tài)機規(guī)劃開始運行。此時外層執(zhí)行步的狀態(tài)機在任務(wù)協(xié)調(diào)器內(nèi)同步運行,并不斷查詢運動任務(wù)單元的狀態(tài),直至運動任務(wù)單元轉(zhuǎn)變?yōu)椤敖Y(jié)束”狀態(tài)為止。

      圖5給出了上述任務(wù)單元在控制系統(tǒng)內(nèi)的被傳遞和執(zhí)行過程中自身狀態(tài)所發(fā)生的轉(zhuǎn)變,同時可以看出它們的管理對象也發(fā)生了變化。首先,嵌套任務(wù)單元由任務(wù)生成器譯碼得到,任務(wù)協(xié)調(diào)器調(diào)用外層執(zhí)行步任務(wù)單元的executeUnit()方法激活其有限狀態(tài)機進行一系列更新操作,執(zhí)行步由“未初始化”轉(zhuǎn)變?yōu)椤耙殉跏蓟睜顟B(tài),同時完成動作initiationAction(),把內(nèi)嵌的運動任務(wù)單元發(fā)送到軸組的運動隊列中。軸組調(diào)用運動任務(wù)單元的executeUnit()方法,使運動任務(wù)單元在軸組內(nèi)被激活,周期性刷新,依次處理“初始化”、“執(zhí)行”事件,完成動作“runningAction()”進行插補計算直至插補結(jié)束。在此過程中,位于上層任務(wù)協(xié)調(diào)器中的執(zhí)行步進入“運行”狀態(tài),它也通過自身的“runningAction()”動作不斷查詢其內(nèi)嵌運動任務(wù)單元是否為“結(jié)束”狀態(tài)。當(dāng)運動任務(wù)單元結(jié)束時,軸組將其從運動隊列中刪除;任務(wù)協(xié)調(diào)器中的執(zhí)行步繼續(xù)監(jiān)控它所包含的下一任務(wù)單元或者將控制權(quán)移交給下一個執(zhí)行步。圖中兩側(cè)所示為執(zhí)行步任務(wù)單元與運動任務(wù)單元在不同時刻所對應(yīng)的管理對象。

     
    圖5嵌套任務(wù)單元在系統(tǒng)內(nèi)的執(zhí)行過程

      通過上面的例子可以看出,利用有限狀態(tài)機,任務(wù)單元通過在其內(nèi)部封裝一系列狀態(tài)變化,進而實現(xiàn)了系統(tǒng)預(yù)期完成的操作和功能;更重要的是,任務(wù)單元的嵌套結(jié)構(gòu)設(shè)計就象是一棵樹上的主干和分支,實現(xiàn)了信息在系統(tǒng)內(nèi)的有序流動和傳遞,而且這種嵌套設(shè)計使任務(wù)單元具有智能特征,具備了協(xié)調(diào)下層運動模塊和邏輯控制模塊的能力。

    4 實驗驗證

      筆者開發(fā)的開放式數(shù)控系統(tǒng)其組成如前所述,配備于一臺三軸銑床上。為了驗證任務(wù)單元的設(shè)計是否實現(xiàn)了控制信息的有效表達與傳遞,進行了下面實驗。

      (1)直線、圓弧運動任務(wù)單元的驗證:我們所開發(fā)的系統(tǒng)最初只具有直線、圓弧加工能力,因此利用該三軸銑床進行了圖6所示的鼠標殼體的加工。實驗表明包含F(xiàn)SM的嵌套式任務(wù)單元設(shè)計合理,控制信息在模塊間傳遞無誤,數(shù)控系統(tǒng)具有實用性,整體性能良好。

     

      (2)運動任務(wù)單元的派生——擴充NURBS曲線加工能力:系統(tǒng)功能擴充的途徑之一就是派生新的運動任務(wù)單元,創(chuàng)建滿足特定加工能力的子類。為了在常規(guī)插補的基礎(chǔ)上擴充NURBS插補,從運動任務(wù)單元來派生CNurbsSegment運動任務(wù)單元,其封裝實現(xiàn)了NURBS曲線插補功能。CNurbsSegment運動任務(wù)單元仍然采用執(zhí)行步任務(wù)單元嵌套管理方式,最終系統(tǒng)具有了NURBS曲線加工能力。圖7就是利用NURBS曲線插補功能所加工的電鉆殼體模具。CNurbsSegment運動任務(wù)單元部分代碼如下

     

      正是由于采用了嵌套式任務(wù)單元的設(shè)計,系統(tǒng)功能擴充過程中只需對任務(wù)生成器和任務(wù)協(xié)調(diào)器進行代碼的添加,而不用修改構(gòu)成系統(tǒng)的其它部分,模塊的可重用性大大增強。

    5 結(jié)語

      本文提出了一種采用FSM數(shù)據(jù)形式封裝控制信息,并以嵌套結(jié)構(gòu)形式使其在數(shù)控系統(tǒng)各模塊中智能化地傳遞的方法。實驗證明,該方法不僅保證了模塊間信息的有序傳遞和模塊問的相互協(xié)作,而且系統(tǒng)功能擴展能力易于實現(xiàn),模塊的可重用性大大增強。

    (審核編輯: 智匯張瑜)

    聲明:除特別說明之外,新聞內(nèi)容及圖片均來自網(wǎng)絡(luò)及各大主流媒體。版權(quán)歸原作者所有。如認為內(nèi)容侵權(quán),請聯(lián)系我們刪除。