91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于模擬軟件的啟動(dòng)和關(guān)閉的分析說(shuō)明

MATLAB ? 來(lái)源:djl ? 作者:Guy Rouleau ? 2019-09-16 14:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在之前的導(dǎo)出函數(shù)文章中,介紹了如何配置仿真模型并將它導(dǎo)出為函數(shù):使用 Model 模塊。

案例中,我們的模型模擬的是代碼運(yùn)行一次的行為。也就是說(shuō):假設(shè)這些代碼要跑在 ECU 里,當(dāng)模型仿真開始ECU 啟動(dòng),這些代碼就運(yùn)行,當(dāng)仿真結(jié)束ECU 停止。

這是個(gè)有意思的過程,不過,要是你想仿真一些更復(fù)雜的場(chǎng)景,比如 ECU 多次啟動(dòng)和關(guān)閉的場(chǎng)景呢?

這就是需要用的Initialize Function 和 Terminate Function 模塊。

下面的例子模擬了一輛車在兩種不同情況下多次啟動(dòng)和關(guān)閉的場(chǎng)景:

關(guān)于模擬軟件的啟動(dòng)和關(guān)閉的分析說(shuō)明

a.當(dāng)車在運(yùn)行時(shí),我們使用計(jì)數(shù)器累加來(lái)跟蹤記錄發(fā)動(dòng)機(jī)的在它的整個(gè)生命周期里運(yùn)行的全部時(shí)間。

b. 在正常關(guān)停的場(chǎng)景下,車鑰匙熄火,我們將累計(jì)的時(shí)間寫入一個(gè) non-volatile 內(nèi)存。所以,在下次汽車啟動(dòng)的時(shí)候它還可以被讀出來(lái)。

c. 假如電池沒電了汽車也會(huì)關(guān)停,但是這時(shí)候我們就沒有機(jī)會(huì)把累計(jì)時(shí)間寫入 non-volatile 內(nèi)存了。

下面我們來(lái)看看如何實(shí)現(xiàn)上述邏輯。

使用 Initialize 和 Terminate 事件

首先用一個(gè)簡(jiǎn)單的計(jì)數(shù)器例子,用來(lái)模擬發(fā)動(dòng)機(jī)運(yùn)行時(shí)間計(jì)數(shù):

關(guān)于模擬軟件的啟動(dòng)和關(guān)閉的分析說(shuō)明

把上圖這種形式的導(dǎo)出函數(shù)模型,使用一個(gè)Model 模塊引用起來(lái)。在 R2016b 里 Model 模塊的參數(shù)設(shè)置對(duì)話框里就會(huì)出現(xiàn)兩個(gè)新選項(xiàng):

關(guān)于模擬軟件的啟動(dòng)和關(guān)閉的分析說(shuō)明

勾選這兩個(gè)選項(xiàng),Model 模塊就多出兩個(gè)輸入端口,可連接 Function-call 信號(hào)(見下圖)。

作為第一次簡(jiǎn)單嘗試,我們用一個(gè) Stateflow chart 來(lái)仿真車鑰匙啟、停時(shí)分別啟動(dòng)和關(guān)閉這個(gè)計(jì)數(shù)器 EngineRunTime。

關(guān)于模擬軟件的啟動(dòng)和關(guān)閉的分析說(shuō)明

仿真結(jié)果如下:

關(guān)于模擬軟件的啟動(dòng)和關(guān)閉的分析說(shuō)明

當(dāng)車鑰匙啟動(dòng)時(shí),計(jì)數(shù)器在增長(zhǎng),而當(dāng)車鑰匙關(guān)停時(shí),計(jì)數(shù)器停止計(jì)數(shù)。而當(dāng)車鑰匙再次啟動(dòng)的時(shí)候,計(jì)數(shù)器重置了。

自定義Initialize 和 Terminate 事件

就像之前所說(shuō)的,我們并不希望這個(gè)計(jì)數(shù)器在每一次車鑰匙關(guān)停的時(shí)候都重置,不然就沒法累計(jì)發(fā)動(dòng)機(jī)的運(yùn)行時(shí)間了。

為了保留這個(gè)計(jì)數(shù)器的值,我們這時(shí)候就可以使用 Initialization 和 Terminate 模塊了。

關(guān)于模擬軟件的啟動(dòng)和關(guān)閉的分析說(shuō)明

在 Terminate Function 內(nèi)部,我們使用 State Reader 模塊來(lái)獲取當(dāng)前的計(jì)數(shù)值,并保存在 Data Store 模塊里。類似的,在 Initialize Function 內(nèi)部,我們可以讀取這個(gè) Data Store 模塊,并用這個(gè)值來(lái)初始化計(jì)數(shù)器。

譯者補(bǔ)充:熟悉 Simulink 代碼生成的朋友都知道,EngineRunTime 模型生成代碼時(shí),會(huì)生成 step 函數(shù),以及相應(yīng)的Initialize 和 terminate 函數(shù)。默認(rèn)情況下 Initialize 函數(shù)里進(jìn)行輸入、輸出以及狀態(tài)量的初始化,terminate函數(shù)里是空的。R2016b 之后,新增加的這個(gè) Initialize 和 terminate 模塊,可以讓你顯示的定義這兩個(gè)函數(shù)里的內(nèi)容。

我們來(lái)看結(jié)果:

關(guān)于模擬軟件的啟動(dòng)和關(guān)閉的分析說(shuō)明

在車鑰匙關(guān)閉和重啟后,每一次EngineRunTime 被重新調(diào)用運(yùn)行時(shí),是在持續(xù)計(jì)數(shù)的。

Reset Function

就像之前說(shuō)的,我們還需要模擬由于電池電壓過低引起的車輛重啟。

這表示,在有些真實(shí)場(chǎng)景下,有時(shí)候計(jì)數(shù)器模型結(jié)束運(yùn)行的時(shí)候,我們是沒機(jī)會(huì)往Data Store 里寫數(shù)據(jù)的。

為了模擬這種場(chǎng)景,我們把原來(lái)的Terminate 模塊里面的 Terminate Event Listener 模塊的事件類型從 Terminate 改為 Reset,并設(shè)置一個(gè)有含義的名字 writeNVmem。

關(guān)于模擬軟件的啟動(dòng)和關(guān)閉的分析說(shuō)明

這樣一來(lái),模型里就不再有Terminate Function 模塊了。當(dāng)仿真觸發(fā) terminate 事件后,就會(huì)執(zhí)行默認(rèn)的模塊 terminate 函數(shù)。

我們重寫 Stateflow 調(diào)度器,處理這兩種關(guān)停的情況:

關(guān)于模擬軟件的啟動(dòng)和關(guān)閉的分析說(shuō)明

注意,在上面這個(gè)模型中,我們?cè)?Model 的參數(shù)對(duì)話框里勾選了 "Show model reset ports",所以就出來(lái)了這個(gè)額外的 writeNVmem 端口。

仿真結(jié)果如下:

關(guān)于模擬軟件的啟動(dòng)和關(guān)閉的分析說(shuō)明

可以看到,在因?yàn)殡姵厥Ф鸬年P(guān)停時(shí),計(jì)數(shù)器的值并不會(huì)保存給下次重啟的時(shí)候用。

代碼生成

現(xiàn)在,仿真結(jié)果跟我們想要的一致了,接著我們來(lái)生成代碼。

在生成的代碼里,寫入 non-volatile 內(nèi)存一般都是用戶自定義代碼來(lái)實(shí)現(xiàn),或者是 Embedded target 提供的硬件服務(wù)。為了模擬這種情況,我們使用 Function call 模塊和 Simulink Function 來(lái)實(shí)現(xiàn),以前的帖子有介紹過這兩個(gè)模塊的用法。

簡(jiǎn)單來(lái)說(shuō),就是把上面 EngineRunTime 模型里的 Data Store Read/Write 模塊替換為 Function call。

另外,為了能在仿真的時(shí)候得到同樣的結(jié)果,我們使用 Simulink Function 來(lái)完成讀寫 Data Store 這個(gè)功能,跟之前在Initialize 和Terminate function 的讀寫功能一樣。

這就是整個(gè)模型的結(jié)構(gòu):

關(guān)于模擬軟件的啟動(dòng)和關(guān)閉的分析說(shuō)明

之前的帖子有介紹過,在代碼生成的時(shí)候,可以在 EngineRunTime模型里設(shè)置配置選項(xiàng),告訴 Simulink 在鏈接的時(shí)候,去哪里找這個(gè) writeEngineRunTimNV 和 readEngineRunTimNV 函數(shù)。

我們把這個(gè)導(dǎo)出函數(shù)模型生成如下代碼:

關(guān)于模擬軟件的啟動(dòng)和關(guān)閉的分析說(shuō)明

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 計(jì)數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2317

    瀏覽量

    98234
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4418

    瀏覽量

    67575
  • 電池
    +關(guān)注

    關(guān)注

    85

    文章

    11541

    瀏覽量

    143603
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    系統(tǒng)無(wú)法啟動(dòng)掛起怎么解決?

    ,然后可能因缺少 U-boot 指令而停止。使用其他一些軟件,我可以訪問系統(tǒng) SSH。但是不知道如何繼續(xù)啟動(dòng)選項(xiàng)。 可以做些什么來(lái)關(guān)閉公告并獲得正常啟動(dòng)?
    發(fā)表于 03-12 06:40

    APx500 軟件演示模式 (Demo Mode) 竟有這些隱藏玩法?免費(fèi)體驗(yàn)!

    圖1.APx500軟件啟動(dòng)畫面與硬件檢測(cè)窗口當(dāng)您在未連接APx分析儀的情況下啟動(dòng)APx500軟件時(shí),系統(tǒng)會(huì)提示您進(jìn)入演示模式(DemoMod
    的頭像 發(fā)表于 12-29 09:04 ?507次閱讀
    APx500 <b class='flag-5'>軟件</b>演示模式 (Demo Mode) 竟有這些隱藏玩法?免費(fèi)體驗(yàn)!

    電能質(zhì)量在線監(jiān)測(cè)裝置的報(bào)警功能可以關(guān)閉嗎?

    電能質(zhì)量在線監(jiān)測(cè)裝置的報(bào)警功能 能否關(guān)閉及如何關(guān)閉,取決于裝置的設(shè)計(jì)、功能等級(jí)和具體配置 。以下是詳細(xì)分析: 一、核心結(jié)論:報(bào)警功能可部分關(guān)閉,但安全相關(guān)報(bào)警通常不可禁用 多數(shù)裝置支持
    的頭像 發(fā)表于 11-05 13:38 ?443次閱讀

    交易關(guān)閉自動(dòng)處理接口

    ? ?在電商、支付系統(tǒng)或任何交易密集型應(yīng)用中,交易關(guān)閉(如用戶取消訂單、支付超時(shí)或系統(tǒng)異常)是常見事件。手動(dòng)處理這些事件效率低下且易出錯(cuò),因此開發(fā)一個(gè)自動(dòng)處理接口至關(guān)重要。本文將從需求分析、工作原理
    的頭像 發(fā)表于 10-17 14:25 ?456次閱讀
    交易<b class='flag-5'>關(guān)閉</b>自動(dòng)處理接口

    關(guān)于太陽(yáng)光模擬器的常見問題解答(一)

    太陽(yáng)光模擬器是研究與測(cè)試中不可或缺的核心設(shè)備,其性能直接關(guān)系到數(shù)據(jù)的準(zhǔn)確性與可靠性。為幫助大家更深入地理解其工作原理與選型要點(diǎn),下文,紫創(chuàng)測(cè)控Luminbox梳理了關(guān)于太陽(yáng)光模擬器的高頻疑問以及解答
    的頭像 發(fā)表于 10-15 18:04 ?538次閱讀
    <b class='flag-5'>關(guān)于</b>太陽(yáng)光<b class='flag-5'>模擬</b>器的常見問題解答(一)

    電能質(zhì)量分析軟件可以提供哪些數(shù)據(jù)分析功能?

    、CET 中電技術(shù)等)的技術(shù)特性,從核心功能模塊展開說(shuō)明: 一、基礎(chǔ)電能質(zhì)量指標(biāo)分析 軟件可實(shí)時(shí)計(jì)算并存儲(chǔ) 100 + 項(xiàng)關(guān)鍵參數(shù) ,涵蓋電壓、電流、功率、頻率等穩(wěn)態(tài)指標(biāo),以及諧波、閃變、不平衡度等動(dòng)態(tài)特性: 穩(wěn)態(tài)指標(biāo) : 真有
    的頭像 發(fā)表于 10-10 17:12 ?824次閱讀

    TINA-TI 模擬電路設(shè)計(jì)、仿真和分析軟件中文教程

    電子發(fā)燒友網(wǎng)站提供《TINA-TI 模擬電路設(shè)計(jì)、仿真和分析軟件中文教程.pdf》資料免費(fèi)下載
    發(fā)表于 09-03 17:10 ?3次下載

    詳解線性穩(wěn)壓器的啟動(dòng)特性

    以下將介紹線性穩(wěn)壓器電源(VIN)開啟時(shí)的啟動(dòng)特性及關(guān)閉時(shí)的特性。當(dāng)線性穩(wěn)壓器的電源在開啟與關(guān)閉時(shí),其工作特性會(huì)受VIN的瞬態(tài)變化及輸出電容的靜電容量等因素影響而變化。由于這些特性往往會(huì)對(duì)負(fù)載設(shè)備產(chǎn)生影響,因此在工作性能評(píng)估中,
    的頭像 發(fā)表于 07-28 11:14 ?1667次閱讀
    詳解線性穩(wěn)壓器的<b class='flag-5'>啟動(dòng)</b>特性

    請(qǐng)問Linux+rtos的1.9版本sdk大核開機(jī)自啟動(dòng)一個(gè)程序怎么關(guān)閉?

    編譯開機(jī)大核心就出現(xiàn)一個(gè)程序報(bào)錯(cuò),01開發(fā)板csi2上面默認(rèn)接的攝像頭是gc2093的,運(yùn)行的是ov5647 期待結(jié)果和實(shí)際結(jié)果 可以關(guān)閉這個(gè)自啟動(dòng)程序;也希望順帶知道我要開啟自啟動(dòng)的程序放在哪里 軟硬件版本信息 01stido
    發(fā)表于 07-22 06:07

    【案例2.36】芯片啟動(dòng)異常的故障分析

    【案例2.36】芯片啟動(dòng)異常的故障分析在某產(chǎn)品的調(diào)試中發(fā)現(xiàn),板上核心處理芯片在每次啟動(dòng)后的表現(xiàn)不同,偶爾會(huì)出現(xiàn)無(wú)法啟動(dòng)的故障。經(jīng)過幾百次反復(fù)上下電測(cè)試發(fā)現(xiàn),在大多數(shù)情況下,芯片
    的頭像 發(fā)表于 06-26 08:24 ?1023次閱讀
    【案例2.36】芯片<b class='flag-5'>啟動(dòng)</b>異常的故障<b class='flag-5'>分析</b>

    華秋DFM軟件升級(jí)時(shí),提示“應(yīng)用程序無(wú)法正常啟動(dòng)”怎么辦?

    最近有用戶反饋: 登錄華秋DFM軟件,點(diǎn)自動(dòng)升級(jí)的時(shí)候有時(shí)會(huì)報(bào)錯(cuò),導(dǎo)致無(wú)法正常升級(jí)。 其中有一種情況是: 軟件自動(dòng)升級(jí)時(shí),彈出“應(yīng)用程序無(wú)法正常啟動(dòng)(0xc000007b)。請(qǐng)單擊“確定\"
    發(fā)表于 06-12 18:32

    FRED 應(yīng)用于照明系統(tǒng)的分析模擬

    ,可以隨你所需要而更改顏色,使你更容易的區(qū)別出光線的信息。 (二)LED 的應(yīng)用及模擬 在FRED 你可以設(shè)計(jì)或分析LED 光源,可分析LED 的視角,照度圖、色座標(biāo),及LED 的應(yīng)用如混光、照明等等之用
    發(fā)表于 06-06 08:53

    盟通方案|專業(yè)的CANopen總線分析軟件

    過程中用最短的時(shí)間通過數(shù)據(jù)幀分析排除每一個(gè)問題。除了數(shù)據(jù)幀分析功能外,分析軟件還需要能夠模擬和仿真數(shù)據(jù)幀的指令操作,才能更方便地確認(rèn)問題,驗(yàn)
    的頭像 發(fā)表于 05-23 16:06 ?802次閱讀
    盟通方案|專業(yè)的CANopen總線<b class='flag-5'>分析</b><b class='flag-5'>軟件</b>

    LASCAD應(yīng)用:動(dòng)態(tài)多模分析和調(diào)Q運(yùn)轉(zhuǎn)模擬

    目錄 動(dòng)態(tài)多模分析和調(diào)Q運(yùn)轉(zhuǎn)模擬1 1.介紹1 2.激光器連續(xù)輸出時(shí)輸出功率,模式競(jìng)爭(zhēng),和光束質(zhì)量的模擬2 3.Q開關(guān)運(yùn)轉(zhuǎn)模擬6 4.光闌影響模擬
    發(fā)表于 05-19 08:52

    FRED 應(yīng)用于照明系統(tǒng)的分析模擬

    ,可以隨你所需要而更改顏色,使你更容易的區(qū)別出光線的信息。 (二)LED 的應(yīng)用及模擬 在FRED 你可以設(shè)計(jì)或分析LED 光源,可分析LED 的視角,照度圖、色座標(biāo),及LED 的應(yīng)用如混光、照明等等之用
    發(fā)表于 05-14 08:51