免费色播,亚洲国产欧美国产第一区二区三区,毛片看,日本精品在线观看视频,国产成人精品一区二区免费视频,日本黄色免费网站,一级毛片免费

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

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

點(diǎn)擊:1391

A+ A-

所屬頻道:新聞中心

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

      本文在對上海電氣中央研究院三軸銑削數(shù)控系統(tǒng)需求分析的基礎(chǔ)上,結(jié)合固高運(yùn)動(dòng)控制器GE-300SV的功能實(shí)現(xiàn),提出了一種適用NC嵌入PLC型的開放式數(shù)控軟件系統(tǒng)框架模型。采用統(tǒng)一建模語言UML來描述系統(tǒng)的功能需求、總體設(shè)計(jì)、模塊設(shè)計(jì)等,并建立了各種功能視圖,有效地對開放式數(shù)控軟件系統(tǒng)進(jìn)行了建模,并通過面向?qū)ο缶幊陶Z言VC++實(shí)現(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ā)起并實(shí)現(xiàn)的標(biāo)準(zhǔn)建模語言。CTML建模采用的是一種圖形表示法,它定義了建模語言的文法,并通過元模型對語言中的基本概念、術(shù)語和表示方法給出了統(tǒng)一的較為嚴(yán)格的定義和說明以及這些概念的準(zhǔn)確含義,充分體現(xiàn)了面向?qū)ο蠹夹g(shù)的封裝、繼承與多態(tài)等特點(diǎn)。UML在融入軟件工程領(lǐng)域的面向?qū)ο蠹夹g(shù)的基礎(chǔ)上,不僅支持面向?qū)ο蟮姆治雠c設(shè)計(jì),而且還支持從需求分析開始的軟件開發(fā)的全部過程。UML利用可視化的框圖來描述系統(tǒng)的功能實(shí)現(xiàn),為開發(fā)者提供了從不同角度去觀察和展示系統(tǒng)各種功能和行為特征的有效方法。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      ①操作者通過人機(jī)界面選擇進(jìn)入自動(dòng)方式子界面。

     ?、诓僮髡哌x擇程序管理功能項(xiàng)進(jìn)入程序管理子界面。

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

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

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

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

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

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

      2.3 系統(tǒng)順序圖

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    4 結(jié)語

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

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

    (審核編輯: 智匯張瑜)

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