Logging是CANoe軟體中的資料記錄模組,主要在臺架測試中使用,支援CAN/CAN FD、LIN、FlexRay以及車載乙太網匯流排的資料記錄。常用的資料記錄儀還有GL資料記錄儀,GL有自己單獨的硬體裝置,應用場景主要為臺架或者實車測試,進行無人看守時的資料記錄,和Logging的最大區別就是Logging是CANoe軟體中的一個功能點,不是單獨的硬體,同時Logging的使用,人員往往在上位機面前會進行互動操作。
使用CANoe測試的過程中,我們不可能時時刻刻盯著每一幀報文去進行分析,這樣就需要用到Logging模組記錄工程中的報文訊號與變數,透過記錄的Logging檔案去解析報文,分析測試結果。當然這裡面有大量資料,會佔用較大記憶體,並且在我們分析的時候去尋找需要的內容時也會看花眼,如果只記錄我們需要的資料要如何操作呢?可以參考小編給大家分享一下使用Logging的一些基礎知識和經驗解決。
認識Logging模組
先認識一下Logging模組,如圖1-1,Logging模組的位置在Analysis下,包含的功能有,模組的啟用,模組的觸發方式,檔案的設定以及模組的增加。
觸發的配置
詳細觸發配置表格如圖2-1所示。
1.觸發型別:
- Single trigger:在Single trigger 模式下,所有在觸發條件時間段內的資料都將被記錄下來。使用者可以在 Time 區域內設定Logging的條件,如開始觸發(Toggle on)、結束觸發(Toggle off)和觸發次數。
2.Toggle trigger:在Toggle trigger 模式下,使用者可以定義開始觸發和結束觸發的方式。如果使用者選中 Use combined toggle mode,那麼開始和結束觸發的條件可以保持一致。使用者可以在 Time 區域內設定Logging 的條件,如開始觸發、結束觸發和觸發次數。
3.Entire Measurement:在Entire Measurement 模式下,所有測量資料將會被記錄,因此使用者無法選擇觸發條件和時間。
2.觸發條件:
定義了基本的 Logging 條件,例如,起始點、結束點、Logging 時間段。包括以下四種觸發模式。
- Start:選中 Start 觸發條件,資料將會從測量開始記錄,這種情況下Pre-trigger 時間將變得沒有意義並設定為0,Post-trigger 時間指定了記錄的時間長度。若選擇了Infinitepost-trigger time,所有的資料將會從測量開始記錄到測量結束,這等效於Entire Measurement模式。
- Stop:選中Stop觸發條件,觸發會在測量結束時開始。Pre-trigger時間定義了Logging的時間長度。在這種情況下,Post-trigger 時間將變得沒有意義並設定為0。
- CAPL:該觸發條件將由CAPL程式觸發,Pre-trigger 和 Post-trigger 定義了 Logging的時間長度。
- User defined:該觸發條件將由使用者自定義,包括匯流排報文或 Attribute、統計時間、環境變數的值等。使用者可以透過 Define 按鈕進行自定義。
- Time:
在該視窗中,使用者可以定義 Pre-trigger 和 Post-trigger 的值,這兩個值確定了 Logging的時間長度。選中 Infinite post-trigger time 選項時,終止事件為無窮大,這時 Post-trigger的值將會變成無效。
- 高階選項:
(1)Stop after Trigger Blocks:指定在n個觸發塊後停止測量。
(2)Notifications in Write Window:選中此項時,在 Write 視窗會有與 Trigger 相關的通知。
- 手動觸發:
(1)Start/stop key:設定一個按鍵控制 Logging的開始和結束
檔案的設定
新建模擬工程之後,CANoe預設提供一路未啟用的Logging Block。在 Measurement Setup 視窗中,右擊Logging Block,選擇 Logging File Configuration 命令可以開啟 Logging File Configuration 對話方塊。也可以透過點選圖3-1畫圈位置開啟。
開啟配置如下圖3-2所示:
1.Destination folder:用於選擇 Logging 檔案的儲存位置。
2.Destination file:指定要儲存的 Logging 檔案的檔名。
3.Field Codes:幫助使用者按需求生成檔名。
4.File format:指定 Logging File 的格式。
5.Advanced Settings
(1)Warn before overwriting Logging file:選擇是否在新的測量 Logging 檔案與原有檔案
重名時彈出覆蓋已有檔案警告視窗。
(2)Show error message on data loss:選擇是否在資料丟失時提醒使用者。
(3)View Logging file(s) after measurement stop:選擇是否在測量結束後自動開啟已經記錄的 Logging 檔案。
(4)Global format settings:單擊 Settings 按鈕進入 Option 對話方塊。
6.Logging Filter
(1 Log bus events:選擇是否記錄匯流排事件(如報文、資料幀等)。
(2)Log system and environment variables:選擇是否記錄環境變數或系統變數事件。
(3)Log trigger events:選擇是否記錄 Start/Stop 觸發事件。
(4)Log test events:選擇是否記錄 Test Modules 和 Test Units 的資訊
(5)Log internal events:選擇是否記錄內部程式事件。
(6)Log statistic events:選擇是否記錄資料統計相關的系統變數的資訊。
(7)Log CAPL events:選擇是否記錄 CAPL函式 write To Log和CAPL 程式中的說明。
(8)Log diagnostic events:選擇是否記錄診斷相關資訊。
實際應用
1.當進行測試時,想在工程啟動時的時刻開始錄製Logging資料,我們可以直接使用Entire Measurement進行觸發、記錄如圖4-1所示。
- 如果想訊號A或者多個訊號的值達到設定的邏輯要求時,觸發記錄模組開始記錄,可以選擇記錄觸發時間前的資料(根據設定 Pre-trigger time實現),觸發時間後需要記錄的時間根據自己自定義選擇,那我們可以採用Single trigger,詳細配置如下圖4-2,4-3,4-4。選擇使用者自定義,然後點選Define新增變數或者訊號,編輯觸發的值,例如當發動機開關Engine::EngineStateSwitch這個變數等於1時開始記錄Logging,並記錄5000ms。
2.如果想訊號A或者多個訊號的值達到設定的邏輯要求時,觸發記錄模組開始記錄,訊號B或者多個訊號值達到設定的邏輯要求停止記錄,並且工程不會停止,需要記錄很多段,那我們可以使用Toggle trigger,透過Define自定義開始與結束的邏輯,這樣我們就可以得到很多組記錄資料,並且僅有我們需要的資料,可以節約很多空間,如圖4-5,具體邏輯設定過程可以參考上面圖4-3和圖4-4。
3.如果想要讓工程在記錄幾次檔案後自動停止工程,我們可以使用Stop after Trigger Blocks模組,當到達觸發次數時,工程便會停止記錄。如圖4-6所示
注意事項:當我們想記錄多組Logging時,要將生成檔名進行更改,要將檔名字改成帶有001這種格式,如果不是這種,下一次記錄會將之前的Logging檔案覆蓋掉,如圖4-7中打√的就是常用的生成名字格式,並且不會被覆蓋掉。
總結
Logging是CANoe中的一個功能模組,希望透過本文的介紹,大家對Logging的使用有了更深入的瞭解。如果您對Logging或CANoe感興趣或者想要了解更多相關內容,歡迎諮詢北匯資訊,感謝觀看!
北匯資訊作為Vector中國的合作伙伴,始終專注於汽車電子領域的新技術和新產品,為整車廠和零部件企業提供完整的研發、測試解決方案,為工程師在汽車領域提供“趁手裝備”!我們不僅提供相應的工具和技術支援服務及培訓,還針對不同的應用提供相應的解決方案,助力中國客戶的研發效率提升。歡迎聯絡北匯資訊,我們將根據不同需求為您提供針對性的高效、靈活、穩定的解決方案!