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

正文內(nèi)容

詳解stateflow建模與應(yīng)用實(shí)例(已修改)

2025-07-05 04:53 本頁(yè)面
 

【正文】 port_label(39。input39。,1,39。signal39。)。port_label(39。output39。,1,39。gain39。)。port_label(39。output39。,2,39。saturation39。)。port_label(39。output39。,3,39。sample39。)。port_label(39。output39。,4,39。error39。)。image(imread(39。39。))第3章Stateflow建模與應(yīng)用Stateflow是有限狀態(tài)機(jī)(finite state machine)的圖形工具,它通過開發(fā)有限狀態(tài)機(jī)和流程圖擴(kuò)展了Simulink的功能。Stateflow使用自然、可讀和易理解的形式,可使復(fù)雜的邏輯問題變得清晰與簡(jiǎn)單,并且還與MATLAB\Simulink緊密集成,為包含控制、優(yōu)先級(jí)管理、工作模式邏輯的嵌入式系統(tǒng)設(shè)計(jì)提供了有效的開發(fā)手段,是本書的核心內(nèi)容之一。讀者在5~8章將看到Stateflow應(yīng)用于MCU器件的嵌入式開發(fā),尤其顯得得心應(yīng)手,一些采用傳統(tǒng)方法難于實(shí)現(xiàn)的算法,如果利用Stateflow建模卻非常容易。大到導(dǎo)彈、航空航天器的控制,小到點(diǎn)亮一個(gè)發(fā)光二極管,Stateflow都非常稱職。Stateflow狀態(tài)圖模型,還可利用Stateflow Coder代碼生成工具,直接生成C代碼。Stateflow的主要功能包括:l 使用層次化、可并行的、有明確執(zhí)行語義的元素,來描述復(fù)雜的邏輯系統(tǒng)。 l 采用流程圖定義圖形化函數(shù)。l 利用真值表實(shí)現(xiàn)表格形式的功能。 l 使用臨時(shí)邏輯處理狀態(tài)轉(zhuǎn)移與事件。 l 支持Mealy和Moore有限狀態(tài)機(jī)。 l 可集成用戶自定義的C代碼。 l 可用動(dòng)畫的形式顯示狀態(tài)圖的仿真運(yùn)行過程,并可記錄數(shù)據(jù)。 l 調(diào)試器使用圖形化斷點(diǎn)進(jìn)行單步調(diào)試,并可觀察其中的數(shù)據(jù)。本章主要內(nèi)容:l Stateflow工作原理與基本概念l 建立Stateflow狀態(tài)圖與流程圖l Stateflow的層次結(jié)構(gòu)與并行機(jī)制l Stateflow應(yīng)用Stateflow對(duì)象可分為圖形對(duì)象與非圖形對(duì)象。圖形對(duì)象有狀態(tài)、歷史節(jié)點(diǎn)、遷移、默認(rèn)遷移、連接節(jié)點(diǎn)、真值表、圖形函數(shù)、Embedded MATLAB函數(shù)、盒函數(shù)、Simulink函數(shù);非圖形對(duì)象有事件、數(shù)據(jù)、目標(biāo)。本節(jié)首先介紹常用的對(duì)象:狀態(tài)、遷移、數(shù)據(jù)、事件的概念和使用,、。Stateflow狀態(tài)機(jī)使用一種基于容器的層次結(jié)構(gòu)管理Stateflow對(duì)象,也就是說,一個(gè)Stateflow對(duì)象可以包含其他Stateflow對(duì)象。最高級(jí)的對(duì)象是Stateflow狀態(tài)機(jī),它包含了所有的Stateflow對(duì)象,因此也就包含了Simulink中的所有Stateflow狀態(tài)圖,以及數(shù)據(jù)、事件、目標(biāo)對(duì)象。同樣地,狀態(tài)圖包含了狀態(tài)、盒函數(shù)、函數(shù)、數(shù)據(jù)、事件、遷移、節(jié)點(diǎn)與注釋事件(note events)。用戶可以使用這一系列對(duì)象,建立一個(gè)Stateflow狀態(tài)圖。而具體到一個(gè)狀態(tài),它也可以包含上述的對(duì)象。(數(shù)據(jù)字典) Stateflow狀態(tài)機(jī)的組成在Simulink模塊庫(kù)瀏覽器,找到Stateflow模塊,添加入模型窗口。 Stateflow模塊用戶也可以使用以下命令,建立帶有Stateflow狀態(tài)圖的Simulink模型,同時(shí)打開Stateflow模塊庫(kù)。sf 帶有Stateflow狀態(tài)圖的Simulink模型 Stateflow模塊庫(kù)用戶還可以直接使用以下命令,快速建立帶有Stateflow狀態(tài)圖的Simulink模型。sfnew雙擊Chart模塊,打開Stateflow編輯器窗口,左側(cè)工具欄列出了Stateflow圖形對(duì)象的按鈕。 Stateflow編輯器窗口狀態(tài)可以理解為事件驅(qū)動(dòng)系統(tǒng)中的模式,可分為激活與非激活狀態(tài),而狀態(tài)是否激活則是由狀態(tài)圖中的事件與條件決定的,若沒有預(yù)先定義的事件或條件發(fā)生,狀態(tài)將一直保持其原先的激活或非激活狀態(tài)。1. 狀態(tài)的層次結(jié)構(gòu)狀態(tài)可以包含除了目標(biāo)()以外的所有Stateflow對(duì)象,所以狀態(tài)內(nèi)部可以有其他狀態(tài),處于外層的A稱作超狀態(tài)(或父狀態(tài)),處于內(nèi)部的B稱作子狀態(tài)。每一個(gè)狀態(tài)都有其父狀態(tài),狀態(tài)A的父狀態(tài)就是Stateflow狀態(tài)圖本身。 超狀態(tài)與子狀態(tài)2. 狀態(tài)的橫向結(jié)構(gòu)在Stateflow狀態(tài)圖的頂層或某一超狀態(tài)下,通常并存有多個(gè)狀態(tài),它們之間的關(guān)系可分為互斥與并行。(1) 互斥狀態(tài)(OR)互斥狀態(tài)的矩形框邊緣顯示為實(shí)線,同一級(jí)的互斥狀態(tài),至多允許激活一個(gè)狀態(tài)。,狀態(tài)A與狀態(tài)B是互斥的,它們只能有一個(gè)處于激活狀態(tài);當(dāng)狀態(tài)A被激活時(shí),同樣其子狀態(tài)A1與A2也只能有一個(gè)處于激活狀態(tài)。(2) 并行狀態(tài)(AND)并行狀態(tài)的矩形框邊緣顯示為虛線,同一級(jí)的并行狀態(tài),可在同一時(shí)刻被激活。狀態(tài)A與狀態(tài)B是并行的,它們可同時(shí)處于激活狀態(tài);子狀態(tài)A1與A2也同時(shí)處于激活狀態(tài),而子狀態(tài)B1與B2只能有一個(gè)處于激活狀態(tài)。狀態(tài)層次結(jié)構(gòu)與并行機(jī)制的詳細(xì)概念與應(yīng)用。3. 狀態(tài)標(biāo)簽狀態(tài)名僅是狀態(tài)標(biāo)簽的一部分,完整的標(biāo)簽格式如下,第一行是狀態(tài)名,以下若干行是各類動(dòng)作,用戶可以設(shè)置全部或部分的狀態(tài)動(dòng)作,當(dāng)然也可以不設(shè)置任何動(dòng)作。name/ 狀態(tài)名entry: entry actions 進(jìn)入該狀態(tài)時(shí)的動(dòng)作during: during actions 處于該狀態(tài)時(shí)的動(dòng)作exit: exit actions 退出該狀態(tài)時(shí)的動(dòng)作on event_name: on event_name actions 某事件發(fā)生時(shí)的動(dòng)作bind: events, data 指定需要限制作用范圍的事件與數(shù)據(jù)①狀態(tài)名狀態(tài)名可由字母、數(shù)字、下劃線組成,如果狀態(tài)名后跟隨的是回車符,則斜線是可有可無的。根據(jù)Stateflow的分層結(jié)構(gòu),同級(jí)的各個(gè)子狀態(tài)不允許重名,但不同級(jí)的狀態(tài)則不受限制。,盡管看上去狀態(tài)CC2有重名現(xiàn)象,但在Stateflow分層結(jié)構(gòu)中,它們的全名分別是:②狀態(tài)動(dòng)作。動(dòng)作類型縮寫說明entryen進(jìn)入當(dāng)前狀態(tài)時(shí)的動(dòng)作duringdu處于當(dāng)前狀態(tài),并且某事件發(fā)生時(shí)的動(dòng)作Executes when the state isactive and a specific eventoccursexitex離開當(dāng)前狀態(tài)時(shí)的動(dòng)作bind無約束一個(gè)事件或數(shù)據(jù),使得僅當(dāng)前狀態(tài)及其子狀態(tài)有權(quán)限廣播該事件或修改該數(shù)據(jù)on event_name無當(dāng)前狀態(tài)接收1次廣播事件時(shí)的動(dòng)作on after(n,event_name)無當(dāng)前狀態(tài)完整接收n次廣播事件后的動(dòng)作on before(n,event_name)無當(dāng)前狀態(tài)完整接收n次廣播事件前的動(dòng)作on at(n, event_name)無當(dāng)前狀態(tài)完整接收n次廣播事件時(shí)的動(dòng)作on every(n,event_name)無當(dāng)前狀態(tài)每接收n次廣播事件時(shí)的動(dòng)作每個(gè)動(dòng)作類型,用戶可指定多個(gè)具體動(dòng)作,每個(gè)動(dòng)作之間以回車、分號(hào)、逗號(hào)區(qū)隔,動(dòng)作類型關(guān)鍵詞后必須跟隨一個(gè)半角冒號(hào)。(1) entry動(dòng)作關(guān)鍵詞為entry(或縮寫為en)。如果用戶在狀態(tài)名后加入斜線,并直接跟隨具體動(dòng)作,則該動(dòng)作默認(rèn)為進(jìn)入動(dòng)作。,進(jìn)入狀態(tài)A時(shí),y=3,同時(shí)又執(zhí)行y++,最終的結(jié)果y=4。 entry動(dòng)作(2) during動(dòng)作關(guān)鍵詞為during(或縮寫為du)。,進(jìn)入狀態(tài)A時(shí),y=3,同時(shí)不斷執(zhí)行y++。,仿真時(shí)長(zhǎng)取2,則最終的結(jié)果y=13。 during動(dòng)作(3) exit動(dòng)作關(guān)鍵詞為exit(或縮寫為ex)。,系統(tǒng)處于狀態(tài)A,當(dāng)A的激活時(shí)間達(dá)到5個(gè)仿真步長(zhǎng),退出狀態(tài)A,進(jìn)入狀態(tài)B,最終的結(jié)果y=4。 exit動(dòng)作 輸出結(jié)果(4) 廣播事件動(dòng)作,能實(shí)現(xiàn)各種的事件觸發(fā)。以單次廣播事件動(dòng)作為例,關(guān)鍵詞為on event_name,其中event_name表示某一廣播事件名,事件名應(yīng)是唯一的。,系統(tǒng)處于狀態(tài)A,當(dāng)檢測(cè)到事件stop,立即執(zhí)行c()。(5) bind動(dòng)作關(guān)鍵詞為bind。,變量y、事件start被綁定在狀態(tài)A,這表示僅有A狀態(tài)及其子狀態(tài)有權(quán)限修改變量y并廣播事件start,其他狀態(tài)B能夠讀取變量y、監(jiān)聽到事件start,但無權(quán)修改變量y、廣播事件start。 bind動(dòng)作若運(yùn)行該狀態(tài)圖,系統(tǒng)提示變量y僅能由狀態(tài)A及其內(nèi)部的狀態(tài)遷移修改,事件start僅能在狀態(tài)A。 錯(cuò)誤提示與其他動(dòng)作不同,bind動(dòng)作不需要判斷當(dāng)前狀態(tài)是否已激活,也就是說它在整個(gè)Stateflow狀態(tài)圖范圍內(nèi)都是有效的,因此不同狀態(tài)不允許約束同一個(gè)變量與事件。,狀態(tài)A、B同時(shí)約束了變量y,系統(tǒng)提示這是不允許的。 無效的bind動(dòng)作 錯(cuò)誤提示Stateflow狀態(tài)圖使用一條單向箭頭曲線表示遷移,它將兩個(gè)圖形對(duì)象連接起來,多數(shù)情況下,遷移是指系統(tǒng)從源狀態(tài)向目標(biāo)狀態(tài)的轉(zhuǎn)移。在遷移曲線上加上標(biāo)簽,可以指定系統(tǒng)在何種條件下從源狀態(tài)向目標(biāo)狀態(tài)轉(zhuǎn)移。,當(dāng)系統(tǒng)處于狀態(tài)A1時(shí)間達(dá)到1秒,即向狀態(tài)A2遷移。 狀態(tài)遷移2. 默認(rèn)遷移默認(rèn)遷移是一種特殊的遷移形式,它沒有源對(duì)象。用于指定同一級(jí)有多個(gè)互斥狀態(tài)并存時(shí),首先激活的狀態(tài)。某些情況下,默認(rèn)遷移也可以加入標(biāo)簽,限制其所指向目標(biāo)狀態(tài)的激活。,狀態(tài)A1與A2是互斥的,當(dāng)它們的父狀態(tài)A激活時(shí),狀態(tài)A1也同時(shí)激活。 默認(rèn)遷移3. 遷移標(biāo)簽遷移標(biāo)簽的完整格式如下,它可用于一般遷移與默認(rèn)遷移。 event[condition]{condition_action}/transition_action 完整的遷移標(biāo)簽:標(biāo)簽字段說明event引發(fā)遷移的事件[condition]條件動(dòng)作與遷移的發(fā)生條件{condition_action}當(dāng)條件為真時(shí),執(zhí)行的動(dòng)作/transition_action發(fā)生遷移,進(jìn)入目標(biāo)狀態(tài)前所執(zhí)行的動(dòng)作① 事件指定遷移的觸發(fā)事件。如果用戶另行指定了觸發(fā)條件,則當(dāng)條件為真,且發(fā)生該觸發(fā)事件時(shí),即發(fā)生遷移。這是個(gè)可選項(xiàng),如果用戶不指定觸發(fā)事件,則任何事件都能夠引發(fā)該遷移。多個(gè)觸發(fā)事件之間使用邏輯或運(yùn)算符“|”分隔。,當(dāng)條件after(1,sec)為真時(shí),觸發(fā)了遷移,系統(tǒng)狀態(tài)從A1變成A2。②條件條件是一個(gè)布爾表達(dá)式,當(dāng)它為真時(shí),一旦發(fā)生指定的觸發(fā)事件,則發(fā)生遷移。條件表達(dá)式的前后必須使用方括號(hào)“[ ]”包圍。,當(dāng)條件[ y=3 ]為真時(shí),發(fā)生遷移。③條件動(dòng)作當(dāng)條件表達(dá)式為真時(shí),立刻執(zhí)行條件動(dòng)作。若事先未指定條件,系統(tǒng)則假設(shè)條件為真,并執(zhí)行該條件動(dòng)作。,當(dāng)條件[ y=3 ]為真,條件動(dòng)作{ y=10 }立刻執(zhí)行。④遷移動(dòng)作當(dāng)遷移目標(biāo)有效時(shí),執(zhí)行遷移動(dòng)作。若遷移標(biāo)簽由多個(gè)字段組成,則當(dāng)整個(gè)標(biāo)簽有效時(shí),執(zhí)行遷移動(dòng)作。,當(dāng)條件[ y=3 ]為真,且目標(biāo)狀態(tài)B有效時(shí),發(fā)生遷移,并執(zhí)行遷移動(dòng)作z=20。: 遷移條件與動(dòng)作 輸出結(jié)果4. 遷移有效條件對(duì)于非默認(rèn)的遷移,當(dāng)源對(duì)象處于激活狀態(tài)的且遷移標(biāo)簽有效時(shí),發(fā)生遷移;對(duì)于默認(rèn)遷移,當(dāng)其父狀態(tài)被激活時(shí),發(fā)生遷移。,用戶可以根據(jù)需要,選擇性地輸入遷移標(biāo)簽的部分或全部字段。標(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