在實際應用場景中,用戶常常需要按一定邏輯和時序來控制TSMaster內置功能模塊的啟動和停止,TSMaster軟件內置有C/Python小程序和圖形程序,開發者可以通過編程對這些模塊的運行進行精確控制。本文將重點和大家分享一下如何通過C代碼來控制TSMaster內置模塊的啟動與停止。
本文關鍵字:run_form、stop_form、C小程序、COM
目錄
● 窗口啟動和停止函數
● 內置小程序控制其它小程序的啟停
● 通過COM 控制小程序的啟停
Catalog
”
run_form和stop_form函數
在TSMaster內置的小程序有run_form函數和stop_form函數,用于控制TSMatser工作窗口的啟動和暫停。例如CAN / CANFD發送窗口,通過這兩個函數我們就能通過小程序編程實現對CAN / CANFD發送窗口進行控制,啟動或停止發送報文。
△ 圖1:小程序中的窗口啟停函數
△表1:run_form函數說明
△表2:stop_form函數說明
使用小程序控制其它小程序的啟停
通過run_form函數和stop函數可以實現對TSMaster窗口的啟動和停止實現控制,這里的窗口自然也包括C小程序窗口、Python小程序窗口和圖形程序窗口。這樣我們就可以通過代碼互相控制小程序之間的啟動和暫停。如圖2中,我們創建了兩個C小程序,分別命名窗口名為“C 代碼編輯器 [1]”和“C 代碼編輯器 [2]”,我們在C小程序1中的按鍵事件中實現對C小程序2的控制,并在C小程序2的程序啟動事件和程序停止事件中把啟動信息打印到系統消息中。
△ 圖2:編程控制小程序的啟動和停止
在一些測試場景中我們需要控制一些小程序按順序循環啟動和暫停,可以在每個小程序中在需要停止當前小程序的時候調用terminate_application函數結束當前小程序,然后在程序結束事件中使用run_form函數啟動下一個C小程序。
如圖3中,我們在每個小程序的啟動后兩秒關閉本小程序并啟動下個小程序,實現了對C小程序1、2、3的循環控制。
△ 圖3:循環控制C小程序的啟動和停止
另外在使用這兩個函數有需要注意的一點,在使用窗口名作為入口參數時必須要把窗口的名稱輸入完整,例如圖2中,使用這兩個函數控制小程序的啟停時需要完整得輸入“C 代碼編輯器 [1]”,而不僅僅只是“1”,否則會在系統消息窗口報錯提示找不到窗口。
通過COM控制小程序的啟停
TSMaster開放了COM的接口方便開發者通過外部程序調用和控制TSMaster工程,但是并未開放類似小程序中的run_form和stop_form的接口直接控制TSMaster工程中小程序的啟動和停止。然而這并不代表就不能通過外部的程序控制TSMaster工程中小程序的啟動和停止,我們可以在這個被控制的TSMaster工程中常開一個小程序,在這個小程序中通過變量變化事件控制其它小程序的啟停,這樣就可以在外部程序通過調用系統變量的COM接口間接控制TSMaster工程中小程序的啟停。
通過COM控制TSMaster小程序的步驟
1.在被控制的TSMaster小程序中設置一個自動啟動的小程序,在這個小程序中關聯一個變量變化事件,在變量變化事件中使用run_form函數和stop_form函數控制其它小程序。
2.在調用COM組件的外部程序中使用load_project函數導入需要控制的TSMaster工程,配置好通道數量和映射這個屬性,然后使用connect函數啟動TSMaster工程。3.使用set_system_var_generic對TSMaster工程中的系統變量賦值,觸發C小程序中變量變化事件調用run_form和stop_form函數實現對TSMaster中小程序啟動和停止的控制。
△ 圖4:COM控制小程序的啟停程序
△ 圖5:COM控制小程序工程示例
-
控制
+關注
關注
4文章
1011瀏覽量
122656 -
自動化
+關注
關注
29文章
5562瀏覽量
79239 -
MASTER
+關注
關注
0文章
103瀏覽量
11282
發布評論請先 登錄
相關推薦
評論