• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      面向活動(dòng)對(duì)象的可重構(gòu)數(shù)控系統(tǒng)軟件設(shè)計(jì)

      2013-07-25 04:02:20朱華炳羅祖平董伯麟王治森
      中國(guó)機(jī)械工程 2013年6期
      關(guān)鍵詞:狀態(tài)圖狀態(tài)機(jī)投遞

      朱華炳 羅祖平 董伯麟 王治森

      合肥工業(yè)大學(xué),合肥,230009

      0 引言

      數(shù)控系統(tǒng)是現(xiàn)代制造裝備的核心??芍貥?gòu)數(shù)控系統(tǒng)具有在一定范圍內(nèi)迅速調(diào)整其結(jié)構(gòu)和功能的能力,能夠快速適應(yīng)市場(chǎng)的迅猛變化和系統(tǒng)自身的改變,從20世紀(jì)90年代開始已成為數(shù)控技術(shù)研究的一個(gè)熱點(diǎn)[1-2]。!

      數(shù)控系統(tǒng)的重構(gòu)包括硬件可重構(gòu)和軟件可重構(gòu)。目前對(duì)數(shù)控系統(tǒng)軟件可重構(gòu)的研究主要有:①將數(shù)控軟件的功能封裝并抽象成標(biāo)準(zhǔn)“軟件芯片”,以“軟件芯片”庫(kù)為基礎(chǔ),通過(guò)庫(kù)中的“軟件芯片”組合實(shí)現(xiàn)系統(tǒng)可重構(gòu)[3];②以開放式體系結(jié)構(gòu)為基礎(chǔ),將功能模塊設(shè)計(jì)成標(biāo)準(zhǔn)組件,組件通過(guò)標(biāo)準(zhǔn)接口通信實(shí)現(xiàn)系統(tǒng)的可重構(gòu)[4];③以標(biāo)準(zhǔn)總線為基礎(chǔ),通過(guò)總線的易擴(kuò)展性實(shí)現(xiàn)系統(tǒng)的可重構(gòu)[5-6]。

      以上研究的特點(diǎn)是,采用將功能和數(shù)據(jù)封裝成一個(gè)對(duì)象,通過(guò)對(duì)象的復(fù)用實(shí)現(xiàn)系統(tǒng)的重構(gòu)。但是這些對(duì)象均為被動(dòng)對(duì)象,每次重構(gòu)都需要設(shè)計(jì)所有對(duì)象的調(diào)用才能運(yùn)行。數(shù)控系統(tǒng)是個(gè)行為復(fù)雜的系統(tǒng),當(dāng)對(duì)象的數(shù)目增多時(shí),調(diào)用方法和順序?qū)?huì)變得十分復(fù)雜,從而導(dǎo)致數(shù)控系統(tǒng)的重構(gòu)變得繁瑣和低效。

      本文提出面向活動(dòng)對(duì)象的可重構(gòu)數(shù)控系統(tǒng)軟件設(shè)計(jì)。活動(dòng)對(duì)象之間無(wú)需設(shè)計(jì)相互的調(diào)用。通過(guò)“訂閱”外部事件,以事件驅(qū)動(dòng)其執(zhí)行。通過(guò)“出版”事件,以事件同外部進(jìn)行通信。在該模式下,活動(dòng)對(duì)象耦合性小、可復(fù)用程度高,系統(tǒng)集成簡(jiǎn)單、重構(gòu)能力強(qiáng)。

      1 面向活動(dòng)對(duì)象的設(shè)計(jì)

      活動(dòng)對(duì)象(active object)是“一個(gè)擁有其自己的控制線程的對(duì)象”[7],它不被外部的對(duì)象所調(diào)用,通過(guò)異步事件交換的方式同其他活動(dòng)對(duì)象通信,以RTC(run-to-completion)的方式執(zhí)行事件處理。圖1所示是一個(gè)活動(dòng)對(duì)象,它包含一個(gè)控制線程(事件循環(huán))、一個(gè)事件隊(duì)列和一個(gè)狀態(tài)機(jī),即“活動(dòng)對(duì)象=(控制線程+事件隊(duì)列+狀態(tài)機(jī))”[8]。

      1.1 活動(dòng)對(duì)象RTC事件處理

      圖1 活動(dòng)對(duì)象及其事件循環(huán)

      在圖1右側(cè)顯示了事件循環(huán)的流程。queue.get()從事件隊(duì)列中取出事件,通過(guò)dispatch()派送到狀態(tài)機(jī)進(jìn)行處理。在處理完成后返回queue.get(),并從事件隊(duì)列中取出下一個(gè)事件,重復(fù)上面的過(guò)程,如此循環(huán)。事件循環(huán)保證了每個(gè)活動(dòng)對(duì)象處理事件的RTC形式。RTC形式固有地排除了內(nèi)部并發(fā)問(wèn)題,在第二個(gè)事件被處理前,dispatch()操作必須完成并且返回到事件循環(huán)。這里的RTC指的是單個(gè)活動(dòng)對(duì)象內(nèi)部的事件處理。在優(yōu)先級(jí)搶占的多任務(wù)系統(tǒng)中,當(dāng)高優(yōu)先級(jí)的活動(dòng)對(duì)象有事件需要處理時(shí),低優(yōu)先級(jí)的活動(dòng)對(duì)象會(huì)被掛起,將CPU的控制權(quán)讓給高優(yōu)先級(jí)的對(duì)象。在高優(yōu)先級(jí)的活動(dòng)對(duì)象處理完后,CPU控制權(quán)重新歸還當(dāng)前懸掛對(duì)象,使其繼續(xù)執(zhí)行。

      RTC形式可以進(jìn)行有效堵塞。當(dāng)事件隊(duì)列為空時(shí),活動(dòng)對(duì)象會(huì)堵塞在queue.get()上(此時(shí)不占有CPU),直到有新事件出現(xiàn),才會(huì)繼續(xù)執(zhí)行,從而提高了CPU的利用率。

      1.2 活動(dòng)對(duì)象異步事件交換

      活動(dòng)對(duì)象與其他對(duì)等實(shí)體的事件交換采用異步方式。每個(gè)活動(dòng)對(duì)象擁有一個(gè)自己的事件隊(duì)列,所有的事件異步地投遞到事件隊(duì)列中,活動(dòng)對(duì)象通過(guò)事件隊(duì)列唯一地接收事件。一方面,當(dāng)活動(dòng)對(duì)象在忙碌時(shí),可以自動(dòng)地對(duì)輸入事件進(jìn)行排隊(duì)。另一方面,事件生產(chǎn)者僅需將事件投遞到活動(dòng)對(duì)象的事件隊(duì)列中,而不必一直等待其處理完成。除此,活動(dòng)對(duì)象可以不區(qū)分事件來(lái)源地接收事件并統(tǒng)一處理。事件可以是其他活動(dòng)對(duì)象產(chǎn)生,也可以是中斷產(chǎn)生,還可以是自身產(chǎn)生。

      1.3 活動(dòng)對(duì)象的狀態(tài)機(jī)行為規(guī)劃

      數(shù)控系統(tǒng)根據(jù)輸入的信息(如數(shù)控程序、操作面板的輸入、傳感器的反饋信息)控制機(jī)床移動(dòng),實(shí)現(xiàn)加工操作(如軸運(yùn)動(dòng)、換刀、停止機(jī)床等),屬于典型的反應(yīng)式系統(tǒng)[9]。反應(yīng)式系統(tǒng)(reactive system)是一個(gè)對(duì)外部和內(nèi)部刺激做出響應(yīng)的事件驅(qū)動(dòng)系統(tǒng)(event-driven system)。在確定性的反應(yīng)式系統(tǒng)中,系統(tǒng)輸入的順序和數(shù)值決定了系統(tǒng)的響應(yīng)順序和數(shù)值[10]。因此,需要專門的方法來(lái)描述系統(tǒng)的行為。狀態(tài)機(jī)(state machines)是說(shuō)明和實(shí)施事件驅(qū)動(dòng)系統(tǒng)最有名的形式,先進(jìn)的UML狀態(tài)機(jī)代表著狀態(tài)機(jī)理論和表示法的當(dāng)前藝術(shù)狀態(tài)[8]。本文以UML狀態(tài)機(jī)(Statecharts,也稱狀態(tài)圖)來(lái)表示并規(guī)劃活動(dòng)對(duì)象的行為。

      圖2所示是一個(gè)簡(jiǎn)單的狀態(tài)圖,圖中包含A、B、C、D 4個(gè)狀態(tài),處于某一狀態(tài)意味著系統(tǒng)只響應(yīng)所有允許輸入的一個(gè)子集(如處于D狀態(tài)只響應(yīng)a輸入和c輸入),只產(chǎn)生可能響應(yīng)的一個(gè)子集(轉(zhuǎn)移到A狀態(tài)或轉(zhuǎn)移到B狀態(tài)),并且改變狀態(tài)也只是可能狀態(tài)的一個(gè)子集(對(duì)于輸入事件除了可以發(fā)生狀態(tài)改變還可以有其他的輸出)。C狀態(tài)是一個(gè)父狀態(tài),包含A和B兩個(gè)子狀態(tài),子狀態(tài)可以繼承父狀態(tài)的響應(yīng)(如在A狀態(tài)遇到d輸入會(huì)轉(zhuǎn)移到D狀態(tài))。Statecharts相關(guān)信息及優(yōu)點(diǎn)請(qǐng)參考文獻(xiàn)[7,11]。

      圖2 一個(gè)簡(jiǎn)單的Statecharts

      1.4 活動(dòng)對(duì)象“出版-訂閱”事件投遞

      面向活動(dòng)對(duì)象的設(shè)計(jì)將應(yīng)用分解成若干功能專一的活動(dòng)對(duì)象,它們通過(guò)異步事件交換進(jìn)行通信。因此,如何將事件投遞到目標(biāo)對(duì)象至關(guān)重要。

      最簡(jiǎn)單的方法是活動(dòng)對(duì)象彼此直接發(fā)送事件。然而,它們要求活動(dòng)對(duì)象密切“知道”彼此。不僅需要擁有一個(gè)指向?qū)?yīng)實(shí)體對(duì)象的指針或引用,而且還必須知道對(duì)方可能感興趣的事件類型。這種密切的“知識(shí)”存在于所有參與的活動(dòng)對(duì)象之間,使得系統(tǒng)難以改變和擴(kuò)展。例如,加入一個(gè)新的活動(dòng)對(duì)象是困難的,因?yàn)橐呀?jīng)存在的活動(dòng)對(duì)象不了解新來(lái)的對(duì)象,并且不會(huì)向其發(fā)送事件。

      觀察者(OBSERVER)模式(又稱出版-訂閱(publish-subscribe)模式)定義了一種一對(duì)多的依賴關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并被自動(dòng)更新。中介者(MEDIATOR)模式用一個(gè)中介對(duì)象來(lái)封裝一系列的對(duì)象交互。中介者使各對(duì)象不需要顯式地相互引用,從而使其耦合松散,而且可以獨(dú)立地改變它們之間的交互。

      圖3所示的“出版-訂閱”框架結(jié)合了觀察者和中介者兩種設(shè)計(jì)模式。“出版社”是一個(gè)觀察者,同時(shí)又是一個(gè)中介者,活動(dòng)對(duì)象是觀察者。活動(dòng)對(duì)象從“出版社”訂閱自己感興趣的事件,并將自己要出版的事件投遞到“出版社”。“出版社”收到事件后按照訂閱列表一一投遞給所有的訂閱者(活動(dòng)對(duì)象)?!俺霭嫔纭背私邮栈顒?dòng)對(duì)象投遞的事件外,同時(shí)還接收中斷投遞的事件。

      圖3 “出版-訂閱”框架

      在這種方式下,所有事件被公眾所知,活動(dòng)對(duì)象無(wú)需相互“知道”,只向“出版社”“訂閱”自己想要的事件。系統(tǒng)內(nèi)部活動(dòng)對(duì)象之間具有松的耦合性。一個(gè)活動(dòng)對(duì)象可以不用知道其他活動(dòng)對(duì)象是如何運(yùn)行的,而只需知道系統(tǒng)中具有哪些事件,根據(jù)這些事件,自己該如何運(yùn)行。一個(gè)活動(dòng)對(duì)象的行為邏輯發(fā)生了改變,不會(huì)影響到其他活動(dòng)對(duì)象的運(yùn)行。一個(gè)新活動(dòng)對(duì)象的加入可以很好地融入系統(tǒng),又不影響系統(tǒng)其他部分的運(yùn)行。

      2 活動(dòng)對(duì)象的實(shí)現(xiàn)

      圖4所示為活動(dòng)對(duì)象的實(shí)現(xiàn)類圖。活動(dòng)對(duì)象繼承基類CActive,CActive聯(lián)合了3個(gè)基本要素:狀態(tài)機(jī)(來(lái)自CHsm類)、事件隊(duì)列和執(zhí)行線程。

      圖4 活動(dòng)對(duì)象類圖

      2.1 執(zhí)行線程的實(shí)現(xiàn)

      執(zhí)行線程具有平臺(tái)依賴性,不同的操作系統(tǒng)具有不同的執(zhí)行方式。圖5所示為創(chuàng)建及執(zhí)行線程的偽代碼。首先在CActive::Start()內(nèi)創(chuàng)建好事件隊(duì)列及執(zhí)行線程,在CActive::run()內(nèi)通過(guò)for(;;)循環(huán)從事件隊(duì)列中獲取事件,并將其投遞到狀態(tài)機(jī)進(jìn)行處理。

      2.2 事件隊(duì)列的實(shí)現(xiàn)

      很多實(shí)時(shí)操作系統(tǒng)天生具有自己的消息隊(duì)列(有時(shí)稱為郵箱或消息郵箱),此時(shí)可以將消息隊(duì)列映射成所需要的事件隊(duì)列,從而實(shí)現(xiàn)對(duì)事件的排隊(duì)和堵塞。對(duì)于不具備消息隊(duì)列的操作系統(tǒng),需要設(shè)計(jì)自己的事件隊(duì)列來(lái)處理事件排隊(duì)、回收、堵塞等機(jī)制。事件隊(duì)列的實(shí)現(xiàn)可參考文獻(xiàn)[8]。

      圖5 活動(dòng)對(duì)象的執(zhí)行線程

      2.3 狀態(tài)機(jī)的實(shí)現(xiàn)

      活動(dòng)對(duì)象的狀態(tài)機(jī)是通過(guò)繼承CHsm類實(shí)現(xiàn)的。CHsm類是一個(gè)能夠處理層次狀態(tài)轉(zhuǎn)移的狀態(tài)機(jī)抽象類,它封裝了狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)移機(jī)制等。通過(guò)這種方式,活動(dòng)對(duì)象對(duì)狀態(tài)機(jī)的實(shí)現(xiàn)只需編寫所有狀態(tài)的狀態(tài)處理函數(shù)。圖6所示為一段事件處理代碼,在狀態(tài)處理函數(shù)內(nèi),根據(jù)事件類型進(jìn)行狀態(tài)轉(zhuǎn)移或進(jìn)行相應(yīng)的事件處理。

      圖6 活動(dòng)對(duì)象的狀態(tài)處理函數(shù)

      2.4 事件“出版-訂閱”的實(shí)現(xiàn)

      圖7所示為事件的“出版-訂閱”訂閱者列表,在該列表中,每個(gè)事件對(duì)應(yīng)一個(gè)清單,清單中保存著訂閱該事件的所有活動(dòng)對(duì)象的優(yōu)先級(jí)編號(hào)(每個(gè)活動(dòng)對(duì)象對(duì)應(yīng)唯一的一個(gè)優(yōu)先級(jí)編號(hào))。當(dāng)有事件出版時(shí),根據(jù)該事件的清單對(duì)訂閱者一一進(jìn)行投遞。通常活動(dòng)對(duì)象在初始化內(nèi)部狀態(tài)機(jī)時(shí)通過(guò)PB::subscribe(CActive*a,Signal sig)接口訂閱該活動(dòng)對(duì)象感興趣的事件,在運(yùn)行的任何時(shí)候通過(guò)接口PB::publish(Event*e)出版自己的事件。

      圖7 訂閱者列表

      3 D-Max ENC數(shù)控系統(tǒng)應(yīng)用

      D-Max ENC是以 Windows CE6.0為軟件平臺(tái)的可重構(gòu)嵌入式數(shù)控系統(tǒng),按照設(shè)計(jì)要求它需具有快速重構(gòu)能力,可以根據(jù)客戶需求重構(gòu)出具有不同聯(lián)動(dòng)軸數(shù),或不同刀庫(kù),或不同用戶界面,或增加其他功能(如,增加機(jī)械手或增加遠(yuǎn)程監(jiān)控)的數(shù)控系統(tǒng)。

      3.1 D-Max ENC M3數(shù)控系統(tǒng)硬件結(jié)構(gòu)

      圖8所示為D-Max ENC M3銑削加工中心的硬件結(jié)構(gòu)。該系統(tǒng)具備三軸聯(lián)動(dòng),自動(dòng)換刀等功能。系統(tǒng)采用主從式多CPU結(jié)構(gòu),X86工業(yè)主板具有主CPU,通過(guò)PC/104總線分別與FPGA運(yùn)動(dòng)控制卡及PC/104數(shù)據(jù)采集卡相連,通過(guò)串口總線與刀庫(kù)PLC相連。

      圖8 D-Max ENC M3硬件結(jié)構(gòu)

      3.2 D-Max ENC M3數(shù)控系統(tǒng)軟件實(shí)現(xiàn)

      D-Max ENC M3系統(tǒng)共包含IO活動(dòng)對(duì)象、TC活動(dòng)對(duì)象、MC活動(dòng)對(duì)象、Core活動(dòng)對(duì)象和HMI活動(dòng)對(duì)象5個(gè)活動(dòng)對(duì)象(圖4)。

      IO活動(dòng)對(duì)象:主要檢測(cè)I/O信號(hào),管理MDI鍵盤的按鍵輸入。該對(duì)象的狀態(tài)機(jī)只有一個(gè)狀態(tài),其簡(jiǎn)化狀態(tài)圖如圖9所示。在該狀態(tài)下,活動(dòng)對(duì)象不斷檢查是否有鍵按下。當(dāng)有鍵按下時(shí),創(chuàng)建一個(gè)該按鍵的事件,并將該事件出版。

      TC活動(dòng)對(duì)象:負(fù)責(zé)與刀庫(kù)的PLC通信,從而控制刀庫(kù)選擇相應(yīng)的刀具。該活動(dòng)對(duì)象簡(jiǎn)化狀態(tài)圖如圖10所示,活動(dòng)對(duì)象有Idle和Busy兩個(gè)狀態(tài)。在Idle狀態(tài),可以接收選擇刀具的事件(SELECT_TOOL),并進(jìn)入Busy。此時(shí),若再收到選擇刀具的事件,將不會(huì)進(jìn)行處理(可以有效防止破壞換刀的控制邏輯),直到收到刀庫(kù)處理完成事件(TM_PROCESSED)后,重新轉(zhuǎn)移到Idle狀態(tài)。MC活動(dòng)對(duì)象:管理運(yùn)動(dòng)控制卡的行為。根據(jù)所控制的運(yùn)動(dòng)控制卡有批處理和立即處理兩種模式,且在批處理模式有數(shù)據(jù)緩存區(qū)、允許暫停和取消功能,其簡(jiǎn)化狀態(tài)圖如圖11所示。在Idle狀態(tài)和Hungry狀態(tài)可以接收插補(bǔ)指令事件,而在Full狀態(tài)不會(huì)處理接收的插補(bǔ)指令。進(jìn)入Suspend狀態(tài)后,插補(bǔ)會(huì)暫停,在收到START事件后,又會(huì)恢復(fù)到上一個(gè)狀態(tài)。

      圖9 IO活動(dòng)對(duì)象簡(jiǎn)化狀態(tài)圖

      圖10 TC活動(dòng)對(duì)象簡(jiǎn)化狀態(tài)圖

      Core活動(dòng)對(duì)象:編譯程序,并將編譯后的指令通過(guò)事件出版出去。由于指令具有多種類型以及單次處理的指令長(zhǎng)度有限,為了保證事件出版后其他活動(dòng)對(duì)象能夠進(jìn)行處理,需要將編譯后的指令按類型及長(zhǎng)度分成多個(gè)指令段,并訂閱運(yùn)動(dòng)控制卡數(shù)據(jù)處理完成事件(MC_PROCESSED)、運(yùn)動(dòng)控制卡數(shù)據(jù)饑渴事件(MC_HUNGRY)和刀庫(kù)處理完成事件(TM_PROCESSED)。在這些事件的驅(qū)動(dòng)下,將分段指令出版。除此,該活動(dòng)對(duì)象還訂閱了插補(bǔ)、急停、復(fù)位、進(jìn)給保持、啟動(dòng)等事件,從而控制整個(gè)過(guò)程的執(zhí)行。其簡(jiǎn)化狀態(tài)圖如圖12所示。

      圖12 Core活動(dòng)對(duì)象簡(jiǎn)化狀態(tài)圖

      HMI活動(dòng)對(duì)象:負(fù)責(zé)程序的編輯、參數(shù)設(shè)置、顯示以及自動(dòng)或手動(dòng)的數(shù)據(jù)準(zhǔn)備等。其簡(jiǎn)化狀態(tài)圖如圖13所示。該活動(dòng)對(duì)象訂閱了所有的按鍵事件,通過(guò)模式選擇事件進(jìn)入不同狀態(tài),不同的狀態(tài)只處理固定的按鍵事件。如,在Auto狀態(tài)收到START按鍵事件后會(huì)出版帶有零件程序參數(shù)的編譯事件,在JOG狀態(tài)會(huì)處理X+等軸控制按鍵事件,而不會(huì)處理START按鍵事件。

      圖13 HMI活動(dòng)對(duì)象簡(jiǎn)化狀態(tài)圖

      3.3 D-Max ENC M5E數(shù)控系統(tǒng)軟件重構(gòu)

      圖14所示為面向活動(dòng)對(duì)象軟件設(shè)計(jì)的重構(gòu)流程。

      圖14 面向活動(dòng)對(duì)象的軟件重構(gòu)流程

      首先,根據(jù)新的系統(tǒng)需求,分析判斷已有活動(dòng)對(duì)象的行為是否發(fā)生了改變,包括其狀態(tài)圖及事件的處理方式是否需要發(fā)生改變;其次,在已有活動(dòng)對(duì)象修改完成后,對(duì)比新系統(tǒng),查看已有活動(dòng)對(duì)象無(wú)法完成的功能,設(shè)計(jì)并添加新的活動(dòng)對(duì)象;然后,重新對(duì)所有活動(dòng)對(duì)象檢查,檢查是否有出版的事件漏處理或未出版等;最后,整合所有活動(dòng)對(duì)象進(jìn)行驗(yàn)證、仿真、測(cè)試等,最終得到新的系統(tǒng)。

      D-Max ENC M5E系統(tǒng)是一五軸聯(lián)動(dòng)數(shù)控系統(tǒng),該系統(tǒng)除具有五軸聯(lián)動(dòng)外,還具有網(wǎng)絡(luò)監(jiān)控功能。通過(guò)互聯(lián)網(wǎng)可以遠(yuǎn)程監(jiān)視其運(yùn)行狀況,或傳送數(shù)據(jù)控制機(jī)床運(yùn)行(在Online模式)。表1及圖15、圖16所示為D-Max ENC M3重構(gòu)為D-Max ENC M5E系統(tǒng)的軟件重構(gòu)內(nèi)容。

      表1 D-Max ENC M5E軟件重構(gòu)內(nèi)容

      圖15 重構(gòu)后HMI活動(dòng)對(duì)象簡(jiǎn)化狀態(tài)圖

      圖16 Monitor活動(dòng)對(duì)象簡(jiǎn)化狀態(tài)圖

      從上述重構(gòu)過(guò)程可以看出:

      (1)活動(dòng)對(duì)象通過(guò)事件出版進(jìn)行通信,沒(méi)有相互的調(diào)用,避免了重構(gòu)過(guò)程“牽一發(fā)而動(dòng)全身”。如,IO的改變并沒(méi)有影響到TC活動(dòng)和MC活動(dòng)對(duì)象的行為;加入Monitor活動(dòng)對(duì)象,并沒(méi)有干涉到IO活動(dòng)對(duì)象、TC活動(dòng)對(duì)象、MC活動(dòng)對(duì)象、Core活動(dòng)對(duì)象的活動(dòng)。通過(guò)減小相互間的耦合,從而可以降低重構(gòu)難度,提高活動(dòng)對(duì)象的復(fù)用程度。

      (2)活動(dòng)對(duì)象以一狀態(tài)機(jī)來(lái)控制其行為,通過(guò)狀態(tài)圖將控制邏輯圖形化。使得重構(gòu)的分析和設(shè)計(jì)更加便捷和清晰。避免了閱讀控制邏輯復(fù)雜代碼和大量描述文檔的繁復(fù)和耗時(shí),從而可以節(jié)省時(shí)間,提升效率。

      (3)活動(dòng)對(duì)象的實(shí)現(xiàn)采用了抽象和繼承(圖4),復(fù)雜的邏輯運(yùn)算均已被抽象的CActive類實(shí)現(xiàn),活動(dòng)對(duì)象只實(shí)現(xiàn)通過(guò)狀態(tài)處理函數(shù)實(shí)現(xiàn)對(duì)事件的處理(圖6)。從而使得重構(gòu)后創(chuàng)建新的活動(dòng)對(duì)象和修改已有活動(dòng)對(duì)象更加容易。

      [1]Koren Y,Heisel U,Jovane F,et al.Reconfigurable Manufacturing Systems[J].Annals of the CIRP,1999,48(2):527-540.

      [2]王濤,劉清建,王太勇,等.具有3層重構(gòu)能力的可重構(gòu)數(shù)控系統(tǒng)[J].中國(guó)機(jī)械工程,2011,22(2):197-201.

      Wang Tao,Liu Qingjian,Wang Taiyong,et al.Research on Three-ply Reconfigurable CNC System[J].China Mechanical Engineering,2011,22(2):197-201.

      [3]魏仁選,周祖德,陳幼平,等.可重用面向?qū)ο髷?shù)控軟件及其開發(fā)環(huán)境研究[J].華中理工大學(xué)學(xué)報(bào),1999(3):19-21.

      Wei Renxuan,Zhou Zude,Chen Youping,et al.Study on Reusable Object-oriented CNC Software and Its Development Environment[J].Journal of Huazhong University of Science and Technology,1999(3):19-21.

      [4]文立偉,王永章,路華,等.基于開放結(jié)構(gòu)控制器的可重構(gòu)數(shù)控系統(tǒng)[J].計(jì)算機(jī)集成制造系統(tǒng)-CIMS,2003,9(11):1483-1489.

      Wen Liwei,Wang Yongzhang,Lu Hua,et al.Recon Figurable CNC System Based on Open Architecture Controller[J].Computer Integrated Manufacturing Systems,2003,9(11):1483-1489.

      [5]齊繼陽(yáng),竺長(zhǎng)安,王歡.基于USB和組件技術(shù)的可重構(gòu)數(shù)控系統(tǒng)的研制[J].制造技術(shù)與機(jī)床,2007(12):17-20.

      Qi Jiyang,Zhu Changan,Wang Huan.Development of Reconfigurable CNC System Based on USB and Component Technologies[J].Manufacturing Technology & Machine Tool,2007(12):17-20.

      [6]王太勇,李波,萬(wàn)淑敏,等.基于現(xiàn)場(chǎng)總線的可重構(gòu)數(shù)控系統(tǒng)的研究[J].計(jì)算機(jī)集成制造系統(tǒng),2006,10(12):1662-1667.

      Wang Taiyong,Li Bo,Wan Shumin,et al.Reconfigurable CNC System Based on Field Bus[J].Computer Integrated Manufacturing Systems,2006,10(12):1662-1667.

      [7]OMG.OMG Unified Modeling Language(OMG UML),Superstructure(v2.4.1)[EB/OL],(2011-08-06)[2011-10-01].http://www.omg.org/spec/UML/2.4.1/Superstructure/PDF

      [8]Miro Samek.PRACTICAL UML STATECHARTS IN C/C++,Second Edition[M].Burlington:Newnes,2008.

      [9]李霞,王永章,梁宏斌,等.有限狀態(tài)機(jī)在開放式數(shù)控系統(tǒng)中的應(yīng)用[J].計(jì)算機(jī)集成制造系統(tǒng)-CIMS,2005,11(3):428-432.

      Li Xia,Wang Yongzhang,Liang Hongbin,et al.Finite State Machine Application in Open CNC[J].Computer Integrated Manufacturing Systems,2005,11(3):428-432.

      [10]Chito S,Michael J,Wang Shige,et al.Specifying Reconfigurable Control Flow for Open Architecture Controllers[J].Proceedings 1998Japan- USA Symposium on Flexible Automation,1998,7(2):659-666.

      [11]Harel D.Statecharts:A Visual Formalism for Complex Systems[J].Science of Computer Programming,1987,8(3):231-274.

      猜你喜歡
      狀態(tài)圖狀態(tài)機(jī)投遞
      基于ASP.NET的高校畢業(yè)論文管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
      關(guān)于我放寒假后的真實(shí)狀態(tài)
      基于Web 的高校資產(chǎn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      智能投遞箱
      傳統(tǒng)與文化的“投遞”
      中外文摘(2022年13期)2022-08-02 13:46:16
      基于有限狀態(tài)機(jī)的交會(huì)對(duì)接飛行任務(wù)規(guī)劃方法
      基于UML狀態(tài)圖的軟件系統(tǒng)測(cè)試用例生成方法
      大迷宮
      FPGA設(shè)計(jì)中狀態(tài)機(jī)安全性研究
      基于反熔絲FPGA的有限狀態(tài)機(jī)加固設(shè)計(jì)
      建阳市| 万盛区| 舞阳县| 云龙县| 白山市| 京山县| 古丈县| 特克斯县| 海宁市| 甘德县| 江口县| 罗平县| 天台县| 西乡县| 丹寨县| 罗山县| 虎林市| 定兴县| 堆龙德庆县| 龙门县| 夹江县| 沙洋县| 武山县| 漯河市| 十堰市| 正镶白旗| 长岭县| 措勤县| 孟津县| 石河子市| 宁安市| 平湖市| 岐山县| 衡阳县| 铜川市| 衡阳市| 班戈县| 尼玛县| 辛集市| 即墨市| 清苑县|