vbs 等于_西门子触摸屏VBS编程quot;陷阱quot;之VBS不支持多线程
點(diǎn)擊上方「藍(lán)字」關(guān)注我們
有人問能不能通過VBS來做一個(gè)死循環(huán)來連續(xù)的監(jiān)控某個(gè)值的狀態(tài),然后執(zhí)行一些操作。原則上是不能那么做的,除非你打算程序中不使用其他的用戶腳本了。在打算使用VBS之前一定注意以下事項(xiàng)帶來的影響:
西門子觸摸屏中的VBS是單線程操作的,如果沒有執(zhí)行完成會導(dǎo)致其他腳本無法執(zhí)行。
測試案例
我們新建一個(gè)用戶腳本Cycle,做一個(gè)循環(huán)程序,腳本啟動(dòng)時(shí)初始化tag1為1,當(dāng)tag2不等于3時(shí)會一直循環(huán)將tag1賦值為2,如果tag2為3,則將tag1也賦值為3。腳本如下:
我們新建一個(gè)按鈕,命名為“循環(huán)”,先執(zhí)行Cycle腳本,VBS腳本執(zhí)行完成后再執(zhí)行切換畫面的系統(tǒng)函數(shù)。
我們需要驗(yàn)證三個(gè)事:
a.當(dāng)腳本在死循環(huán)階段,能切換畫面嗎?
b.切換畫面后,腳本還在執(zhí)行嗎?
c.當(dāng)腳本在死循環(huán)階段,還能執(zhí)行其他VBS腳本嗎?
3.我們創(chuàng)建兩個(gè)按鈕3和4,一個(gè)是通過系統(tǒng)函數(shù)來切換畫面,另一個(gè)是通過用戶腳本來切換畫面。再建兩個(gè)按鈕2和5,控制tag2加減1,以此來控制循環(huán)腳本的退出。
按鈕3:用戶腳本切換畫面
按鈕4:用戶腳本切換畫面
用戶腳本Change中的內(nèi)容:
'注意:要啟動(dòng)腳本,請按下 <Ctrl><空格>,然后就可以看到各種不同函數(shù)。'通過使用系統(tǒng)函數(shù)或 WinCC flexible 對象模型來編寫腳本。您可以通過'HMI 運(yùn)行系統(tǒng)對象很容易地訪問系統(tǒng)。挑選對象引用的一個(gè)很便利的'方式是按下 <Alt><右箭頭>。通過使用編程語言 VBScript 的基本功能部件'來設(shè)計(jì)復(fù)雜的腳本,并可以直接通過名稱,例如 tag = 5,來訪問變量。ActivateScreen "畫面_2",0按鈕2:使tag2加1
按鈕5:使tag2減1
結(jié)果
事件中的用戶自定義腳本和系統(tǒng)函數(shù)是順序執(zhí)行的,如圖1號的腳本不執(zhí)行完,2號是不會執(zhí)行的。
事件中腳本的死循環(huán)只會導(dǎo)致其他腳本無法執(zhí)行,但是不會禁止其他控件中的事件觸發(fā)的系統(tǒng)函數(shù)的正常執(zhí)行。
a.當(dāng)腳本在死循環(huán)階段,能切換畫面嗎?Y
b.切換畫面后,腳本還在執(zhí)行嗎?Y
c.當(dāng)腳本在死循環(huán)階段,還能執(zhí)行其他VBS腳本嗎?N
測試動(dòng)畫
由于知識和能力有限,內(nèi)容上有不周或錯(cuò)誤的地方還請指正交流。
如果可以的話,請加個(gè)關(guān)注和推薦給您認(rèn)識的同行朋友吧,感謝!
添加好友
自動(dòng)邀請工控交流群
往期推薦
西門子觸摸屏如何在運(yùn)行時(shí)給畫面換背景色?
如何使用西門子觸摸屏做一個(gè)彈窗?
西門子觸摸屏變量的三種更新方式
西門子觸摸屏VNC遠(yuǎn)程訪問
如何升級替換西門子無線觸摸屏Mobile Panel 277?
總結(jié)
以上是生活随笔為你收集整理的vbs 等于_西门子触摸屏VBS编程quot;陷阱quot;之VBS不支持多线程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python简单目标检测代码_Pytho
- 下一篇: python用xlrd怎么清洗数据_用P