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

相关推荐

  • winccC脚本二进制定义变量

    winccC脚本有定义二进制变量的函数?是什么 最佳答案 脚本中定义变量,只要能放下你的变量值就行了。比如你用整数变量保存二进制值也是可以的。 提问者对于答案的评价:

    SIMATIC WinCC 2021年7月5日
  • 请问Portal wincc runtime怎么截图

    由于触摸屏比我的显示屏还大,所以用截图软件没法截图,请问HMI runtime有没有自带功能可以截图,或者能否把runtime运行时画面缩小 最佳答案 触摸屏比你的显示屏…

    SIMATIC WinCC 2017年8月18日
  • WINCC 插入自定义图像 运行时不能显示的问题

    如图所示,我使用的是WINCC V7.0,SP3版本,在使用选择》智能对象》图形对象,然后在弹出的对话框里选择我事先做好的BMP格式的图片,然后运行时却显示不出来。在项目…

    SIMATIC WinCC 2021年7月5日
  • step7中的数组在博图绘制的HMI画面中显示问题

    程序用的step7编写的,HMI画面用的博图V15制作的,DB105程序块中分配的是油管的数据,每个数据占用4个字节。HMI画面显示每个油管的数据,地址都是一一对应的。现在step…

    2021年7月5日
  • Wincc上的显示压力值比实际值小一半?

    有一锅炉,前后各一个水位压力变送器,前一阵,后面这个压力变送器坏了,现更换一个,更换后,在WINCC上显示的压力值比前面这个的值刚好小一半,请问各位大侠,这是什么原因呢?PLC是S…

    2017年11月16日
  • 登录后画面的切换问题?

    我在初始画面上做了一个登录按钮,使其正确填写用户名和密码后能切换到按钮选择界面。登录按钮的C动作中是这样编写的:#pragma code("useadmin.d…

    SIMATIC WinCC 2019年6月11日
  • 请教:WINCC如何用报警来做 操作记录?

    我的报警能正常显示,但是操作记录看不见。不知道哪儿还需要设置。 我是个新手,希望能有详细的步骤。谢谢 问题补充:我已经在Alarm logging里写入了过程变…

    SIMATIC WinCC 2019年6月11日
  • 触摸屏的学习教程

    mp277  10寸的西门子触摸屏的学习教程有吗 最佳答案 Wincc flexible是可以组态这款屏的,Wincc flexible&n…

    SIMATIC WinCC 2021年7月5日
  • 用户归档的授权

    我的WINCC在运行了几个小时后,就弹出来一个对话框,要授权,后来查明是要“用户归档授权”。请问这个授权是要花钱买吗?是A9WARC0602 ,说我没安装 最佳答案 Wi…

    SIMATIC WinCC 2019年6月11日
  • 自定义图形填充

    如下图的自定义图形是怎么制作出来的以及怎样填充颜色,形成类似于棒图的功能 图片说明:    最佳答案 请试着做一下这个实例: 动态填充矩形过程变量将直…

    2018年12月5日