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

相关推荐

  • K-TP178micro上传下载

    我手上有一个K-TP178micro触摸屏,以前项目用过,后来客户显小,最近又要拿出来用,我下载画面用300的编程电缆型号为6es7-972-0cb20-0xa0,不知道这个电缆可…

    SIMATIC WinCC 2018年3月6日
  • VB查询历史数据某一时间段内的最大值

    现在要通过一个查询按钮查询一段时间内历史归档数据的最大值,并将最大值输出到画面中显示,我用VB脚本实现,脚本程序如下所示:Sub OnClick(Byval I…

    SIMATIC WinCC 2019年6月11日
  • 求助:WINCC6.2和STEP7连接问题

    WINCC6.2和STEP7连接成功PLC300AI连接4路4-20MA信号用STEP7监视数据正常但在人机界面中其中有2个与STEP7监视到的数据不一致(其中2个正常的上下都显示…

    SIMATIC WinCC 2018年12月7日
  • wincc画面反应慢

    我公司最近出现上位通讯速度慢,画面之间切换出现运行信号不显示,好长时间才显示出来 最佳答案 WinCC画面反应慢有可能是安装了不兼容的杀毒软件所引起,建议关闭监控,同时关闭防火墙。…

    SIMATIC WinCC 2017年11月19日
  • 怎么复位多个内部二进制变量

    希望各位大侠给予帮助 问题补充:在WINCC中 最佳答案 复位一个字节/字中的多个位可使用现成的功能:动态向导>>标准动态向导>>置位/复位多位 …

    SIMATIC WinCC 2019年6月11日
  • WinCC6.0运行在2003系统下可以么?

    WinCC6.0运行在Windows 2003 Server 版本下可以么?运行在什么系统下最稳定? 问题补充:我的服务器需要带20台客户机,服务器上…

    SIMATIC WinCC 2019年6月11日
  • 关于报警记录中“触发一个动作”的相关问题

    我在wincc报警记录中组态了一个报警,并勾选了“触发一个动作”选项,并在GMsgFunction中,利用下列C语句弹出对话框:MessageBox(NULL,"操作错误…

    SIMATIC WinCC 2017年8月24日
  • wincc用户归档外部变量的问题

    wincc用户归档在归档内部变量是没问题,但是添加外部变量后job返回值就变成-1,授权安装的很全,电脑是纯净xp系统,把外部变量删除了就恢复正常,外部变量也都是跟用户归档对应的数…

    SIMATIC WinCC 2021年7月5日
  • 求助:关于WINCC的报警分类!!!

    请教各位了,想在一个WINCC得项目里,建立3个报警列别,分别显示三类报警信息,第一类:模拟量超限,第二类:设备故障(开关量),第三类:其他。想把三个报警列表分别放在三个独立的画面…

    SIMATIC WinCC 2018年3月6日
  • 我的wincc是7.3版本,为什么用户归档管理的窗口界面没有工具栏?

    如图所示,菜单栏下方没有工具栏,什么原因?请高手指教 最佳答案 是用户归档控件吗?还是用户管理控件双击控件弹出的属性对话框里面有个工具栏选项卡,选项卡里面有个显示工具栏,看看那个方…

    SIMATIC WinCC 2017年6月8日