wincc flexible 腳本中 調(diào)用腳本(函數(shù)類型,即帶返回值的)的格式是怎么回事
劉玉蓉
發(fā)布于2014-12-10 17:31
4
0
標簽:
書上說 <表達式> = <函數(shù)名稱> 【參數(shù)1】,【參數(shù)2】,...【參數(shù)N】
這個具體的用起來是怎么回事?
舉個例子,我先邊個腳本 abc 定義為函數(shù)類型,參數(shù)為 gd
內(nèi)容:if gd > 0 then
abc = 5
endif
我門知道比如我在一個按鈕的事件里調(diào)用abc的時候,有兩個參數(shù)要填,一個是gd,一個是輸出值。
但是如果我再建立另一個腳本 ert,定義為 sub。
我怎么樣在sub中調(diào)用abc 把abc的返回值給變量 H2WE呢?(h2we 是與PLC進行數(shù)據(jù)交換建立的變量)
按照上面的那個格式我寫的如下:
h2we空格 =空格 abc空格www (www是另一個變量,在這里賦給gd)
但是這個格式是錯誤的,請問應該怎么編寫?
我們知道系統(tǒng)函數(shù)setvalue(tag1,value)
直接調(diào)用的時候是: setalue空格www,5 (把值5給變量www)是這樣的嗎?
麻煩給我講講,主要是調(diào)用帶返回值的簡本或者函數(shù)時的格式,要給我寫個例子句子,上面的那個格式我實在是沒看懂,試了很多都沒成功。
問題補充:
對sub的調(diào)用我知道怎么弄,但是帶返回值那里,等于號處該怎么處理?
佳答案
我不理解你到底說的是什么意思我只能根據(jù)我的理解給你回答,
函數(shù)與SUB區(qū)別是一個帶有返回值而SUB不帶返回值,比如你的程序
if gd > 0 then
abc = 5
endif
這個abc是一個腳本名稱然后如果GD這個變量(由于你沒定義所以說是你的變量)>0則把5賦給abc也就是賦給這個腳本的返回值,然后你可以在按鈕或其他事件中觸發(fā)這個腳本但是觸發(fā)的時候與SUB不同的是他會要求你填寫返回值要賦給那個變量你說是要賦給H2WE這個變量那么那個輸出值就填你的變量H2WE。當然如果說你用的是SUB那么你在END IF下面加一行 H2WE = ABC因為你現(xiàn)在選用的是SUB所以在行要定義ABC這個變量 或者你將5的值直接賦給H2WE.
DIM ABC,
if gd > 0 then IF GD > 0 THEN
abc = 5 H2WE = 5
endif END IF
H2WE = ABC
對于腳本外的變量還可以用SmartTags("gd")來表示 gd就是你人機界面中的真實變量。