书上说 <表达式> = <函数名称> 【参数1】,【参数2】,...【参数N】
这个具体的用起来是怎么回事?
举个例子,我先边个脚本 abc 定义为函数类型,参数为 gd
内容:if gd > 0 then
abc = 5
endif
我门知道比如我在一个按钮的事件里调用abc的时候,有两个参数要填,一个是gd,一个是输出值。
但是如果我再建立另一个脚本 ert,定义为 sub。
我怎么样在sub中调用abc 把abc的返回值给变量 H2WE呢?(h2we 是与PLC进行数据交换建立的变量)
按照上面的那个格式我写的如下:
h2we空格 =空格 abc空格www (www是另一个变量,在这里赋给gd)
但是这个格式是错误的,请问应该怎么编写?
我们知道系统函数setvalue(tag1,value)
直接调用的时候是: setalue空格www,5 (把值5给变量www)是这样的吗?
麻烦高手给我讲讲,主要是调用带返回值的简本或者函数时的格式,要给我写个例子句子,上面的那个格式我实在是没看懂,试了很多都没成功。
问题补充:
对sub的调用我知道怎么弄,但是带返回值那里,等于号处该怎么处理?
最佳答案
我不理解你到底说的是什么意思我只能根据我的理解给你回答,
函数与SUB区别是一个带有返回值而SUB不带返回值,比如你的程序
if gd > 0 then
abc = 5
endif
这个abc是一个脚本名称然后如果GD这个变量(由于你没定义所以说是你的变量)>0则把5赋给abc也就是赋给这个脚本的返回值,然后你可以在按钮或其他事件中触发这个脚本但是触发的时候与SUB不同的是他会要求你填写返回值要赋给那个变量你说是要赋给H2WE这个变量那么那个输出值就填你的变量H2WE。当然如果说你用的是SUB那么你在END IF下面加一行 H2WE = ABC因为你现在选用的是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就是你人机界面中的真实变量。
提问者对于答案的评价:
我明白你的意思了,也就是说,即使是在函数调用另外一个函数,也要先以被调用函数的名字定义为变量再调用是吧?我现在要出去,回来了试一试。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc218202.html