在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

相关推荐

  • dcount107,请进,wincc脚本解密问题

    非常感谢您,不过,我打开您发给我的c脚本解密的.exe文件后,不管打开哪个函数,不管加密没加密,都是出现: "0x0040bd36"指令引用的&quo…

    SIMATIC WinCC 2019年6月11日
  • ScreenWindow1是什么对象

    Dim objScreenSet objScreen = HMIRuntime.Screens("ScreenWindow1&qu…

    SIMATIC WinCC 2021年7月5日
  • WinCC6.2中文版

    那位能否提供个WinCC6.2中文版软件?或者下再地址,和视频教程。最近在学习WinCC,不知道现在的最新版本是多少,谢谢大家帮忙。 最佳答案 WinCC6.2下载链接:http:…

    SIMATIC WinCC 2019年6月11日
  • WINCC字体扩散

    记得在很多年前看到过字体的一种效果,就是报警来的时候,画面上的报警数值做往外的扩散,是均匀渐变的颜色,对报警提示相当清晰,但现在还不知道怎么实现,大家有做过的吗?教教我如果有什么没…

    SIMATIC WinCC 2018年12月7日
  • 如何在wincc中实现一个信号变化触发另一个信号置位

    如何在wincc中实现一个模拟量信号变化触发另一个信号置位,如一个模拟量信号变化就认为某一工序开始 问题补充:请问用c脚本的时候,如何保留上一采样的变量值,是不是定义一个变量,然后…

    SIMATIC WinCC 2019年6月11日
  • Wincc窗口问题

    "画面窗口用了变量前缀,致使该画面中的所有变量自动加了前缀。"怎么解决?谢谢! 问题补充:我为了同一窗口能显示不同的画面以及标题,画面窗口使用变量前缀,结果运行…

    SIMATIC WinCC 2019年6月11日
  • 谁有winCC7.0亚洲版的下载地址呀

    因为我的电脑系统限制,听说WINcc只能装7.0的(WIN7系统),不知道哪儿有下的,大家帮帮忙吧,或有别的版本也可以使用的地址, 问题补充:另:有的人给我的地址不能下,我希望是能…

    SIMATIC WinCC 2021年7月5日
  • wincc冻结窗口

    怎样在打开一个窗口画面后冻结之前的画面窗口啊,就是让之前的画面窗口不能操作 问题补充:就是类似于模态对话框的效果,当在一个窗口中点击%ignore_a_1%打开另一个窗口时,要让之…

    SIMATIC WinCC 2021年7月5日
  • WINCC 打开不要自动运行项目,

    打开WINCC时候,项目自动的运行,我想先编辑一下,再运行,在哪里设置,不要自动运行,项目的屏幕分辨率在哪里设定呀,我拷贝了一个项目到笔记本上,项目显示到屏幕以外了,在哪里可以设置…

    SIMATIC WinCC 2019年6月11日
  • VB脚本操作用户归档

    WINCC自带资料里只找到C脚本操作用户归档的方法,由于需要用到webux没法用C脚本,求用VB操作用户归档的脚本代码。 问题补充:就是连接用户归档数据库并查询数据,不是用控制变量…

    SIMATIC WinCC 2020年11月1日