抖音粉丝群1
『7x24小时有问必答』

众所周知WINCC的脚本系统是单线程的,如一个脚本有问题无法返回,其它的脚本将不能执行。任何脚本的执行都将消耗资源影响系统性能,特别是频繁执行的全局动作脚本。所以在组态WINCC时尽量少用脚本特别是周期执行的脚本。考虑到这些,WINCC在脚本触发方式中加入了“变量-有变化”、“画面周期”和“窗口周期”。

下面以一个例子来说明脚本的优化使用:
例子:在画面中显示两个文本变量str1、str2的拼接文本
一般的方法:新建一个文本变量str,建立一个全局动作脚本:拼接str1、str2的文本赋值给变量str,触发方式设置为str1和str2变量有变化时执行,然后在画面中添加I/O域关联文本变量str。
按此方法,只要str1和str2变量有变化,全局动作脚本就会执行。

一种优化的方法:在画面中直接使用I/O域建立脚本,并使用“变量-有变化”来触发脚本的执行。
640.jpg
640.jpg
640.jpg

vbs脚本功能名OutputValue_Trigger返回值及为I/O域的输出,把str1、str2拼接结果直接赋值给OutputValue_Trigger,省去了建立str变量。对于c脚本,脚本通过return返回值。

当打开I/O域所在的画面,I/O域中的动态属性脚本才按设置的触发方式执行。这也符合设计要求(及如果此拼接文本没有其它用途,在不打开这个画面时,更新此结果是没有意义的)。
640.jpg

END

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码