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