- 相關推薦
腳本使用技巧
顯示訂貨號
1. 為什么一個由內(nèi)部變量的“數(shù)值改變”事件觸發(fā)的腳本不被執(zhí)行?
如果一個內(nèi)部變量調(diào)用另外一個內(nèi)部變量,被調(diào)用的變量又去執(zhí)行一個腳本(比如,根據(jù)變量變化),此時一個安全機制會阻止這個功能被執(zhí)行。
此安全功能是為了阻止連續(xù)的執(zhí)行。
例如
在內(nèi)部變量“HMI_Tag_01”屬性下,“更改數(shù)值”事件去置位內(nèi)部變量“HMI_Tag_02”中的某一位。
然后內(nèi)部變量“HMI_Tag_02”的“更改數(shù)值”事件下又調(diào)用一個腳本。
結(jié)果:這個腳本不會被執(zhí)行。
補救
使用和控制器通訊的外部變量。
2. 如何在腳本中訪問一個數(shù)組的元素?
可以通過數(shù)組名稱并指定數(shù)組區(qū)域的方法來訪問數(shù)組元素-> SmartTags("數(shù)組名稱")(數(shù)組區(qū)域)
例如 (和控制器通訊的數(shù)組變量)
Dim Tag_01 '腳本內(nèi)部變量
Tag_01 = SmartTags("DB10_HMI_Data")(2)
本地腳本數(shù)組(只在腳本中可用)可以使用相同的方法。使用多-維數(shù)組時,可以在不同元素間加上逗號。
例如 (不和控制器通訊的數(shù)組變量)
Dim HMI_Data(10,10) '腳本內(nèi)部數(shù)組變量
Dim Tag_01 '腳本內(nèi)部變量
Tag_01 = HMI_Data(0, 5)
注意
當使用“控制器連接”的數(shù)值元素時,建議在腳本開始處將它們復制到“腳本內(nèi)部變量”中并在下面的腳本中使用這些“內(nèi)部變量”。
在腳本的結(jié)尾處必須把“內(nèi)部變量”的值寫回到數(shù)組元素。
3. 如何在 WinCC Comfort 和 WinCC Advanced 中如何訪問動態(tài)鏈接庫(DLL)?
不能 在 WinCC Comfort 和 WinCC Advanced 中訪問動態(tài)鏈接庫(DLL)。
4. 如何通過腳本獲得當前鼠標的位置?
為了獲得當前鼠標的位置,必須訪問操作系統(tǒng)的API(應用程序接口)。
VBS不支持訪問操作系統(tǒng) API 的 DLLs 。
5. 為什么“MsgBox”命令無法在腳本中使用?
因為安全原因“MsgBox”命令無法在 WinCC Comfort 和 WinCC Advanced 中使用;诓僮髟盹@示可能被忽略,比如,阻止設備的快速操作。
6. 如何在腳本中給一個變量賦十六進制的值?
在腳本編輯器中使用前綴“&h”傳送十六進制數(shù)值。
例如
Dim Tag_01
Tag_01 = &h45E '十進制數(shù)值“1118”
7. 如何在腳本中顯示隱藏可用層?
使用層工作是 WinCC (TIA Portal) 開發(fā)系統(tǒng)的一個功能。層只能在這里組態(tài)及顯示隱藏。
這個功能在操作面板或 PC 運行系統(tǒng)中不可用。所以不能用腳本顯示或隱藏“層”。
補救
為相關對象的“屬性 > 動畫 > 可見性” 組態(tài)變量,根據(jù)組態(tài)變量的值來顯示隱藏對象。
8. 如何在腳本中合并字符串?
可以使用“&”來合并字符串:
例如
Dim Tag_01, Tag_Text_01, Tag_Text_02, Tag_Text_03
Tag_01 = Tag_Text_01 & Tag_Text_02 & Tag_Text_03
9. 在腳本中如何在單獨的字符串之間插入一個通配符(空格)?
為了在兩個文本之間插入空格,可以使用兩個引號 " "。
“空格”的數(shù)量取決于兩個引號間的距離 " "。
連接下一個字符需要再次使用 "&"。
例子1
Dim Tag_01, Tag_Text_01, Tag_Text_02, Tag_Text_03
Tag_01 = Tag_Text_01 & " " & Tag_Text_02 & " " & Tag_Text_03
返回值: “整形”變量
打開 "Sample_01" 腳本。
Dim Result
Result = Param_01 + Parm_02
Sample_01 = Result '"Sample_01" 腳本被分配給計算結(jié)果 -> 返回值
當腳本被調(diào)用,例如通過按鈕,獲得保存在屬性("Param_01" 和 "Param_02")下的參數(shù) "return value",然后把可以它分配給一個變量。
《腳本使用技巧》全文內(nèi)容當前網(wǎng)頁未完全顯示,剩余內(nèi)容請訪問下一頁查看。
11. 如何通過腳本改變一條線的長度?
線對象的“高”和“寬”參數(shù)是只讀的。
對于垂直或水平位置,可以使用矩形對象來替代線對象,并且可以通過腳本動態(tài)更新。
關于這個問題的更多信息可以從條目 53752382 中獲得。
12. 什么原因會觸發(fā)“達到最大嵌套深度”消息?
最大嵌套深度可以到達,例如,如果一個腳本被另一個“更改數(shù)值”觸發(fā)的腳本回調(diào)。 在腳本回歸調(diào)用情況下(腳本調(diào)用自己)這個消息也會很快出現(xiàn)。
HmiRuntime.ActiveScreen.ScreenItems("Circle_01").Visible=False
注意
畫面中組態(tài)的對象必須使用唯一的名稱。
★腳本使用技巧2017-04-26 16:04 | #2樓
1. 湖掛機如何減少路程
在神武/柳善買藥再去湖里掛機,如果不用土符,要跑很長的路。可以在腳本的最后一行加上 switch("泫勃派") ,這時會先飛到泫勃,再去湖里。注意,第一次啟動掛機時,如果身上的藥品符合掛機條件,這時回城腳本就不會執(zhí)行,仍然會跑過去,下一次自動回城就正常了。
2. 使用物品注意
目前保存物品到倉庫時被保留在背包里的物品僅限于藥品、回城符、地圖和百寶物品等,對于商店里購買的如“悟神丹”仍然會扔到倉庫里。所以,如果設定了自動使用悟神丹,并且在腳本里設定了購買悟神丹,存?zhèn)}庫時背包里多余的丹會扔到倉庫。這樣會導致倉庫里悟神丹堆積。為了防止這種情況,可以在save()腳本后加上一句 take("悟神丹",2),表示從倉庫中取出悟神丹直到背包里有2個,這樣就等于把悟神丹扔到倉庫里再取出來。下面例舉一個在湖里掛機腳本,實現(xiàn)去神武買藥,去柳正買悟神丹以及從倉庫取五色的功能:
sl-ee-p(3)
switch("柳正關")
moveby("蕭春水")
talk("蕭春水",1)
sell()
closetalk()
moveby("紅鳳凰")
talk("紅鳳凰",1)
save()
take("悟神丹",2)
take("五色神丹",2)
closetalk()
moveby("蕭春水")
talk("蕭春水",1)
buy("回城符(柳正關)",4)
buy("悟神丹",2)
closetalk()
switch("神武門")
moveby("楊不凡")
talk("楊不凡",1)
buy("金創(chuàng)藥(特)",300)
buy("雪原參",100)
buy("回城符(神武門)",4)
closetalk()
switch("泫勃派")
注:如果使用土符,將最后一行刪掉,改成 use("土靈符") 。悟神丹和五色具體要取出幾個根據(jù)自己買一次藥能掛多長時間決定。
3. 配戴出塵戒指的方法
注意,出塵戒指必須配戴在左手。 物品存?zhèn)}庫之前,取出塵戒1個,使用出塵戒, 然后再保存物品。這樣的話即使手上已經(jīng)有出塵戒,也只是替換一下,然后再把多余的出塵戒存到倉庫。見例子:
sl-ee-p(3)
switch("松月關")
moveby("風三娘")
talk("風三娘",1)
sell()
closetalk()
moveby("木平之")
talk("木平之",1)
take("出塵戒",1)
use("出塵戒")
save()
closetalk()
moveby("風三娘")
talk("風三娘",1)
buy("回城符(松月關)",2)
buy("金創(chuàng)藥(特)",400)
buy("益元參",200)
closetalk()
use("土靈符")
注:只要是可以能存?zhèn)}庫的物品,都可以使用 take 取出來,同樣,只要是可以使用的物品,都可以用 use 使用。除了土靈符,使用 use 命令操作物品時必須寫全名。( 土靈符的全名其實是 土靈符(10) 和 土靈符(30),但在 use 命令里只要寫 土靈符 即可 )
【腳本使用技巧】相關文章:
四使用腳本語言09-24
電話營銷腳本制作技巧及須知09-24
校園電影腳本09-24
電影腳本制作09-24
平面拍攝腳本09-24
婚禮攝像腳本09-24
電影腳本寫作09-24
牙膏廣告腳本09-24
宣傳短片腳本09-24
智聯(lián)招聘使用技巧04-18