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

Simulink中的NI VeriStand Blocks在安裝完VeriStand后沒有自動出現,該怎么找到?
VeriStand運行時出現卡頓現象,如何解決?
運行VeriStand的過程中出現卡頓現象,如何解決?
通過VeriStand加載MATLAB模型到實時仿真機,VeriStand出現卡頓現象
VeriStand出現卡頓現象
labview建立veristand模型
Veristand,創建導入labview模型
veristand訪問C模塊
Cal all channels錯誤消息
基于配置的軟件環境NI VeriStand使用手冊
儀表校準程序(Meter Calibration Procedures)
NI VeriStand助力汽車ECU的HIL測試
在NI VeriStand環境中進行FPGA相關配置

評論