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