上一次分享我們學(xué)習(xí)了VeriStand的Stimulus Profile功能,小編快馬加鞭為大家奉上VeriStand中User Channels(用戶通道)、Alarms(警報(bào))、Procedures(處理)功能的使用教程。
在模型在環(huán)仿真測(cè)試(MIL)中,模型的輸入、輸出不與實(shí)際硬件產(chǎn)生關(guān)聯(lián),即使數(shù)值超過(guò)允許范圍也不會(huì)產(chǎn)生實(shí)際損失;對(duì)于硬件在環(huán)仿真測(cè)試(HIL),與硬件相關(guān)聯(lián)的參數(shù)超出安全范圍意味著硬件處于異常狀態(tài)或有損壞風(fēng)險(xiǎn),通常需要對(duì)仿真進(jìn)行及時(shí)干預(yù)來(lái)重置參數(shù)甚至停止運(yùn)行。
例如在汽車(chē)自動(dòng)駕駛HIL測(cè)試過(guò)程中距離傳感器相關(guān)參數(shù)顯示距離過(guò)近、模型控制的電機(jī)轉(zhuǎn)速過(guò)快、電機(jī)溫度過(guò)高等,需要在出現(xiàn)上述情況時(shí)及時(shí)干預(yù)防止造成損失。
作為一款強(qiáng)大的HIL系統(tǒng)開(kāi)發(fā)工具,VeriStand針對(duì)以上問(wèn)題提供了Alarms、Procedures功能來(lái)完成對(duì)系統(tǒng)運(yùn)行異常的干預(yù)。此外User Channels是由用戶創(chuàng)建的可在VeriStand中使用的變量。本次教程使用Alarms、Procedures兩個(gè)功能來(lái)監(jiān)控User Channels的值,超過(guò)指定范圍時(shí)執(zhí)行預(yù)設(shè)的處理程序,學(xué)習(xí)掌握這三個(gè)功能的使用方法。
軟件環(huán)境:
1. VeriStand2020
2. MATLAB R2019a
3. GCC編譯器
軟件安裝和創(chuàng)建VeriStand工程并添加模型等操作的教程,參考文章:知識(shí)分享 | VeriStand創(chuàng)建MIL測(cè)試環(huán)境
本文教程:
如何使用VeriStand的User Channels、Alarms、Procedures功能
一、創(chuàng)建User Channels
User Channels是由用戶創(chuàng)建的變量,存儲(chǔ)單個(gè)值,可以在Procedures、Stimulus Profile等中使用,或者作為模型和Alarms的觸發(fā)。
User Channels面板布局如上圖,各功能可以參考英文描述嘗試使用,點(diǎn)擊Add User Channels添加一個(gè)用戶變量。
創(chuàng)建一個(gè)trigger變量作為Alarms的觸發(fā),在Workspace添加數(shù)值輸出控件并映射到trigger變量,此處省略該步驟教程。
二、創(chuàng)建Alarms
Alarms警報(bào)用于監(jiān)控指定通道的數(shù)值是否在范圍內(nèi),并根據(jù)該通道的數(shù)值執(zhí)行預(yù)設(shè)的程序操作。
Alarms面板布局如上圖,其中:
Alarms列表:顯示已有Alarms的列表。主要需要講一下Priority(優(yōu)先級(jí))的概念,優(yōu)先級(jí)是指Alarms調(diào)用的Procedure的執(zhí)行優(yōu)先級(jí),優(yōu)先級(jí)列的數(shù)值在【0,31】之間,數(shù)值越小則對(duì)應(yīng)警報(bào)程序優(yōu)先級(jí)越高,高優(yōu)先級(jí)的警報(bào)可以中斷執(zhí)行中的較低優(yōu)先級(jí)警報(bào)程序。
Alarms Groups:
a、不同Group的Alarms并行執(zhí)行,不受優(yōu)先級(jí)影響。
b、同一Group的Alarms:優(yōu)先級(jí)高的Alarms優(yōu)先執(zhí)行(中斷程序插隊(duì)),同一優(yōu)先級(jí)的Alarms根據(jù)觸發(fā)時(shí)間排隊(duì)執(zhí)行。
本教程只用到一個(gè)警報(bào)程序,不考慮優(yōu)先級(jí)的影響。
Alarms面板布局如上圖,其中:
Alarm Source:通過(guò)映射指定一個(gè)通道,監(jiān)控該通道的數(shù)值是否在范圍內(nèi)。
Alarm Limit:允許的數(shù)值范圍,上下限可以在下拉列表指定為常數(shù)、映射變量、無(wú),三種中的一個(gè)。
Reset Behavior:不重置或重置Alarm的方式,如果觸發(fā)Alarm后不重置,則該Alarm只會(huì)生效一次。
Procedure Priority:該Alarm指定Procedure程序的執(zhí)行優(yōu)先級(jí),數(shù)值在【0,31】之間。
Default State:默認(rèn)啟用或不啟用Alarm。
Delay Duration(sec):觸發(fā)Alarm到開(kāi)始執(zhí)行對(duì)應(yīng)Procedure的延遲時(shí)間。
Mod:Normal模式正常調(diào)起Procedure執(zhí)行,Indicate Only模式指僅彈出消息,不執(zhí)行對(duì)應(yīng)Procedure。
點(diǎn)擊圖中所示圖標(biāo)選擇已有的Procedure,創(chuàng)建方法在下文。
三、創(chuàng)建Procedure
Procedure是程序啟動(dòng)或觸發(fā)警報(bào)時(shí)執(zhí)行的程序。
添加Procedure,面板布局和Procedure的各種執(zhí)行步驟說(shuō)明如上圖。
Procedure中沒(méi)有else語(yǔ)句和if語(yǔ)句搭配,只能通過(guò)跳轉(zhuǎn)執(zhí)行不同步驟。
編寫(xiě)了一個(gè)Procedure執(zhí)行功能:trigger變量小于5時(shí),延遲3秒后置0,;trigger大于5時(shí)先置為2,延遲3秒后再置0。
Alarm Command的Reset Alarm用于重置Alarm,若無(wú)該指令,則后續(xù)無(wú)法再次觸發(fā)Alarm,最后記得添加End步驟,否則Alarm Command的Reset Alarm指令無(wú)效。
四、執(zhí)行結(jié)果
最后簡(jiǎn)單添加映射,布置Workspace面板,部署項(xiàng)目程序查看執(zhí)行結(jié)果。
五、總結(jié)
本次教程實(shí)現(xiàn)了對(duì)用戶變量trigger的監(jiān)控,當(dāng)其超出范圍時(shí)執(zhí)行Procedure重置變量值;在實(shí)際HIL測(cè)試中,監(jiān)控的通道通常是影響到測(cè)試設(shè)備和人員安全的相關(guān)變量,根據(jù)安全范圍執(zhí)行Procedure保證測(cè)試安全。
審核編輯:劉清
-
matlab
+關(guān)注
關(guān)注
186文章
2981瀏覽量
231051 -
電機(jī)轉(zhuǎn)速
+關(guān)注
關(guān)注
0文章
64瀏覽量
11454 -
gcc編譯器
+關(guān)注
關(guān)注
0文章
78瀏覽量
3429
原文標(biāo)題:如何使用VeriStand的User Channels、Alarms、Procedures功能
文章出處:【微信號(hào):華穗科技,微信公眾號(hào):華穗科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論