wincc flexible 脚本中 调用脚本(函数类型,即带返回值的)的格式是怎么回事

书上说 <表达式> = <函数名称> 【参数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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年11月29日 下午5:37
下一篇 2017年11月29日 下午5:38

相关推荐

  • wincc中显示趋势曲线

    我是在plc300采集了正弦波信号的100个离散值,储存在DB中,传送给wincc,通过一系列的操作后最后显示如我所发的图类似的曲线。想用wincc自带的 winnc&n…

    2020年11月1日
  • 趋势显示问题

    趋势画面运行后出现了两根黑色的竖线是什么,怎么去掉啊? 最佳答案 那是时间标尺,还有2个小窗口用来显示在这2个时刻的趋势值。  不需要的话,用鼠标拖动它到屏幕左…

    SIMATIC WinCC 2019年6月11日
  • wincc7.3如何导入变量

    7.3变量管理里面只有导出变量功能,那么如何导入变量呢,要把两个项目整合到一个项目中去,画面可以复制过去,但是变量不知道怎么导入 最佳答案 可以导入啊,就在编辑里,或者你直接复制进…

    2021年7月5日
  • wincc flexible smart v3 工具栏所以按钮没有了

    wincc flexible smart v3 工具栏所以按钮没有了 问题补充:原来软件好的,按了次重新设置布局就出现只故障,反复安装过N次…

    2021年7月5日
  • WINCC DateSet使用

    谁用过DateSet,能否提供相关的例程,或相关的资料,谢谢 最佳答案 如何使用智能对象"DataSet"?https://support.industry.s…

    SIMATIC WinCC 2021年7月5日
  • WCC问题?

    怎么在画面上做个按钮 按下去数据寄存器=0 ?  比如寄存器名称是D0  用脚本怎么写? 最佳答案 HMIRuntime…

    SIMATIC WinCC 2021年7月5日
  • 变量触发全局脚本的问题

    有量个EXE个程序,需要通过变量的变化来调用,现在要用全局脚本来做。 情况是这样的,当变量1=1  变量2=0时调用EXE1。当变量1=1 …

    SIMATIC WinCC 2019年6月11日
  • wincc7.3趋势问题

    wincc7.3现有500个模拟量的点,请问如何实现点击1站按钮就能弹出1站的趋势,点击2站按钮就能弹出2站趋势。让我创建500张趋势图的就不要来瞎掺和了 问题补充:最好每一步怎么…

    SIMATIC WinCC 2021年7月5日
  • 如何让wincc的内部变量断电保持

    用VBS脚本通过”内部变量”计算往PLC中写入数据。写入没有问题,但是重启之后由于内部变量无法断电保持,所以就会写入默认值所以,如何让wincc的内部变量能够断电保持 问题补充:由…

    SIMATIC WinCC 2021年7月5日
  • 工控机坏了,还用不用买wincc

    工控机坏了起不来了,里面有系统备份。如果买台新的工控机,需不需要买wincc上位软件和一些系统软件,如windows XP,office等必备软件。如果需要买软件那还用不…

    SIMATIC WinCC 2019年6月11日