freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

詳解stateflow建模與應(yīng)用實(shí)例-wenkub.com

2025-06-20 04:53 本頁面
   

【正文】 求解器設(shè)置雙擊脈沖發(fā)生器模塊,根據(jù)實(shí)際需要設(shè)置脈沖周期與脈沖寬度。 顯示部分模塊連接Red Rect模塊若不做任何修改,它只能顯示紅色,用戶可以根據(jù)需要設(shè)置模塊的背景色、外框、亮燈顏色、滅燈顏色等,、。 常數(shù)模塊 合路器模塊 Goto模塊,任意設(shè)置常數(shù)red與green的值,例如7,這代表紅燈與綠燈的點(diǎn)亮?xí)r長(zhǎng)。不過在流程圖的遷移條件里不能直接使用該函數(shù),為此將其封裝成Embedded MATLAB函數(shù)remain(x),代碼如下。 % 取變量redgreen作為南北向計(jì)時(shí)起始值 sec=(redgreen)*10。case 3 % 東西向禁行時(shí) ewsec=red。 % 取變量red作為南北向計(jì)時(shí)起始值 ewsec=green。簡(jiǎn)便起見,可以設(shè)置任意一個(gè)狀態(tài)作為默認(rèn)遷移狀態(tài),進(jìn)入該狀態(tài)時(shí),便開始倒數(shù)計(jì)時(shí),顯然處于不同的狀態(tài),每個(gè)方向的倒數(shù)計(jì)時(shí)起始值是不一樣的:例如紅燈50秒、黃燈5秒、綠燈45秒。 Callbacks頁1. Stateflow狀態(tài)圖一個(gè)小型路口的交通燈亮滅過程可以用以下文字簡(jiǎn)單表示:南北向禁行時(shí)紅燈亮起并保持50秒,同時(shí)東西向通行,綠燈亮起,但只保持45秒,45秒時(shí)東西向緩行,黃燈亮起,保持5秒;之后東西向禁行,紅燈亮起并保持50秒,同時(shí)南北向通行,綠燈亮起,同樣只保持45秒,45秒時(shí)南北向緩行,黃燈亮起,保持5秒,如此循環(huán)反復(fù)。, num2str(Lap))。endset_param(39。Value39。, num2str(start))。endset_param(39。Value39。 編輯回調(diào)函數(shù)⑦添加Start/Reset按鈕的回調(diào)方法代碼如下,其中stopwatch_state表示模型名稱,用戶應(yīng)按實(shí)際調(diào)整。 調(diào)整功能驗(yàn)證模型② 選擇MATLAB界面的菜單項(xiàng)File→New→GUI,在打開的對(duì)話框中選擇GUI模板為Blank GUI,勾選下方的Save new figure as…,指定GUI文件名,并確保文件路徑與Simulink模型的一致。再次雙擊Start開關(guān),系統(tǒng)停止計(jì)時(shí),顯示最后計(jì)時(shí)值,:3. 創(chuàng)建GUI界面利用Simulink模塊庫(kù)提供的開關(guān)模塊,已能實(shí)現(xiàn)本例的功能,但若模型需要大量的開關(guān),必然導(dǎo)致常數(shù)模塊或連線間的交叉點(diǎn)增多,人為使得模型變得復(fù)雜。由于每個(gè)Stateflow模塊只能有一個(gè)事件輸入口,有多個(gè)外部輸入事件時(shí),必須使用Mux模塊將它們組合成向量。 綜合應(yīng)用1. Stateflow狀態(tài)圖,添加默認(rèn)遷移的事件與條件動(dòng)作,每當(dāng)事件TIC發(fā)生,執(zhí)行{percent = percent +1 },之后再判斷是否進(jìn)行分秒進(jìn)位,此即可作為一個(gè)計(jì)時(shí)流程。l Build Options:u Generate Code Only (nonincremental) :為模型中的所用圖表生成代碼。l I/O data format:u Use global input/output data :生成圖表的輸入輸出數(shù)據(jù)并作為全局變量。}else{ z = temp。temp = a[i]。amp。}else { a2(9)。此優(yōu)化功能還能消除無效代碼。 } }}被表示為:if(c1) { a1()。}l Recognize ifelseifelse in nested ifelse statements:通過使用ifelseifelse結(jié)構(gòu)提高多層次嵌套的ifelse代碼的可讀性。例如,生成代碼:if(c1) { if(c1) { a1()。但是當(dāng)目標(biāo)處理器不包含操作bitsets的說明時(shí),能夠增加存儲(chǔ)目標(biāo)代碼的內(nèi)存用量。③用戶目標(biāo)配置對(duì)話框的General面板內(nèi)可做如下設(shè)置:l User Comments in generated code:在生成代碼中包含用戶自定義的注釋。若用戶并不想為應(yīng)用建立快速原型或產(chǎn)品,而是要生成其獨(dú)立代碼,則可以使用代碼生成軟件Stateflow Coder建立用戶目標(biāo),但該軟件生成的代碼并未經(jīng)過RTW的優(yōu)化。注意應(yīng)保留模型中的觸發(fā)端口。此處將Simulink函數(shù)命名為x=sim_fun(a,b)。以下說明Simulink函數(shù)的用法。Simulink函數(shù)一般應(yīng)用于:①需要用到lookup tables等Simulink模塊的函數(shù);②多控制器的調(diào)度執(zhí)行。單擊“?”處編輯圖形盒名稱。引入圖形盒會(huì)改變并行狀態(tài)的激活順序。添加圖形盒后,圖形盒中圖形對(duì)象的可視性以及并行狀態(tài)的激活順序都會(huì)有所變化。 //計(jì)算矩形周長(zhǎng)area=length*width。 MATLAB函數(shù)② 單擊“?”處可以編輯Embedded MATLAB函數(shù)名稱,命名規(guī)則與圖形函數(shù)類似,此處命名為[len,area]=rectangle(length,width)。Embedded MATLAB函數(shù)通過調(diào)用MATLAB語言中的一個(gè)子集Embedded MATLAB實(shí)現(xiàn)其功能。由于該圖形函數(shù)較復(fù)雜,可以用先將圖形完全包含在函數(shù)框中,然后用右鍵菜單中的Make Contents→subcharted功能簡(jiǎn)化圖形函數(shù)。右鍵單擊圖形函數(shù),選擇Pattern→add design→ifelseifelse…。② 單擊“?”處進(jìn)入編輯狀態(tài),用戶可以在此定義所需要的函數(shù)。圖形函數(shù)與MATLAB函數(shù)、C函數(shù)有一定的相似之處,例如:圖形函數(shù)同樣需要接收參數(shù)并返回結(jié)果;用戶可以在狀態(tài)/遷移動(dòng)作中調(diào)用圖形函數(shù)。amp。amp。(Truth table)熟悉數(shù)字電路的用戶。隱含事件/條件含義change(data_name) or chg(data_name)對(duì)指定變量(data_name)寫入數(shù)據(jù)時(shí),隱含的產(chǎn)生一個(gè)本地信號(hào)。例如狀態(tài)圖被喚醒、進(jìn)入一個(gè)狀態(tài)、退出一個(gè)狀態(tài)或向內(nèi)部數(shù)據(jù)對(duì)象賦值。②將條件動(dòng)作{send(event_1,Fan)}替換為遷移動(dòng)作/。 send函數(shù)直接事件廣播用事件名直接事件廣播,即可用事件名直接事件廣播。① 當(dāng)父狀態(tài)PowerOn激活時(shí),;② ,廣播事件fanoff,于是響應(yīng)事件fanoff。 本地事件廣播使用事件廣播,可以在某個(gè)狀態(tài)內(nèi)部觸發(fā)其他并行狀態(tài)的執(zhí)行,這樣就可以在系統(tǒng)的不同狀態(tài)之間實(shí)現(xiàn)交互,讓一個(gè)狀態(tài)的改變影響其他狀態(tài)。其默認(rèn)激活順序?yàn)椋簭纳系较?,從左到右?設(shè)置狀態(tài)關(guān)系在狀態(tài)圖編輯窗口的空白處,選擇右鍵菜單項(xiàng)Deposition→Exclusive(OR)或Parallel(AND),可設(shè)置頂級(jí)狀態(tài)的關(guān)系。,當(dāng)狀態(tài)A處于激活狀態(tài)時(shí),B事件發(fā)生則激活狀態(tài)B,這時(shí)便執(zhí)行狀態(tài)B中的流程圖,并且只執(zhí)行一次,執(zhí)行完成后B狀態(tài)仍保持激活,直到發(fā)生事件A,退出B狀態(tài)。 建立子狀態(tài)圖雙擊子狀態(tài)圖A可以看到其內(nèi)部細(xì)節(jié)。與Simulink中的子系統(tǒng)類似,子狀態(tài)圖隱藏了模型的細(xì)節(jié),簡(jiǎn)化了圖表。于是第1次激活A(yù)2狀態(tài)時(shí),被激活的子狀態(tài)是C2,而不是C1。,圖表激活時(shí),默認(rèn)遷移激活狀態(tài)A,這時(shí)按以下優(yōu)先級(jí)檢測(cè)遷移是否有效:① 檢測(cè)高層A,B狀態(tài)的外部遷移是否有效(event1,event2);② 檢測(cè)高層A,B狀態(tài)的內(nèi)部遷移是否有效(event3);③ 檢測(cè)低層a1,a2,b1狀態(tài)的超遷移是否有效(event4);④ 檢測(cè)父狀態(tài)A內(nèi)部子狀態(tài)間的遷移是否有效(event5,event6)。 帶有節(jié)點(diǎn)的遷移使用了內(nèi)部遷移,可直接從父狀態(tài)激活相應(yīng)的子狀態(tài),不必經(jīng)過節(jié)點(diǎn),大大簡(jiǎn)化狀態(tài)圖。如果遷移穿越了父狀態(tài)的邊界直接到達(dá)了低層次的子狀態(tài),則被稱之為超遷移。③ :3. 兩種方式的對(duì)比盡管用戶可以手動(dòng)建立流程圖,但使用流程圖向?qū)У膬?yōu)勢(shì)也是顯而易見的:l 任何一種流程圖都可歸結(jié)為判斷、循環(huán)、多條件,或者三者的組合,因此皆可以使用向?qū)ё詣?dòng)生成;l 使用向?qū)傻牧鞒虉D符合MAAB(MathWorksAutomotive Advisory Board)規(guī)則,這有利于后期模型檢查;l 各種流程圖的外觀基本一致;l 將設(shè)計(jì)好的流程圖,另存為模板,便于重用。Stateflow提供了快速建立流程圖的向?qū)?,它可以生?類基本邏輯:判斷、循環(huán)、多條件。為避免用戶錯(cuò)誤地設(shè)置優(yōu)先級(jí),Stateflow提供了另一種模式:隱性優(yōu)先級(jí)。④ 優(yōu)先級(jí)兩個(gè)判斷節(jié)點(diǎn)AB1,均有兩條輸出遷移,分別標(biāo)記了數(shù)字2,這表示遷移的優(yōu)先級(jí)。min=min+1。:② 條件節(jié)點(diǎn)與終節(jié)點(diǎn)根據(jù)代碼的執(zhí)行過程,逐一添加條件節(jié)點(diǎn)ABC1,終節(jié)點(diǎn)AB2,以及節(jié)點(diǎn)間的遷移與遷移標(biāo)簽。 sec=sec+1。因此可以將幾個(gè)相同的遷移段合并為一個(gè),用一個(gè)遷移表示多個(gè)可能發(fā)生的遷移,簡(jiǎn)化狀態(tài)圖,由此生成的代碼也更加有效對(duì)于以下情況,用戶應(yīng)首先考慮使用節(jié)點(diǎn):l ifelse判斷結(jié)構(gòu)、自循環(huán)結(jié)構(gòu)、for循環(huán)結(jié)構(gòu);l 單源狀態(tài)到多目標(biāo)狀態(tài)的遷移;l 多源狀態(tài)到單目標(biāo)狀態(tài)的遷移;l 基于同一事件的遷移;注意:事件無法觸發(fā)從節(jié)點(diǎn)到狀態(tài)的遷移。而流程圖只是一種使用節(jié)點(diǎn)與遷移來表示條件、循環(huán)、多路選擇等邏輯的圖形,它不包含任何的狀態(tài)。 自動(dòng)創(chuàng)建對(duì)象向?qū)в脩艨梢圆粩鄦螕鬝cpoe與Proposed Parent的內(nèi)容,修改數(shù)據(jù)/事件的作用域與父對(duì)象。如果是某些數(shù)據(jù)或事件未定義,用戶可使用隨后出現(xiàn)的Symbol Autocreation Wizard向?qū)?,自?dòng)創(chuàng)建缺失的對(duì)象。不過目前的Stateflow狀態(tài)圖還缺少最關(guān)鍵的時(shí)鐘程序。secbuf = sec。minbuf=0。為不失一般性,本小節(jié)分別說明這兩種動(dòng)作的定義方法。 對(duì)于事件,用戶還需指定它的觸發(fā)方式,Rising表示上升沿、Failing表示下降沿,而Either表示上升或下降沿皆可觸發(fā),本例的兩個(gè)輸入事件start與LAP皆選用Either方式觸發(fā)。 修改數(shù)據(jù)名及作用范圍2. 模型瀏覽器在Stateflow狀態(tài)圖的頂層(即不選中任何圖形對(duì)象),選擇菜單項(xiàng)Tools→Explore,或直接按下Stateflow編輯器窗口的工具欄按鈕,打開模型瀏覽器,并確認(rèn)已選中左側(cè)模型結(jié)構(gòu)圖中的Chart節(jié)點(diǎn)。前者的優(yōu)勢(shì)是添加方便,但菜單項(xiàng)僅提供了添加功能,無法通過菜單刪除已添加的數(shù)據(jù)或事件,因此我們推薦用戶使用模型瀏覽器。圖中的遷移標(biāo)簽start表示按下start按鈕這個(gè)事件,而LAP則表示按下LAP按鈕。完成編輯后,將鼠標(biāo)放在標(biāo)簽的任意位置,按住左鍵并拖動(dòng),調(diào)整標(biāo)簽的位置。由于Stop是父狀態(tài),還需要針對(duì)其中的子狀態(tài),設(shè)置默認(rèn)遷移,關(guān)于Stateflow的層次結(jié)構(gòu)。 調(diào)整狀態(tài)框再按步驟①、②,添加狀態(tài)Reset、Finished,放置在狀態(tài)Stop的矩形框內(nèi),這時(shí)Stop為超狀態(tài),Reset、Finished為子狀態(tài)。在加入之前,用戶可隨時(shí)按下鍵盤的ESC鍵,或再次單擊按鈕,取消添加。,它們是Stateflow動(dòng)作語言的組成部分,因此是不能用來為對(duì)象命名的。y=2。例如:函數(shù)調(diào)用:(x)。2. 事件事件也是非圖形的對(duì)象,它驅(qū)動(dòng)著整個(gè)Stateflow狀態(tài)圖的運(yùn)行。標(biāo)簽內(nèi)容標(biāo)簽有效條件僅事件該事件發(fā)生事件與條件該事件發(fā)生及條件為真僅條件任何事件發(fā)生及條件為真僅行動(dòng)任何事件發(fā)生空
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1