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

相关推荐

  • 弹出画面垄断(即禁止同一画面中其他区域)

    在某一画面中的一个按钮触发了弹出窗口,能否从哪里设置除了这个弹出窗口的范围能够被激活,而同一画面中其余区域是被禁止的?意思就是,除了弹出画面中的按钮能够被点击,而弹出窗口以外的区域…

    SIMATIC WinCC 2021年7月5日
  • 报警信息的疑问

    大家好,请教大家一个问题,Wincc报警信息能不能带参数,比如说XX导致了错误。XX可能由几种情况产生的。情况不同,显示的内容就跟着变化。还有Wincc的报警内容能否和TDC直接联…

    SIMATIC WinCC 2019年6月11日
  • WINCC这些补丁如何使用啊

    我用的是wincc v6.2  sp3 ,看到官网上的补丁已经到了14,请问我如果安装的话,前边那些需要安装,还是只要安装最新的14补丁即可…

    2017年11月25日
  • wincc配方问题

    开始是组态了一个配方控件1,里面保存几组不同配方。我在调用一个配方控件2,从配方控件1里面调用几组配方(不是控件1里面所有配方),同是给控件1里面每个调用的配方,设定一个时间,组成…

    2021年7月5日
  • wincc flexibe

    下载地址~~+要解密的~~ 如果知道请指点一二~~ 谢谢~~ 问题补充:俱怀逸兴壮思飞:那数据解压之后装不了啊?? 还有谁知道下载地址的??&nbsp…

    SIMATIC WinCC 2019年6月11日
  • WinCC License 移植

    我有一个WinCC(7.0 SP3)的程序,原来是XP系统下运行的,授权也使用正常。上周,该电脑的主板损坏,新买的电脑只可以运行win7。我将原来电脑的硬盘下的授权文件,…

    SIMATIC WinCC 2017年6月12日
  • 获取版本号,IP地址,修改日期

    WINCC中有没有提供获取项目的版本号、修改日期以及系统IP的函数呢? 问题补充:我是想用脚本获取这些信息。目前查到在SQL数据库表中有这些信息。 最佳答案 项目的版本号是啥?目前…

    SIMATIC WinCC 2021年7月5日
  • 服务器数据报表

    在服务器上数据报表打印功能一切正常,为什么在客服机上却不能正常打印,是这样的,在三台客户机里打印9#站的数据报表时连接到8#站的数据报表去了。但客户机它读的是服务器的上工程文件。我…

    SIMATIC WinCC 2019年6月11日
  • Connectivity Pack手册

    那位仁兄有Connectivity Pack手册,麻烦可以传一下吗?不胜感激!Email:wuxiaofan1024@126.com 最佳答案 已经发到你的邮箱里了,英文…

    SIMATIC WinCC 2019年6月11日
  • WinCC一台客户机可以设置多个登录用户吗?

    现在有一个项目因为CPU的通讯连接资源数量有限制,所以采用WinCC的C/S结构,一台服务器下边挂各自19个工位的触摸式电脑看板作为操作及工位工作流程显示用途。按照官方的WinCC…

    SIMATIC WinCC 2021年7月5日