前言
今天介紹TSMaster的新功能—CANoe自動化模塊。該模塊的功能是通過激勵CANoe內部的系統變量,配合運行在CANoe中的CAPL腳本來響應變量變化事件,從而實現對CANoe的自動控制。
首先需要下載到最新版本的TSMaster,也就是2022年11月4日之后的版本。
打開CANoe自動化模塊
Open the CANoe Automation module/
點擊CANoe自動化模塊的圖標即可打開窗口。
在任何操作前首先需要連接CANoe,點擊讓CANoe作為TSMaster的一個子模塊,這個過程會啟動CANoe。如果沒有安裝CANoe或是CANoe的自動化服務器沒有注冊,TSMaster就會打印錯誤信息。用戶可以根據錯誤的信息提示自行注冊。
示例配置
Example Configuration/
在CANoe啟動完成后,我們可以隨意打開一個帶系統變量的示例配置。我們可以找一下programming一欄的各種示例。
例如,COM Automation via Python這個示例配置。打開之后會發現有一個Simulation Setup,我們可以瀏覽一下其中各個仿真節點的邏輯。
可以看到,這是模擬一輛車的車燈的運行情況,我們到Analysis可以看到,它有面板、各種按鈕、trace還有graphic。第一個腳本是引擎的控制;第二個是燈的控制。我們可以看到在燈的控制里面有這樣一個系統變量變化事件,就是雙閃燈的開關,這段控制代碼是通過激勵雙閃燈的系統變量-HazardLightsSwitch來實現雙閃燈的閃爍功能。
實現CANoe雙閃燈閃爍
CANoe double flashing lights are achieved /
回到TSMaster中,點擊刷新系統變量列表,展開就可以看到CANoe當前狀態中所有的系統變量。
其中就有一個Lights,這個Namespace底下有一個HazardLightsSwitch,這就是我們要控制的變量。
> 首先我們啟動CANoe的仿真。點擊TSMaster的啟動仿真按鈕,CANoe的仿真也就正常啟動。需要說明的是:剛才看到的所有界面的操作都可以用TSMaster的腳本自動完成。
> 我們在界面上嘗試修改CANoe的雙閃燈的系統變量,可以雙擊也可以按回車鍵,之后會彈出一個修改對話框,輸入1按回車,然后轉到CANoe,我們就可以發現在CANoe中這輛車的雙閃燈已經開始閃爍了。
> 我們再回到TSMaster中,將這個變量改為0按回車,可以看到雙閃燈就熄滅了。這就是CANoe自動化模塊目前支持的核心功能。它能夠通過系統變量來進行自動化,這個模塊后續還會增加新的控制功能,敬請期待...
在TSMaster中控制雙閃
Control double flash in TSMaster /
> 我們點擊停止來停止這個仿真,然后打開一個自動化模塊的界面,按回車,添加一個動作,這個動作我們設置為API函數調用,在此需要使用CANoe自動化模塊自帶的眾多API。我們選擇小程序庫函數,這里列出的就是CANoe自動化模塊它內部的24個API函數。
> 首先第一個函數是連接CANoe,雙擊就可以把它加進來,連接CANoe之后的第二步,我們可以將這個代碼復制Ctrl c加Ctrl v。那么第二步就是啟動仿真,啟動仿真自然就是canoe_start回車,這樣就選中了canoe_start API。
> 啟動仿真之后,我們可能需要等待個1秒鐘,按回車,然后雙擊這個新的動作,我們可以選擇依然是API調用,但是這時候是我們內部的系統函數。
> 然后我們選wait,顯示的時間就是1000毫秒,消息是wait some time,在1秒之后我們希望觸發雙閃燈的變量變化。同樣回車,然后選中我們的新動作,就改為API函數調用庫函數,函數名稱需要通過set來進行過濾。
> 這里有一些設置系統變量的函數,假若我們設定完成之后,可能需要等待個5秒鐘來觀察。那么我們就把這個wait的參數時間改為5000,接下來需要將這個變量設成0以停止雙閃燈。然后我們可能還需要再停個3秒鐘進行觀察,那么這時候再次copywait函數,并且把它改成3000,接下來就是停止仿真和停止斷開CANoe的連接。
> 停止仿真自然就是canoe_stop,斷開連接自然就是disconnect。我們就繼續復制和粘貼,并且將它改成disconnect,這樣就完成了一張流程圖的設計。那么通過流程圖的方式,我們完成了控制邏輯的設計。同時這張流程圖就是可執行程序,可以按F9來執行。切換到CANoe可以看到雙閃燈閃爍,并且過了5秒之后雙閃燈就熄滅了。最后整個過程就跑完了,仿真也停止了。
在此,我們相信TSMaster的CANoe自動化模塊的用戶需求會有很多。現有的邏輯依然可以在CANoe中運行,相當于兩個軟件可以聯合仿真。一方面實現了很多只有CANoe CAPL腳本才能夠執行的特有功能;另一方面可以提高開發調試和測試的效率。
以上就是我們本章節為大家演示的TSMaster的CANoe自動化模塊功能,更多詳細操作步驟可以到B站進行觀看哦!
-
控制模塊
+關注
關注
2文章
131瀏覽量
18869 -
自動化
+關注
關注
29文章
5588瀏覽量
79350
發布評論請先 登錄
相關推薦
評論