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