本發(fā)明涉及硬件在環(huán)仿真測試的技術(shù)領(lǐng)域,具體地說涉及一種策略運(yùn)行狀態(tài)的控制方法、裝置及系統(tǒng)。
背景技術(shù):
在電子控制單元(ECU)設(shè)計(jì)開發(fā)及標(biāo)定測試階段,需要對ECU進(jìn)行全面、系統(tǒng)、詳細(xì)的測試?,F(xiàn)有的測試方法一般分為兩種,一種是傳統(tǒng)的測試方法,用真實(shí)對象或環(huán)境進(jìn)行測試,但這種方法無論是人員、設(shè)備還是資金都需要很大的投入,而且周期長,不能進(jìn)行極限條件、故障診斷等測試,所以目前常采用的是另一種硬件在環(huán)(Hardware-in-the-Loop,HIL)仿真測試方法,硬件在環(huán)仿真測試系統(tǒng)是利用處理器來對控制器模型進(jìn)行運(yùn)算和處理(對控制器模型進(jìn)行運(yùn)算和處理的方法稱為策略),實(shí)時模擬出受控對象的運(yùn)行狀態(tài),并通過輸入/輸出接口連接相應(yīng)的傳感器等電子設(shè)備,對受控對象的各項(xiàng)參數(shù)進(jìn)行全方面的、系統(tǒng)的測試。而往往在實(shí)際測試過程中,需要在策略的某個步驟或過程停下運(yùn)行,從而對策略中的某些變量值進(jìn)行觀測、標(biāo)定或更改,以實(shí)現(xiàn)不同或更優(yōu)的測試效果。
但是,由于策略的某些運(yùn)行狀態(tài)往往是一瞬而過或不可重復(fù),目前沒有可以使策略自動停下的設(shè)計(jì),沒有辦法可以在策略運(yùn)行時實(shí)時地捕捉到這些狀態(tài)或甚至在這些狀態(tài)下改變變量值?,F(xiàn)有技術(shù)中只是提出了其他間接的一些方法,例如先通過改變策略的局部設(shè)計(jì)來直接或間接地對某些變量值進(jìn)行觀測、標(biāo)定,直到獲得了該變量值的優(yōu)化值后,到實(shí)際運(yùn)行環(huán)境再對策略進(jìn)行恢復(fù)。但是這種方法存在的問題是:操作繁瑣,一般需要對策略進(jìn)行多次修改和集成,而且無法最有效地實(shí)時觀測策略運(yùn)行狀態(tài)內(nèi)部情況,不能對策略的運(yùn)行和輸入輸出進(jìn)行有效的控制,測試效率較低且測試效果不理想。
技術(shù)實(shí)現(xiàn)要素:
為此,本發(fā)明所要解決的技術(shù)問題在于克服現(xiàn)有技術(shù)中存在的上述問題,提出一種能夠?qū)崟r、有效地控制策略運(yùn)行狀態(tài)的策略運(yùn)行狀態(tài)的控制方法、裝置及系統(tǒng)。
本發(fā)明的一種策略運(yùn)行狀態(tài)的控制方法,包括以下步驟:
在策略運(yùn)行到預(yù)定節(jié)點(diǎn)之前,接收該預(yù)定節(jié)點(diǎn)的狀態(tài)控制變量的值,所述狀態(tài)控制變量用于控制所述策略中的預(yù)定節(jié)點(diǎn)的運(yùn)行狀態(tài),所述預(yù)定節(jié)點(diǎn)包括開始節(jié)點(diǎn)和中間關(guān)鍵節(jié)點(diǎn),所述中間關(guān)鍵節(jié)點(diǎn)指所述策略中決定策略走向的位置的節(jié)點(diǎn);
當(dāng)策略運(yùn)行到預(yù)定節(jié)點(diǎn)時,判斷接收到的該預(yù)定節(jié)點(diǎn)的狀態(tài)控制變量的值是否等于預(yù)設(shè)值;
當(dāng)?shù)扔谒鲱A(yù)設(shè)值時,控制策略在所述預(yù)定節(jié)點(diǎn)暫停運(yùn)行直到所述狀態(tài)控制變量的值不等于預(yù)設(shè)值時再控制策略繼續(xù)向下運(yùn)行。
優(yōu)選地,還包括以下步驟:
當(dāng)不等于所述預(yù)設(shè)值時,控制策略不做暫停而直接向下運(yùn)行。
優(yōu)選地,接收狀態(tài)控制變量的值包括接收來自標(biāo)定設(shè)備發(fā)送的值或讀取受外部測試設(shè)備控制的預(yù)定硬件管腳的值。
本發(fā)明的一種策略運(yùn)行狀態(tài)的控制裝置,包括:
狀態(tài)控制變量的值接收單元,用于在策略運(yùn)行到預(yù)定節(jié)點(diǎn)之前,接收該預(yù)定節(jié)點(diǎn)的狀態(tài)控制變量的值,所述狀態(tài)控制變量用于控制所述策略中的預(yù)定節(jié)點(diǎn)的運(yùn)行狀態(tài),所述預(yù)定節(jié)點(diǎn)包括開始節(jié)點(diǎn)和中間關(guān)鍵節(jié)點(diǎn),所述中間關(guān)鍵節(jié)點(diǎn)指所述策略中決定策略走向的位置的節(jié)點(diǎn);
第一判斷單元,用于當(dāng)策略運(yùn)行到預(yù)定節(jié)點(diǎn)時,判斷接收到的該預(yù)定節(jié)點(diǎn)的狀態(tài)控制變量的值是否等于預(yù)設(shè)值;
第一策略運(yùn)行狀態(tài)控制單元,用于所述第一判斷單元判斷等于預(yù)設(shè)值時, 控制策略在所述預(yù)定節(jié)點(diǎn)暫停運(yùn)行直到所述狀態(tài)控制變量的值不等于預(yù)設(shè)值時再控制策略繼續(xù)向下運(yùn)行。
優(yōu)選地,還包括:
第二策略運(yùn)行狀態(tài)控制單元,用于所述第一判斷單元判斷不等于所述預(yù)設(shè)值時,控制策略不做暫停而直接向下運(yùn)行。
優(yōu)選地,接收狀態(tài)控制變量的值包括接收來自標(biāo)定設(shè)備發(fā)送的值或讀取受外部測試設(shè)備控制的所述控制裝置上的預(yù)定硬件管腳的值。
本發(fā)明的一種策略運(yùn)行狀態(tài)的控制系統(tǒng),包括:
標(biāo)定設(shè)備或外部測試設(shè)備,用于發(fā)送或輸出狀態(tài)控制變量的值;
策略運(yùn)行狀態(tài)的控制裝置,用于在策略運(yùn)行到預(yù)定節(jié)點(diǎn)之前,接收該預(yù)定節(jié)點(diǎn)的狀態(tài)控制變量的值,所述狀態(tài)控制變量用于控制所述策略中的預(yù)定節(jié)點(diǎn)的運(yùn)行狀態(tài),所述預(yù)定節(jié)點(diǎn)包括開始節(jié)點(diǎn)和中間關(guān)鍵節(jié)點(diǎn),所述中間關(guān)鍵節(jié)點(diǎn)指所述策略中決定策略走向的位置的節(jié)點(diǎn);當(dāng)策略運(yùn)行到預(yù)定節(jié)點(diǎn)時,判斷接收到的狀態(tài)控制變量的值是否等于預(yù)設(shè)值;當(dāng)?shù)扔谒鲱A(yù)設(shè)值時,控制策略在所述預(yù)定節(jié)點(diǎn)暫停運(yùn)行直到所述狀態(tài)控制變量的值不等于預(yù)設(shè)值時再控制策略繼續(xù)向下運(yùn)行;當(dāng)不等于所述預(yù)設(shè)值時,控制策略不做暫停而直接向下運(yùn)行。
優(yōu)選地,所述標(biāo)定設(shè)備或外部測試設(shè)備用于在所述策略運(yùn)行到開始節(jié)點(diǎn)之前發(fā)送或輸出所述狀態(tài)控制變量的第一初始值,所述第一初始值為所述預(yù)設(shè)值;并在所述策略運(yùn)行到所述開始節(jié)點(diǎn)、同時接收到所述標(biāo)定設(shè)備或外部測試設(shè)備與所述策略運(yùn)行狀態(tài)的控制裝置之間通迅正常的判斷結(jié)果信號時,發(fā)送或輸出所述狀態(tài)控制變量的值,此時所發(fā)送或輸出的所述狀態(tài)控制變量的值不等于所述預(yù)設(shè)值。
優(yōu)選地,所述標(biāo)定設(shè)備或外部測試設(shè)備還用于在所述策略運(yùn)行到所述開始節(jié)點(diǎn)之后、所述中間關(guān)鍵節(jié)點(diǎn)之前發(fā)送或輸出所述狀態(tài)控制變量的第二初始值,所述第二初始值不等于所述預(yù)設(shè)值;當(dāng)接收到外部控制信號時,根據(jù) 所述外部控制信號發(fā)送或輸出所述狀態(tài)控制變量的值。
本發(fā)明的上述技術(shù)方案相比現(xiàn)有技術(shù)具有以下優(yōu)點(diǎn):
本發(fā)明通過引入狀態(tài)控制變量,設(shè)置當(dāng)策略運(yùn)行到任意預(yù)定節(jié)點(diǎn)時判斷此時狀態(tài)控制變量的值是否等于預(yù)設(shè)值,不論是在策略開始節(jié)點(diǎn),還是在策略中間關(guān)鍵節(jié)點(diǎn),都可以利用狀態(tài)控制變量的值來控制策略的運(yùn)行狀態(tài),當(dāng)此時的狀態(tài)控制變量的值等于預(yù)設(shè)值時,控制策略在該節(jié)點(diǎn)暫停運(yùn)行,即自動停下,處于循環(huán)等待狀態(tài),此時可以方便對某些變量進(jìn)行觀測或?qū)δ承┳兞恐颠M(jìn)行標(biāo)定和設(shè)置,使策略朝需要的走向進(jìn)行,直到完成了該節(jié)點(diǎn)處的某些需觀測變量的觀測或?qū)δ承┳兞恐档臉?biāo)定和設(shè)置之后,通過使?fàn)顟B(tài)控制變量的值發(fā)生改變,即使其不等于預(yù)設(shè)值,從而再控制策略才繼續(xù)向下運(yùn)行。當(dāng)策略不需要在某些節(jié)點(diǎn)停下時,則可以設(shè)置此節(jié)點(diǎn)處的狀態(tài)控制變量的值不等于預(yù)設(shè)值,控制策略直接向下運(yùn)行而不暫停。所以,通過上述設(shè)置可以方便地控制策略的自動停下或開始,無需改變策略的局部設(shè)計(jì)就能完成對某些變量進(jìn)行觀測或?qū)δ承┳兞恐颠M(jìn)行標(biāo)定和設(shè)置,實(shí)現(xiàn)方式簡單、有效且實(shí)時。
本發(fā)明通過采用兩種方式來接收狀態(tài)控制變量的值,即接收來自標(biāo)定設(shè)備發(fā)送的值或讀取受外部測試設(shè)備控制的預(yù)定硬件管腳的值,可以分別采用標(biāo)定設(shè)備或硬件的管腳電平值來對狀態(tài)控制變量的值進(jìn)行設(shè)置,這兩種方式可以單獨(dú)實(shí)現(xiàn),也可以二者結(jié)合來實(shí)現(xiàn),體現(xiàn)了狀態(tài)控制變量的值設(shè)置的多樣性。利用標(biāo)定設(shè)備可實(shí)現(xiàn)在任何環(huán)境下對狀態(tài)控制變量的值的設(shè)置。利用讀取控制裝置的管腳電平值這種硬件的方式則更加有利于與HIL測試系統(tǒng)的配合使用,提高了策略運(yùn)行的可控性和穩(wěn)定性。
附圖說明
為了使本發(fā)明的內(nèi)容更容易被清楚的理解,下面根據(jù)本發(fā)明的具體實(shí)施例并結(jié)合附圖,對本發(fā)明作進(jìn)一步詳細(xì)的說明,其中
圖1是本發(fā)明實(shí)施例1的一種策略運(yùn)行狀態(tài)的控制方法的流程圖;
圖2是本發(fā)明一種實(shí)施方式的策略運(yùn)行狀態(tài)的控制方法的流程圖;
圖3是本發(fā)明另一種實(shí)施方式的策略運(yùn)行狀態(tài)的控制方法的流程圖;
圖4是本發(fā)明實(shí)施例2的一種策略運(yùn)行狀態(tài)的控制裝置的結(jié)構(gòu)框圖;
圖5是本發(fā)明實(shí)施例3的一種策略運(yùn)行狀態(tài)的控制系統(tǒng)的結(jié)構(gòu)框圖。
具體實(shí)施方式
本申請文件中的術(shù)語“第一”、“第二”、“第三”、“第四”等(如果存在)用于在類似要素之間進(jìn)行區(qū)別,并且不一定是描述特定的次序或者按時間的順序。要理解,這樣使用的這些術(shù)語在適當(dāng)?shù)沫h(huán)境下是可互換的,使得在此描述的主題的實(shí)施例如是能夠以與那些說明的次序不同的次序或者以在此描述的另外的次序來進(jìn)行操作。
圖1示出了實(shí)施例1的一種策略運(yùn)行狀態(tài)的控制方法的流程圖,如圖1所示,該控制方法包括以下步驟:
步驟S1:在策略運(yùn)行到預(yù)定節(jié)點(diǎn)之前,接收該預(yù)定節(jié)點(diǎn)的狀態(tài)控制變量的值,所述狀態(tài)控制變量用于控制所述策略中的預(yù)定節(jié)點(diǎn)的運(yùn)行狀態(tài),所述預(yù)定節(jié)點(diǎn)包括開始節(jié)點(diǎn)和中間關(guān)鍵節(jié)點(diǎn),所述中間關(guān)鍵節(jié)點(diǎn)是指所述策略中決定策略走向的位置的節(jié)點(diǎn);
步驟S2:當(dāng)策略運(yùn)行到預(yù)定節(jié)點(diǎn)時,判斷接收到的狀態(tài)控制變量的值是否等于預(yù)設(shè)值;當(dāng)?shù)扔谒鲱A(yù)設(shè)值時,進(jìn)入步驟S3;當(dāng)不等于所述預(yù)設(shè)值時,進(jìn)入步驟S4。
步驟S3:控制策略在所述預(yù)定節(jié)點(diǎn)暫停運(yùn)行直到所述狀態(tài)控制變量的值不等于預(yù)設(shè)值時再控制策略繼續(xù)向下運(yùn)行。
步驟S4:控制策略不做暫停而直接向下運(yùn)行。
本實(shí)施例中通過引入狀態(tài)控制變量,設(shè)置當(dāng)策略運(yùn)行到任意預(yù)定節(jié)點(diǎn)時,判斷此時狀態(tài)控制變量的值是否等于預(yù)設(shè)值,不論是在策略開始節(jié)點(diǎn),還是在策略中間關(guān)鍵節(jié)點(diǎn),都可以利用狀態(tài)控制變量的值來控制策略的運(yùn)行狀態(tài),當(dāng)此時的狀態(tài)控制變量的值等于預(yù)設(shè)值時,控制策略在該節(jié)點(diǎn)暫停運(yùn)行,即自動停下,處于循環(huán)等待狀態(tài),此時可以方便對某些變量進(jìn)行觀測或?qū)δ承? 變量值進(jìn)行標(biāo)定和設(shè)置,使策略朝需要的走向進(jìn)行,直到完成了該節(jié)點(diǎn)處的某些需觀測變量的觀測或?qū)δ承┳兞恐档臉?biāo)定和設(shè)置之后,通過使?fàn)顟B(tài)控制變量的值發(fā)生改變,即使其不等于預(yù)設(shè)值,從而再控制策略才繼續(xù)向下運(yùn)行。當(dāng)策略不需要在某些節(jié)點(diǎn)停下時,則可以設(shè)置此節(jié)點(diǎn)處的狀態(tài)控制變量的值不等于預(yù)設(shè)值,控制策略直接向下運(yùn)行而不暫停。所以,通過上述設(shè)置可以方便地控制策略的自動停下或開始,無需改變策略的局部設(shè)計(jì)就能完成對某些變量進(jìn)行觀測或?qū)δ承┳兞恐颠M(jìn)行標(biāo)定和設(shè)置,實(shí)現(xiàn)方式簡單、有效且實(shí)時。
舉例來說,當(dāng)預(yù)定節(jié)點(diǎn)是開始節(jié)點(diǎn)時,在策略運(yùn)行到開始節(jié)點(diǎn)之前,接收該開始節(jié)點(diǎn)的狀態(tài)控制變量的值,當(dāng)策略開始運(yùn)行時,判斷接收到的狀態(tài)控制變量的值是否等于預(yù)設(shè)值,當(dāng)?shù)扔谒鲱A(yù)設(shè)值時,控制策略在所述開始節(jié)點(diǎn)暫停運(yùn)行直到所述狀態(tài)控制變量的值不等于預(yù)設(shè)值時再控制策略開始進(jìn)入運(yùn)行狀態(tài),當(dāng)不等于所述預(yù)設(shè)值時,控制策略不做暫停而直接進(jìn)入開始運(yùn)行狀態(tài)。
也就是說,通過判斷狀態(tài)控制變量的值來決定策略是處于循環(huán)等待狀態(tài)或開始運(yùn)行狀態(tài)。優(yōu)選地,如圖2所示,預(yù)先設(shè)置所述預(yù)設(shè)值為假,在策略開始運(yùn)行之前,接收開始節(jié)點(diǎn)的狀態(tài)控制變量的預(yù)設(shè)值,當(dāng)策略開始運(yùn)行時,若此時的狀態(tài)控制變量的值為假,則策略處于循環(huán)等待狀態(tài)而不進(jìn)行任何動作,直到狀態(tài)控制變量的值改變?yōu)檎?,才控制策略開始進(jìn)入運(yùn)行狀態(tài);若此時的狀態(tài)控制變量的值為真,則策略不做暫停而直接向下運(yùn)行,進(jìn)入開始運(yùn)行狀態(tài)。這樣標(biāo)定設(shè)備等就可以從策略開始運(yùn)行時觀測或改變某些變量值了。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,策略走向的控制方式不限于上述狀態(tài)控制變量的值為真或假時策略走向的控制方式,也能用在狀態(tài)控制變量的值的其他取值方式下策略走向的控制方式來實(shí)現(xiàn)。
作為一種優(yōu)選實(shí)施方式,控制策略中的開始節(jié)點(diǎn)的運(yùn)行狀態(tài)的狀態(tài)控制變量的值可以通過以下方式進(jìn)行設(shè)置:
在策略運(yùn)行到開始節(jié)點(diǎn)之前,預(yù)先設(shè)置狀態(tài)控制變量的值為假,并在策 略運(yùn)行到所述開始節(jié)點(diǎn)、同時接收到標(biāo)定設(shè)備或外部測試設(shè)備返回的通迅正常的判斷結(jié)果信號時,即標(biāo)定設(shè)備或硬件連接好后,設(shè)置狀態(tài)控制變量的值為真,此時策略進(jìn)入開始運(yùn)行狀態(tài)。
舉例來說,當(dāng)預(yù)定節(jié)點(diǎn)是中間關(guān)鍵節(jié)點(diǎn)時,之所以在這些位置可能需要使策略停下來,是因?yàn)樵谶@些位置可能需要對某些變量進(jìn)行標(biāo)定或設(shè)置,以使策略朝需要的走向運(yùn)行,或因?yàn)樵谶@些位置可能需要對某些變量進(jìn)行觀測。其步驟為:首先接收策略運(yùn)行到該中間關(guān)鍵節(jié)點(diǎn)時的狀態(tài)控制變量的值,當(dāng)策略運(yùn)行到該中間關(guān)鍵節(jié)點(diǎn)時,判斷接收到的狀態(tài)控制變量的值是否等于預(yù)設(shè)值,當(dāng)?shù)扔谒鲱A(yù)設(shè)值時,控制策略在所述中間關(guān)鍵節(jié)點(diǎn)暫停運(yùn)行直到所述狀態(tài)控制變量的值不等于預(yù)設(shè)值時再控制策略繼續(xù)向下運(yùn)行,當(dāng)不等于所述預(yù)設(shè)值時,控制策略不做暫停而直接進(jìn)入向下運(yùn)行。
優(yōu)選地,如圖3所示,預(yù)先設(shè)置所述預(yù)設(shè)值為真,保證在默認(rèn)情況下策略不會在此中間關(guān)鍵節(jié)點(diǎn)停下來。在策略運(yùn)行到所述中間關(guān)鍵節(jié)點(diǎn)時,若接收到的狀態(tài)控制變量的值為假,則策略就會停止在此中間關(guān)鍵節(jié)點(diǎn),以便對此節(jié)點(diǎn)的狀態(tài)觀測或變量進(jìn)行設(shè)置,直到接收到的狀態(tài)控制變量的值變?yōu)檎妫趴刂撇呗岳^續(xù)向下運(yùn)行;若此時接收到的狀態(tài)控制變量的值為真,則策略不做暫停而直接向下運(yùn)行。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,策略走向的控制方式不限于上述狀態(tài)控制變量的值為真或假時策略走向的控制方式,也能用在狀態(tài)控制變量的值的其他取值方式下策略走向的控制方式來實(shí)現(xiàn)。
作為一種優(yōu)選實(shí)施方式,控制策略中的中間關(guān)鍵節(jié)點(diǎn)的運(yùn)行狀態(tài)的狀態(tài)控制變量的值可以通過以下方式進(jìn)行設(shè)置:
當(dāng)在需要在此中間關(guān)鍵節(jié)點(diǎn)停下時,在策略運(yùn)行到開始節(jié)點(diǎn)之后、中間關(guān)鍵節(jié)點(diǎn)之前,通過標(biāo)定設(shè)備或硬件設(shè)置狀態(tài)控制變量的值為假,則策略就會暫停在此中間關(guān)鍵節(jié)點(diǎn),處于循環(huán)等待狀態(tài),以便對此節(jié)點(diǎn)的狀態(tài)觀測或變量進(jìn)行設(shè)置,完成后,再通過標(biāo)定設(shè)備或硬件設(shè)置狀態(tài)控制變量的值為真,策略繼續(xù)向下運(yùn)行。
優(yōu)選地,上述實(shí)施例中接收狀態(tài)控制變量的值包括接收來自標(biāo)定設(shè)備發(fā) 送的值或讀取受外部測試設(shè)備控制的預(yù)定硬件管腳的值。其中,狀態(tài)控制變量的值是通過硬件管腳電平值設(shè)置時,優(yōu)選地,可以是當(dāng)管腳電平為低時,狀態(tài)控制變量的值設(shè)為假;當(dāng)管腳電平為高時,狀態(tài)控制變量的值設(shè)為真。具體的控制方法為,不論是在策略的開始節(jié)點(diǎn)還是中間關(guān)鍵節(jié)點(diǎn),只需判斷硬件管腳輸入對應(yīng)的狀態(tài)控制變量的值是否為真,硬件管腳電平置為高,則狀態(tài)控制變量的值為真,則策略不在此節(jié)點(diǎn)停留,繼續(xù)向下運(yùn)行。硬件管腳電平置為低,則狀態(tài)控制變量的值為假,則策略處于循環(huán)等待狀態(tài),直到硬件管腳電平置為高,此狀態(tài)控制變量的值為真,策略繼續(xù)向下運(yùn)行。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,硬件管腳電平值對應(yīng)狀態(tài)控制變量的值的設(shè)置方式不限于上述設(shè)置方式,也能用其他的硬件管腳電平值對應(yīng)狀態(tài)控制變量的值的設(shè)置方式來實(shí)現(xiàn)。
本實(shí)施例中通過采用兩種方式來接收狀態(tài)控制變量的值,即接收來自標(biāo)定設(shè)備發(fā)送的值或讀取受外部測試設(shè)備控制的預(yù)定的硬件管腳的值,可以采用軟件或硬件的方式來對狀態(tài)控制變量的值進(jìn)行設(shè)置,這兩種方式可以單獨(dú)實(shí)現(xiàn),也可以結(jié)合來實(shí)現(xiàn),體現(xiàn)了狀態(tài)控制變量的值設(shè)置的多樣性。利用標(biāo)定設(shè)備發(fā)送軟件設(shè)置的值可實(shí)現(xiàn)在任何環(huán)境下對狀態(tài)控制變量的值的設(shè)置。利用外部測試設(shè)備控制本發(fā)明策略運(yùn)行狀態(tài)的控制裝置中預(yù)定管腳的電平值這種硬件控制方式則更加有利于與HIL測試系統(tǒng)的配合使用,提高了策略運(yùn)行的可控性和穩(wěn)定性。
圖4示出了實(shí)施例2的一種策略運(yùn)行狀態(tài)的控制裝置的結(jié)構(gòu)框圖,如圖4所示,該控制裝置包括:
狀態(tài)控制變量的值接收單元1,用于在策略運(yùn)行到預(yù)定節(jié)點(diǎn)之前,接收該預(yù)定節(jié)點(diǎn)的狀態(tài)控制變量的值,所述狀態(tài)控制變量用于控制所述策略中的預(yù)定節(jié)點(diǎn)的運(yùn)行狀態(tài),所述預(yù)定節(jié)點(diǎn)包括開始節(jié)點(diǎn)和中間關(guān)鍵節(jié)點(diǎn),所述中間關(guān)鍵節(jié)點(diǎn)指所述策略中決定策略走向的位置的節(jié)點(diǎn);
第一判斷單元2,用于當(dāng)策略運(yùn)行到該預(yù)定節(jié)點(diǎn)時,判斷接收到的狀態(tài)控制變量的值是否等于預(yù)設(shè)值;
第一策略運(yùn)行狀態(tài)控制單元3,用于所述第一判斷單元判斷等于預(yù)設(shè)值時,控制策略在所述預(yù)定節(jié)點(diǎn)暫停運(yùn)行直到所述狀態(tài)控制變量的值不等于預(yù)設(shè)值時再控制策略繼續(xù)向下運(yùn)行。
第二策略運(yùn)行狀態(tài)控制單元4,用于所述第一判斷單元判斷不等于所述預(yù)設(shè)值時,控制策略不做暫停而直接向下運(yùn)行。
本實(shí)施例中通過引入狀態(tài)控制變量,設(shè)置當(dāng)策略運(yùn)行到任意預(yù)定節(jié)點(diǎn)時判斷此時狀態(tài)控制變量的值是否等于預(yù)設(shè)值,不論是在策略開始節(jié)點(diǎn),還是在策略中間關(guān)鍵節(jié)點(diǎn),都可以利用狀態(tài)控制變量的值來控制策略的運(yùn)行狀態(tài),當(dāng)此時的狀態(tài)控制變量的值等于預(yù)設(shè)值時,控制策略在該節(jié)點(diǎn)暫停運(yùn)行,即自動停下,處于循環(huán)等待狀態(tài),此時可以方便對某些變量進(jìn)行觀測或?qū)δ承┳兞恐颠M(jìn)行標(biāo)定和設(shè)置,使策略朝需要的走向進(jìn)行,直到完成了該節(jié)點(diǎn)處的某些需觀測變量的觀測或?qū)δ承┳兞恐档臉?biāo)定和設(shè)置之后,通過使?fàn)顟B(tài)控制變量的值發(fā)生改變,即使其不等于預(yù)設(shè)值,從而再控制策略才繼續(xù)向下運(yùn)行。當(dāng)策略不需要在某些節(jié)點(diǎn)停下時,則可以設(shè)置此節(jié)點(diǎn)處的狀態(tài)控制變量的值不等于預(yù)設(shè)值,控制策略直接向下運(yùn)行而不暫停。所以,通過上述設(shè)置可以方便地控制策略的自動停下或開始,無需改變策略的局部設(shè)計(jì)就能完成對某些變量進(jìn)行觀測或?qū)δ承┳兞恐颠M(jìn)行標(biāo)定和設(shè)置,實(shí)現(xiàn)方式簡單、有效且實(shí)時。
優(yōu)選地,接收狀態(tài)控制變量的值包括接收來自標(biāo)定設(shè)備發(fā)送的值或讀取受外部測試設(shè)備控制的預(yù)定的硬件管腳的值。
本實(shí)施例中通過采用兩種方式來接收狀態(tài)控制變量的值,即接收來自標(biāo)定設(shè)備發(fā)送的值或讀取受外部測試設(shè)備控制的預(yù)定的硬件管腳的值,可以采用軟件或硬件的方式來對狀態(tài)控制變量的值進(jìn)行設(shè)置,這兩種方式可以單獨(dú)實(shí)現(xiàn),也可以結(jié)合來實(shí)現(xiàn),體現(xiàn)了狀態(tài)控制變量的值設(shè)置的多樣性。利用標(biāo)定設(shè)備發(fā)送軟件設(shè)置的值可實(shí)現(xiàn)在任何環(huán)境下對狀態(tài)控制變量的值的設(shè)置。利用外部測試設(shè)備控制本發(fā)明策略運(yùn)行狀態(tài)的控制裝置中預(yù)定管腳的電平值這種硬件控制方式則更加有利于與HIL測試系統(tǒng)的配合使用,提高了策略 運(yùn)行的可控性和穩(wěn)定性
圖5示出了實(shí)施例3的一種策略運(yùn)行狀態(tài)的控制系統(tǒng)的結(jié)構(gòu)框圖,如圖5所示,該控制系統(tǒng)包括:
標(biāo)定設(shè)備或外部測試設(shè)備101,用于發(fā)送或輸出狀態(tài)控制變量的值;
策略運(yùn)行狀態(tài)的控制裝置102,用于在策略運(yùn)行到預(yù)定節(jié)點(diǎn)之前,接收該預(yù)定節(jié)點(diǎn)的狀態(tài)控制變量的值,所述狀態(tài)控制變量用于控制所述策略中的預(yù)定節(jié)點(diǎn)的運(yùn)行狀態(tài),所述預(yù)定節(jié)點(diǎn)包括開始節(jié)點(diǎn)和中間關(guān)鍵節(jié)點(diǎn),所述中間關(guān)鍵節(jié)點(diǎn)指所述策略中決定策略走向的位置的節(jié)點(diǎn);當(dāng)策略運(yùn)行到預(yù)定節(jié)點(diǎn)時,判斷接收到的狀態(tài)控制變量的值是否等于預(yù)設(shè)值;當(dāng)?shù)扔谒鲱A(yù)設(shè)值時,控制策略在所述預(yù)定節(jié)點(diǎn)暫停運(yùn)行直到所述狀態(tài)控制變量的值不等于預(yù)設(shè)值時再控制策略繼續(xù)向下運(yùn)行;當(dāng)不等于所述預(yù)設(shè)值時,控制策略不做暫停而直接向下運(yùn)行。
本實(shí)施例中通過引入狀態(tài)控制變量,設(shè)置當(dāng)策略運(yùn)行到任意預(yù)定節(jié)點(diǎn)時,判斷此時狀態(tài)控制變量的值是否等于預(yù)設(shè)值,不論是在策略開始節(jié)點(diǎn),還是在策略中間關(guān)鍵節(jié)點(diǎn),都可以利用狀態(tài)控制變量的值來控制策略的運(yùn)行狀態(tài),當(dāng)此時的狀態(tài)控制變量的值等于預(yù)設(shè)值時,控制策略在該節(jié)點(diǎn)暫停運(yùn)行,即自動停下,處于循環(huán)等待狀態(tài),此時可以方便對某些變量進(jìn)行觀測或?qū)δ承┳兞恐颠M(jìn)行標(biāo)定和設(shè)置,使策略朝需要的走向進(jìn)行,直到完成了該節(jié)點(diǎn)處的某些需觀測變量的觀測或?qū)δ承┳兞恐档臉?biāo)定和設(shè)置之后,通過使?fàn)顟B(tài)控制變量的值發(fā)生改變,即使其不等于預(yù)設(shè)值,從而再控制策略才繼續(xù)向下運(yùn)行。當(dāng)策略不需要在某些節(jié)點(diǎn)停下時,則可以設(shè)置此節(jié)點(diǎn)處的狀態(tài)控制變量的值不等于預(yù)設(shè)值,控制策略直接向下運(yùn)行而不暫停。所以,通過上述設(shè)置可以方便地控制策略的自動停下或開始,無需改變策略的局部設(shè)計(jì)就能完成對某些變量進(jìn)行觀測或?qū)δ承┳兞恐颠M(jìn)行標(biāo)定和設(shè)置,實(shí)現(xiàn)方式簡單、有效且實(shí)時。
作為一種優(yōu)選實(shí)施方式,上述標(biāo)定設(shè)備或外部測試設(shè)備用于在所述策略運(yùn)行到開始節(jié)點(diǎn)之前發(fā)送或輸出所述狀態(tài)控制變量的第一初始值,所述第一 初始值為所述預(yù)設(shè)值;并在所述策略運(yùn)行到所述開始節(jié)點(diǎn)、同時接收到所述標(biāo)定設(shè)備或外部測試設(shè)備與所述策略運(yùn)行狀態(tài)的控制裝置之間通迅正常的判斷結(jié)果信號時,發(fā)送或輸出所述狀態(tài)控制變量的值,此時所發(fā)送或輸出的所述狀態(tài)控制變量的值不等于所述預(yù)設(shè)值。
本實(shí)施例中通過設(shè)置標(biāo)定設(shè)備或外部測試設(shè)備在策略運(yùn)行到開始節(jié)點(diǎn)之前發(fā)送或輸出狀態(tài)控制變量的第一初始值,所述第一初始值為所述預(yù)設(shè)值,預(yù)設(shè)值例如為假,這樣策略即使開始運(yùn)行,也只是處于等待狀態(tài),并通過設(shè)置在標(biāo)定設(shè)備或外部測試設(shè)備與所述策略運(yùn)行狀態(tài)的控制裝置之間通迅正常后再次發(fā)送或輸出改變后的狀態(tài)控制變量的值,保證了標(biāo)定設(shè)備或外部測試設(shè)備件與所述策略運(yùn)行狀態(tài)的控制裝置之間通訊正常了以后,策略才繼續(xù)往下進(jìn)行,這樣提高了策略運(yùn)行的穩(wěn)定性。
作為另一種優(yōu)選實(shí)施方式,上述標(biāo)定設(shè)備或外部測試設(shè)備還用于在所述策略運(yùn)行到所述開始節(jié)點(diǎn)之后、所述中間關(guān)鍵節(jié)點(diǎn)之前發(fā)送或輸出所述狀態(tài)控制變量的第二初始值,所述第二初始值不等于所述預(yù)設(shè)值;當(dāng)接收到外部控制信號時,根據(jù)所述外部控制信號發(fā)送或輸出所述狀態(tài)控制變量的值。
本實(shí)施例中通過設(shè)置標(biāo)定設(shè)備或外部測試設(shè)備在策略運(yùn)行到開始節(jié)點(diǎn)之后、中間關(guān)鍵節(jié)點(diǎn)之前發(fā)送或輸出狀態(tài)控制變量的第二初始值,所述第二初始值不等于所述預(yù)設(shè)值,第二初始值例如為真,保證了在默認(rèn)情況下程序不會在此節(jié)點(diǎn)停下來,然后如果需要在此節(jié)點(diǎn)處停下,則在到達(dá)此節(jié)點(diǎn)之前或策略開始運(yùn)行之前用標(biāo)定設(shè)備或者外部測試設(shè)備將此節(jié)點(diǎn)控制變量值設(shè)置為等于預(yù)設(shè)值,例如為假,策略就會停止在此關(guān)鍵狀態(tài)控制節(jié)點(diǎn),以便對此節(jié)點(diǎn)的狀態(tài)觀測或變量進(jìn)行設(shè)置。完成后標(biāo)定設(shè)備或外部測試設(shè)備設(shè)置此節(jié)點(diǎn)狀態(tài)控制變量的值不等于預(yù)設(shè)值,例如為真,策略繼續(xù)向下運(yùn)行。本實(shí)施例使策略朝需要的走向進(jìn)行提供了可能,也提高了策略運(yùn)行的可控性。
顯然,上述實(shí)施例僅僅是為清楚地說明所作的舉例,而并非對實(shí)施方式的限定。對于所屬領(lǐng)域的普通技術(shù)人員來說,在上述說明的基礎(chǔ)上還可以做出其它不同形式的變化或變動。這里無需也無法對所有的實(shí)施方式予以窮舉。 而由此所引伸出的顯而易見的變化或變動仍處于本發(fā)明創(chuàng)造的保護(hù)范圍之中。