在實(shí)際應(yīng)用場(chǎng)景中,用戶常常需要按一定邏輯和時(shí)序來控制TSMaster內(nèi)置功能模塊的啟動(dòng)和停止,TSMaster軟件內(nèi)置有C/Python小程序和圖形程序,開發(fā)者可以通過編程對(duì)這些模塊的運(yùn)行進(jìn)行精確控制。本文將重點(diǎn)和大家分享一下如何通過C代碼來控制TSMaster內(nèi)置模塊的啟動(dòng)與停止。
本文關(guān)鍵字:run_form、stop_form、C小程序、COM
目錄
● 窗口啟動(dòng)和停止函數(shù)
● 內(nèi)置小程序控制其它小程序的啟停
● 通過COM 控制小程序的啟停
Catalog
”
run_form和stop_form函數(shù)
在TSMaster內(nèi)置的小程序有run_form函數(shù)和stop_form函數(shù),用于控制TSMatser工作窗口的啟動(dòng)和暫停。例如CAN / CANFD發(fā)送窗口,通過這兩個(gè)函數(shù)我們就能通過小程序編程實(shí)現(xiàn)對(duì)CAN / CANFD發(fā)送窗口進(jìn)行控制,啟動(dòng)或停止發(fā)送報(bào)文。
△ 圖1:小程序中的窗口啟停函數(shù)

△表1:run_form函數(shù)說明

△表2:stop_form函數(shù)說明
使用小程序控制其它小程序的啟停
通過run_form函數(shù)和stop函數(shù)可以實(shí)現(xiàn)對(duì)TSMaster窗口的啟動(dòng)和停止實(shí)現(xiàn)控制,這里的窗口自然也包括C小程序窗口、Python小程序窗口和圖形程序窗口。這樣我們就可以通過代碼互相控制小程序之間的啟動(dòng)和暫停。如圖2中,我們創(chuàng)建了兩個(gè)C小程序,分別命名窗口名為“C 代碼編輯器 [1]”和“C 代碼編輯器 [2]”,我們?cè)贑小程序1中的按鍵事件中實(shí)現(xiàn)對(duì)C小程序2的控制,并在C小程序2的程序啟動(dòng)事件和程序停止事件中把啟動(dòng)信息打印到系統(tǒng)消息中。
△ 圖2:編程控制小程序的啟動(dòng)和停止
在一些測(cè)試場(chǎng)景中我們需要控制一些小程序按順序循環(huán)啟動(dòng)和暫停,可以在每個(gè)小程序中在需要停止當(dāng)前小程序的時(shí)候調(diào)用terminate_application函數(shù)結(jié)束當(dāng)前小程序,然后在程序結(jié)束事件中使用run_form函數(shù)啟動(dòng)下一個(gè)C小程序。
如圖3中,我們?cè)诿總€(gè)小程序的啟動(dòng)后兩秒關(guān)閉本小程序并啟動(dòng)下個(gè)小程序,實(shí)現(xiàn)了對(duì)C小程序1、2、3的循環(huán)控制。
△ 圖3:循環(huán)控制C小程序的啟動(dòng)和停止
另外在使用這兩個(gè)函數(shù)有需要注意的一點(diǎn),在使用窗口名作為入口參數(shù)時(shí)必須要把窗口的名稱輸入完整,例如圖2中,使用這兩個(gè)函數(shù)控制小程序的啟停時(shí)需要完整得輸入“C 代碼編輯器 [1]”,而不僅僅只是“1”,否則會(huì)在系統(tǒng)消息窗口報(bào)錯(cuò)提示找不到窗口。
通過COM控制小程序的啟停
TSMaster開放了COM的接口方便開發(fā)者通過外部程序調(diào)用和控制TSMaster工程,但是并未開放類似小程序中的run_form和stop_form的接口直接控制TSMaster工程中小程序的啟動(dòng)和停止。然而這并不代表就不能通過外部的程序控制TSMaster工程中小程序的啟動(dòng)和停止,我們可以在這個(gè)被控制的TSMaster工程中常開一個(gè)小程序,在這個(gè)小程序中通過變量變化事件控制其它小程序的啟停,這樣就可以在外部程序通過調(diào)用系統(tǒng)變量的COM接口間接控制TSMaster工程中小程序的啟停。
通過COM控制TSMaster小程序的步驟
1.在被控制的TSMaster小程序中設(shè)置一個(gè)自動(dòng)啟動(dòng)的小程序,在這個(gè)小程序中關(guān)聯(lián)一個(gè)變量變化事件,在變量變化事件中使用run_form函數(shù)和stop_form函數(shù)控制其它小程序。
2.在調(diào)用COM組件的外部程序中使用load_project函數(shù)導(dǎo)入需要控制的TSMaster工程,配置好通道數(shù)量和映射這個(gè)屬性,然后使用connect函數(shù)啟動(dòng)TSMaster工程。3.使用set_system_var_generic對(duì)TSMaster工程中的系統(tǒng)變量賦值,觸發(fā)C小程序中變量變化事件調(diào)用run_form和stop_form函數(shù)實(shí)現(xiàn)對(duì)TSMaster中小程序啟動(dòng)和停止的控制。
△ 圖4:COM控制小程序的啟停程序

△ 圖5:COM控制小程序工程示例
-
控制
+關(guān)注
關(guān)注
5文章
1031瀏覽量
125076 -
自動(dòng)化
+關(guān)注
關(guān)注
30文章
5886瀏覽量
89251 -
MASTER
+關(guān)注
關(guān)注
0文章
110瀏覽量
12110
發(fā)布評(píng)論請(qǐng)先 登錄
深度拆解比斯特1418單節(jié)自動(dòng)點(diǎn)焊機(jī)自動(dòng)化焊接流程
訂單退款自動(dòng)化接口:高效處理退款流程的技術(shù)實(shí)現(xiàn)
羅克韋爾自動(dòng)化重磅推出 ControlLogix 5590 控制器 顯著簡(jiǎn)化運(yùn)營(yíng)流程
干貨分享 | TSMaster MBD模塊全解析:從模型搭建到自動(dòng)化測(cè)試的完整實(shí)踐
工業(yè)遠(yuǎn)程自動(dòng)化控制系統(tǒng)功能圖譜:50 + 細(xì)分功能的協(xié)同運(yùn)作
圓柱電池自動(dòng)分選機(jī):全流程自動(dòng)化檢測(cè)的革新之路
自動(dòng)化計(jì)算機(jī)的功能與用途
Jenkins和Docker自動(dòng)化CI/CD全流程
羅克韋爾自動(dòng)化推出更智能、更安全的 M100 電子式電機(jī)啟動(dòng)器革新電機(jī)控制方式
工業(yè)射頻RFID讀寫器對(duì)半自動(dòng)化制造生產(chǎn)的應(yīng)用案例
橫向線性馬達(dá):提升現(xiàn)代制造業(yè)自動(dòng)化流程的核心驅(qū)動(dòng)力
基于 Docker 與 Jenkins 實(shí)現(xiàn)自動(dòng)化部署

TSMaster小程序啟動(dòng)和停止的自動(dòng)化控制流程
評(píng)論