在WINCC,利用全局脚本处理大量数据时,会导致WINCC运行出现问题

由于项目比较大,外部变量过两万了,且有一小部分数据需要在WINCC中处理后显示,所以需要利用全局脚本后台进行数据处理。
     以前的时候由于项目比较小,所以没有感觉到问题,现在按照之前的方式做完后发现,WINCC运行系统直接崩溃了,按钮、画面、数据显示全部乱套了,将PAS文件夹下的C脚本文件剪切出去,系统就能恢复正常。
     也试过调节脚本触发周期,将脚本的触发周期分开,但是用处不大

      是不是WINCC的C全局脚本就不能大量的处理数据,全局VB还没试。

问题补充:
今天试着用VB进行数据处理,发现没有任何问题,个人感觉是由于我的画面切换以及画面内变量的变更全部都是用C脚本进行的。
    再加上后台的全局C,导致同时运行的C太多,对资源的占用太大导致WINCC 的卡死。
    不过这样的话,是不是说明WINCC的C脚本都是单线程运行的,所以才会出现上述的这种情况?
     如果是,那可不可以改为多线程运行C脚本,该怎么样做?

最佳答案

此回答已完善

你的脚本是怎么写的?
你需要怎么处理?比如线性变换,可以在plc中或者wincc的变量属性中设置缩放范围.
你的读写变量怎么操作的?用组读写会比单个变量的效率高.


c和vbs都可以用组读写的概念。c语言参考:https://support.industry.siemens.com/cs/document/26712371/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E5%87%BD%E6%95%B0-settagmultiwait()-%E6%9D%A5%E5%86%99%E5%A4%9A%E4%B8%AA-wincc-%E5%8F%98%E9%87%8F-?dti=0&lc=zh-CN
vbs语言:
 Dim group,mytag
 Set group = HMIRuntime.Tags.CreateTagSet
 ''Add Tags to the Collection
 group.Add "Motor1"
 group.Add "Motor2"
''group.read''如果是要读数据,则直接用这行和下一行脚本例子。
''mytag=group(''Motor1'').value
 ''Set the Values of the Tags
 group("Motor1").Value = 3
 group("Motor2").Value = 9
 ''Write the Values to the DataManager
 group.Write

提问者对于答案的评价:
嗯嗯,我去试试,谢谢指点

最佳答案作者回复:
c,vbs的脚本是并行的,你可以用这两种各写一部分脚本处理数据,效率会比单独一种脚本写的效率要高.

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc314914.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午3:58
下一篇 2020年11月1日 下午3:59

相关推荐

  • Wincc 7.3或7.4的Audit审计追踪附件,哪里可以下载试用?

    请问Wincc 7.3或7.4的Audit审计追踪附件哪里可以下载呢? 最佳答案 到WinCC官网:http://www.wincc.com.cn/rjzsk.aspx?…

    SIMATIC WinCC 2021年7月5日
  • PCS7面板修改问题

    我是PCS7的初学者,PCS7中motor功能块经OS编译后,在Wincc中的哪些电机面板的颜色怎么修改呵。系统默认的是绿色的运行。我想修改为红色运行,绿色停止(业主要求的)。请各…

    SIMATIC WinCC 2019年6月11日
  • wincc打开项目时说没有权限

    打开项目时报:用户没有执行该操作的权限,请检查当前用户在windows用户组中的分配。项目打不开。当时我只是把项目的共享取消了,然后就成这个样子了。怎么回事,怎么解决?高手指点 专…

    SIMATIC WinCC 2020年11月1日
  • WINCC如何与多PLC连接,通过KEPSERVER?

    WINCC如何与多PLC连接,通过KEPSERVER?我不知道在WINCC中怎么建立. 最佳答案 你使用KEPServer做OPC就可以了,WinCC使用OPC通道连接。可以参考—…

    SIMATIC WinCC 2019年6月11日
  • wincc7.3运行时界面不显示

    请教各位前辈,我用wincc7.3做了个监视界面,运行时部分界面黑屏,不能正常显示,但最大化/最小化一下后,又能显示了,请问如何解决,是设置的问题吗? 最佳答案 通常是系统配置较低…

    SIMATIC WinCC 2017年6月1日
  • 12寸 平板工控机的订货号是多少?

    SIMATIC IPC477D,12寸 平板工控机的订货号是多少? 钻石用户推荐最佳答案 精智面板TP1200:6AV21240MC010AX0精智面板KP12…

    SIMATIC WinCC 2021年7月5日
  • wincc怎样恢复老工程备份

    工控机操作系统、Wincc及相关软件重装后怎样恢复原Wincc工程备份,回答越详细越好,谢谢!补充:XP装在C盘、Wincc及相关软件装在D盘。 问题补充:补充:不好意思,没说清楚…

    SIMATIC WinCC 2019年6月11日
  • 我想做一个WINCC是否处于运行状态的检测

    我想做一个WINCC运行状态的%ignore_a_1%,当WINCC激活运行的时候向PLC发送数值或二进制=1,当WINCC取消激活时(或电脑死机/强制关机等)PLC得到二进制=0…

    SIMATIC WinCC 2021年7月5日
  • 曲线与归档文件

    请教通过项目复制器复制的项目如何读取源WINCC项目的曲线和归档数据,先感谢了! 最佳答案 补充一点,除了将项目文件夹下的ArchiveManager目录全部拷贝过来,还需要将原项…

    SIMATIC WinCC 2019年6月11日
  • 请教大家一个PCS7标准控件的问题?

    我在WINCC上用了个WINCC ALARMCONTROL的控件,但是有个“已进入”的状态栏宽度不够,然后我设置了消息块的长度,发现没有%ignore_a_1%,我重启项…

    2021年7月5日