最新精品久久,欧美亚洲福利,表妹免费在线观看,久久国产二区,国产三级电影网站,日本特黄久久,成人a在线视频免费观看

基于UML的一種開放式數(shù)控軟件系統(tǒng)建模與界面實現(xiàn)研究

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

點擊:1467

A+ A-

所屬頻道:新聞中心

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

      本文在對上海電氣中央研究院三軸銑削數(shù)控系統(tǒng)需求分析的基礎(chǔ)上,結(jié)合固高運動控制器GE-300SV的功能實現(xiàn),提出了一種適用NC嵌入PLC型的開放式數(shù)控軟件系統(tǒng)框架模型。采用統(tǒng)一建模語言UML來描述系統(tǒng)的功能需求、總體設(shè)計、模塊設(shè)計等,并建立了各種功能視圖,有效地對開放式數(shù)控軟件系統(tǒng)進行了建模,并通過面向?qū)ο缶幊陶Z言VC++實現(xiàn)了該系統(tǒng)的接口界面。

    1 基于UML的建模方法及其在開放式數(shù)控軟件系統(tǒng)開發(fā)中的應(yīng)用優(yōu)勢

      1.1 基于UML的建模方法

      面向?qū)ο蠹夹g(shù)是軟件工程領(lǐng)域的重要技術(shù)。UML是由美國Ratianal公司的三位軟件工程師發(fā)起并實現(xiàn)的標(biāo)準建模語言。CTML建模采用的是一種圖形表示法,它定義了建模語言的文法,并通過元模型對語言中的基本概念、術(shù)語和表示方法給出了統(tǒng)一的較為嚴格的定義和說明以及這些概念的準確含義,充分體現(xiàn)了面向?qū)ο蠹夹g(shù)的封裝、繼承與多態(tài)等特點。UML在融入軟件工程領(lǐng)域的面向?qū)ο蠹夹g(shù)的基礎(chǔ)上,不僅支持面向?qū)ο蟮姆治雠c設(shè)計,而且還支持從需求分析開始的軟件開發(fā)的全部過程。UML利用可視化的框圖來描述系統(tǒng)的功能實現(xiàn),為開發(fā)者提供了從不同角度去觀察和展示系統(tǒng)各種功能和行為特征的有效方法。

      基于UML的建模方法就是在需求分析的基礎(chǔ)上提取出未來系統(tǒng)中的實體對象,使用UML的狀態(tài)視圖來描述每個實體對象的狀態(tài)變化及其相關(guān)事件;建立實體對象及其相關(guān)事件的動態(tài)時序視圖,用以描述實體對象間的消息傳遞。通過狀態(tài)視圖可以明確系統(tǒng)功能對象的具體活動、行為條件等,而順序視圖則表現(xiàn)了消息傳遞的時序性。兩者結(jié)合可以有效建立系統(tǒng)實現(xiàn)的類圖及其交互關(guān)系,提高了系統(tǒng)實現(xiàn)的透明度和可靠性。

      1.2 UML在開放式數(shù)控軟件系統(tǒng)開發(fā)中的優(yōu)勢

      由于開放式數(shù)控軟件系統(tǒng)的開發(fā)涉及到系統(tǒng)硬件功能的實現(xiàn),包括譯碼、插補、位置和軌跡控制、線程間通信及I/O狀態(tài)監(jiān)控等功能,因此,需要明確系統(tǒng)的各功能對象的具體行為和交互關(guān)系。UML所提供的模型管理視圖可以有效地將上述功能進行可視化模型描述。通過模型管理機制,開發(fā)者可以將各個模型元素合理地分配到各個不同層次的包,從而對系統(tǒng)中各功能對象間的關(guān)系在不同層面上進行全面描述,有效地提高了系統(tǒng)設(shè)計的可讀性和可維護性。UML的這種面向?qū)ο蟮膶哟位?、模塊化建模機制非常適合于開放式數(shù)控軟件系統(tǒng)的開發(fā),一方面通過層次化、模塊化建??梢员WC軟件系統(tǒng)的開放性;另一方面UML可以將系統(tǒng)中的各個功能對象用可視化的框圖加以描述,增強了系統(tǒng)功能的透明度,有利干提高系統(tǒng)開發(fā)的質(zhì)量和效率。

      另外,UML的支持工具Ifatinnal Pose軟件為IJIVIL的實現(xiàn)提供了強大的集成操作環(huán)境,同樣為開放式數(shù)控軟件系統(tǒng)的開發(fā)提供了高效可靠的實現(xiàn)手段。

    2 利用UML對NC嵌入PC型開放式數(shù)控軟件系統(tǒng)進行分析與建模

      2.1 系統(tǒng)需求分析

      系統(tǒng)需求分析就是要對開放式數(shù)控軟件系統(tǒng)的功能模塊和結(jié)構(gòu)模型進行分析,從系統(tǒng)參與者的角度,明確系統(tǒng)所能提供的具體功能。對于開放式數(shù)控軟件系統(tǒng)而言,系統(tǒng)參與者代表了與系統(tǒng)有接口行為的人或事物,是代表某一特定功能的角色。參與者是虛擬的概念,可以是軟件的使用者機床操作者),也可以是外部系統(tǒng)或設(shè)備(I/O接口)。

      圍繞上海電氣中央研究院對開放式三軸銑削加工數(shù)控系統(tǒng)研發(fā)的目標(biāo),對其數(shù)控軟件系統(tǒng)進行了詳細的功能需求分析。

      (1)該系統(tǒng)是基于固高運動控制器的NC嵌入PC型開放式數(shù)控系統(tǒng),必須保證軟件系統(tǒng)的模塊化和開放性。

      (2)創(chuàng)該系統(tǒng)能夠?qū)崿F(xiàn)自動程序加工方式和MDI加工方式,并在人機界面上顯示相關(guān)的加工位置信息、速度信息、刀具信息、進給信息、加工時間、報警信息及I/O狀態(tài)信息。

      (3)該系統(tǒng)能夠?qū)崿F(xiàn)JOG運動控制方式、連續(xù)運動控制和手輪控制運動方式等。

      (4)用戶可以通過該系統(tǒng)控制機床實現(xiàn)基本的直線/圓弧插補功能,并保證機床運行可靠和穩(wěn)定。

      (5)必須提供機床操作者一個操作簡便、響應(yīng)適中且人性化的人機接口界面。

      (6)應(yīng)該具有程序管理功能,如:程序修改、刪除以及新程序建立并存儲等功能。

      (7)應(yīng)具有參數(shù)管理和配置功能,如:系統(tǒng)參數(shù)配置、刀具參數(shù)設(shè)置,坐標(biāo)系參數(shù)設(shè)置等功能。

      (8)必須具有功能可擴展、可重構(gòu)等特點。

      (9)必須具有完全的自主知識產(chǎn)權(quán)。

      根據(jù)以上對系統(tǒng)的功能需求分析,采用固高公司國產(chǎn)運動控制器,提出并設(shè)計了該數(shù)控軟件系統(tǒng)的總體框架模型,如圖1所示。

      該開放式數(shù)控軟件系統(tǒng)主要完成人機交互和譯碼功能,由嵌入式運動控制器(GE-300SV)完成插補和位置軌跡控制功能。系統(tǒng)人機界面主要完成系統(tǒng)運行的數(shù)據(jù)顯示、加工運行狀態(tài)顯示、I/O狀態(tài)監(jiān)控和報警功能。機床操作者通過人機界面對系統(tǒng)進行操作控制,系統(tǒng)維護員可以通過人機界面進行系統(tǒng)參數(shù)維護。系統(tǒng)的譯碼線程是一個虛擬對象,主要完成對NC程序的譯碼工作。通過UML的用例視圖圖2可以清楚地描述上述系統(tǒng)框架模型和系統(tǒng)的具體功能需求。系統(tǒng)用例圖描述了不同參與者的具體行為及其流。程。例如:機床操作者通過人機交互用例可以實現(xiàn)對系統(tǒng)的運行操作、參數(shù)設(shè)置操作和程序管理操作等3個子功能行為。同樣,機床操作者通過系統(tǒng)運行操作用例可以實現(xiàn)諸如自動加工方式、連續(xù)運動方式等多種方式的加工用例行為,從而為開發(fā)者清楚地描述了所需要實現(xiàn)的功能類型和實現(xiàn)路徑及其相關(guān)對象。

      2.2 系統(tǒng)用例描述

      用例圖中的每個用例都是從用戶的角度來描述的系統(tǒng)的具體功能,都代表了使用系統(tǒng)的不同方式并完成產(chǎn)生不同的結(jié)果。為了能夠描述用例的具體行為,每一個用例可以再進行詳細的用例事件行為)說明。下面僅以人機交互用例的一個具體用例事件自動方式運行加工操作來說明其功能行為及流程。首先,對該用例做一個簡要描述:

      (1)該用例實現(xiàn)的前提條件。系統(tǒng)已經(jīng)正常啟動并使該用例處于可執(zhí)行狀態(tài)。

      (2)該用例的事件流程為:

     ?、俨僮髡咄ㄟ^人機界面選擇進入自動方式子界面。

     ?、诓僮髡哌x擇程序管理功能項進入程序管理子界面。

     ?、鄄僮髡哌x擇相應(yīng)程序后返回自動程序運行子界面。

     ?、懿僮髡吒鶕?jù)系統(tǒng)提示進行下一步操作。

     ?、菹到y(tǒng)顯示各種數(shù)據(jù)及程序運行狀態(tài)信息。

     ?、拊摮绦蛘_\行完畢,系統(tǒng)提示操作者執(zhí)行下一步。

     ?、呦到y(tǒng)恢復(fù)初始狀態(tài),該用例結(jié)束。

      對應(yīng)于該用例事件的UML活動可用圖3來表示。

      2.3 系統(tǒng)順序圖

      系統(tǒng)順序圖描述了參與者與系統(tǒng)之間的交互事件、事件發(fā)生的順序以及系統(tǒng)對象之間消息傳遞的時序,展示了機床操作者與系統(tǒng)之間的交互行為和流程。通過對系統(tǒng)用例的分析,可以將整個系統(tǒng)分解到不同的子運行場景,從不同的角度分析和評價系統(tǒng)框架模型的合理性。子運行場景是指用UMLL的順序圖描述的具體用例事件的發(fā)生流程和對象間消息傳遞的時序。消息的類型及其傳遞的順序是系統(tǒng)順序圖描述的核心,建立順序圖的前提就是利用UML的模型單元分組機制將系統(tǒng)按功能對象進行分解。

      本系統(tǒng)的功能對象主要分布在3個不同的線程中,分別是系統(tǒng)主線程、NC程序解析線程和固高板塊接口線程。將功能對象與具體用例事件在3個主要線程中的實現(xiàn)用系統(tǒng)順序圖進行描述可以有效表達功能對象間消息的交互,從而提高系統(tǒng)開發(fā)的可操作性。整個系統(tǒng)的功能對象之間的消息交互可以由自動方式執(zhí)行順序圖、MDI方式執(zhí)行順序圖、點動方式運動控制順序圖和連動方式運動控制順序圖等8個系統(tǒng)順序圖進行描述。限于篇幅,現(xiàn)僅以自動方式執(zhí)行用例事件來建立自動方式執(zhí)行順序圖圖4,以便與自動方式用例活動圖相對應(yīng)來說明在自動方式下機床操作者與系統(tǒng)之間的交互以及系統(tǒng)對象間的消息傳遞情況。系統(tǒng)功能對象以分析類的形式出現(xiàn),是對系統(tǒng)模型中問題域事物的描述,不同于軟件設(shè)計中的類。

      2.4 系統(tǒng)設(shè)計類圖

      系統(tǒng)類圖是系統(tǒng)設(shè)計階段關(guān)鍵一環(huán),是實現(xiàn)用例的邏輯解決方案。將整個系統(tǒng)作為功能對象的集合,借助UML包的概念,將系統(tǒng)功能對象進行分類別、分層次描述,從而形成包圖。包是類對象組,可以進一步對包中的類進行類屬性和類方法的識別,并最終得到完整的系統(tǒng)類圖,為下一階段的系統(tǒng)實現(xiàn)提供保障。

      通過將分析類轉(zhuǎn)化為系統(tǒng)實現(xiàn)過程中所需的設(shè)計類,可以得到系統(tǒng)的設(shè)計類圖。仍以自動方式下程序運行操作用例為例,得到實現(xiàn)該用例所需要的設(shè)計類圖5。該設(shè)計類圖中的類主要完成人機界面交互操作、NC程序解析處理、NC程序譯碼結(jié)果存儲寫固高控制器緩沖區(qū))處理,I/O狀態(tài)變量讀取與顯示操作和加工信息界面顯示處理功能。其中,CNuinCnntrnLApp是主線程類,由CNumContmlDlg類實現(xiàn)并完成界面操作及其信息顯示功能;NCfaode類是Nf;程序解析類,通過CNumCanntrnlDlg類提供的界面操作進行程序的自動解析及運行處理。在處理過程中調(diào)用I/O處理線程的處理結(jié)果,并通知CNumCnntrnlDlg類進行顯示處理。

    3 系統(tǒng)界面實現(xiàn)

      根據(jù)所設(shè)計的系統(tǒng)框架模型和UML分析所得到的系統(tǒng)設(shè)計類,利用UML支持工具Rational Rose生成了軟件系統(tǒng)的主要框架C++語言代碼。選用VC++面向?qū)ο缶幊坦ぞ哌M行了具體的界面實現(xiàn)。

      首先,根據(jù)系統(tǒng)設(shè)計類圖的描述進行CNnmContmlDlg類的實現(xiàn)。該類是系統(tǒng)功能實現(xiàn)的主類,在實

      現(xiàn)過程中,可以調(diào)用譯碼線程進行NC程序解析,并通過譯碼線程調(diào)用I/O接口線程完成對I/O狀態(tài)的監(jiān)控,然后實現(xiàn)與其有直接依賴關(guān)系的6個子類。在具體實現(xiàn)CCNCaProGTProg類時,必須限制固高控制器硬件緩沖區(qū)的最大容量,否則容易產(chǎn)生運行異常。譯碼線程的實現(xiàn)主要依靠CSourceCde類、ProgrameLine。類和CNCFile類等5個系統(tǒng)設(shè)計類。

      CNumfanntrnlDlg類所實現(xiàn)的主界面如圖6所示,同時系統(tǒng)的初始狀態(tài)配置為系統(tǒng)回零狀態(tài)。在主界面上有兩類功能按鈕,一類是位于界面底端的主功能按鈕,操作者可以通過主功能操作按鈕進行相應(yīng)的程序加工、程序管理、參數(shù)配置等操作;另一類是側(cè)面豎排的子功能按鈕,操作者必須在選擇了主功能后才能進行相應(yīng)的子功能操作。為了提高人機交互的效率,NC程序運行狀態(tài)、位置信息、加工工藝信息和報警信息均按類別分區(qū)顯示在主界面上,這有利于操作者在加工過程中準確做出響應(yīng)。

      系統(tǒng)的程序加工主功能按鈕是操作者控制機床進行加工的主要操作按鈕。它的子功能按鈕是按照加工方式實現(xiàn)的,主要包括點動加工方式、連續(xù)運動方式、手輪方式、MDI方式和自動加工方式等。每一個子功能按鈕均對應(yīng)主界面的相應(yīng)顯示項,如點動方式界面見圖7。

      系統(tǒng)的程序管理主功能按鈕是對系統(tǒng)程序管理類的實現(xiàn),主要負責(zé)程序編輯、刪除、創(chuàng)建及存儲等工作,如圖8。

      操作者通過程序管理子功能按鈕實現(xiàn)具體的程序管理工作,如:創(chuàng)建一個新程序,操作者僅需要選擇“新程序”子功能按鈕,同時在出現(xiàn)的新對話框中輸入所要創(chuàng)建的程序的名字,就可以方便地在系統(tǒng)程序管理主界面建立該程序,然后雙擊該程序名便可進入程序編輯界面進行NC程序輸入和編輯。在程序創(chuàng)建完畢后進行保存操作。

      系統(tǒng)的參數(shù)配置主功能包括刀具參數(shù)設(shè)置圖9和系統(tǒng)參數(shù)配置圖10,主要完成NC程序加工前的刀具半徑補償、零點偏置、用戶參數(shù)設(shè)置以及與系統(tǒng)有關(guān)的伺服功能參數(shù)、主軸參數(shù)和I/O信息的配置。

    4 結(jié)語

      本文針對具體的開放式數(shù)控軟件系統(tǒng)進行了功能需求分析,設(shè)計了一種適用于NC嵌入PC型的開放式數(shù)控軟件系統(tǒng)框架模型,該模型為該開放式數(shù)控軟件系統(tǒng)的開發(fā)提供了功能框架和實現(xiàn)機制。

      利用統(tǒng)一建模語言UML及Ratinnal Rose工具為具體系統(tǒng)建立了各種靜態(tài)和動態(tài)視圖,描述了系統(tǒng)的功能需求、實現(xiàn)流程、設(shè)計類圖及其交互關(guān)系,完成了系統(tǒng)框架模型的需求分析、總體設(shè)計、模塊設(shè)計和詳細設(shè)計。有效地降低了數(shù)控軟件系統(tǒng)開發(fā)的復(fù)雜性和設(shè)計人員之間對系統(tǒng)理解的偏差,提高了該數(shù)控軟件系統(tǒng)設(shè)計的一致性、完整性和系統(tǒng)開發(fā)的質(zhì)量和效率。

    (審核編輯: 智匯張瑜)

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