wincc变量错误信号替换为前一个值

我在WINCC中使用OPC通道读取kepserverEX中建议的变量。但读取过程中因为通讯的问题经常读到错误信号如4999等信号并显示在画面中,有时还会记录到归档数据中,使用趋势图中突然会显示一下超高数据。

我试图建立内部变量,当读取值大于设定值时,将变量值替换为之前的数据,但基本没什么效果,代码见以下
If HMIRuntime.Tags("TT_101_PV").Read>=1200 Then 
 HMIRuntime.Tags("TT_101_PV").WRITE HMIRuntime.Tags("TT101").Read,1
Else
 HMIRuntime.Tags("TT101").WRITE HMIRuntime.Tags("TT_101_PV").Read,1
End If

请教各位如果处理,谢谢!

最佳答案

因为TT_101_PV是你从现场读过来的数据,这个数据应该是现场仪表仪器实时刷新的吧?即使你将该值超限处理,但是很快又被OPC刷新覆盖了,因此你的办法不可行。
     可以试试在全局脚本中,将该数据预处理下,再直接使用,包括归档。
     假设内部变量是“TT101”写上如下脚本:
    
float n;
n=GetTagFloat("TT_101_PV");
if(n<1200.0)
SetTagFloat("TT101",n);
    
     以上脚本实现功能是,只有读取的过程值小于1200.0,才将该值写到内部变量中去;如大于1200.0则该SetTagFloat指令不执行,因此TT101自然保存就是上次的正确值,该值不会刷新。
     归档里直接使用TT101变量即可。

提问者对于答案的评价:
已按照建议操作,归档及画面中引用的变量均使用内部变量就OK了。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月18日 下午11:02
下一篇 2017年6月18日 下午11:02

相关推荐

  • 70多个变量怎么组成一个数组

    我从wincc里读取来的好几个变量怎么在VB里组成一个数组WINCC_QCS_CD,个数少还能用array函数,如果70多个的话有什么更简便的方法吗,下面程序是能读到11个数据的。…

    SIMATIC WinCC 2021年7月5日
  • wincc7.0中如何用上升沿触发音频输出,起到报警的作用

    想在工控机上装音响,设备停机就报警,这个该如何做啊 问题补充:我不想用报警控件来触发让音响报警,除了这个之外还有别的办法吗?我的重点是在软件上如何编写指令使连接在工控机上的音响发声…

    SIMATIC WinCC 2018年12月2日
  • Wicc怎样制作点动按钮

    Wicc怎样制作点动按钮? 触摸屏是mp377的。 问题简单别见笑! 谢谢! 最佳答案 新建一个按钮,按钮的事件–鼠标,可以给按下左键和放开左键分别…

    SIMATIC WinCC 2019年6月11日
  • wincc画面显示问题

    在主页面中添加了一个画面窗口,用以切换不同的控制画面,其中有一个控制画面中需要监控8个泵站的数据(假设它为画面A),我用结构变量在该控制画面中添加了8个小的画面窗口去显示1-8站的…

    2017年5月31日
  • wincc和施耐德TWDLCAE40DRF怎么通过以太网通信

    我现在有2个PLC站都是通过以太网模块和wincc通信的。现在别人做的一个脱水机房站是用施耐德PLC  Twido.TWDLC AE 40D…

    SIMATIC WinCC 2019年6月11日
  • wincc7.4sp1分屏显示问题

    前辈们好,现在我在做一个项目,有两台显示器共用一台主机。客户要求一台显示器显示操作画面并可以进行相关操作;一台显示器显示历史曲线。请教一下前辈该如何实现呢 问题补充:我要实现的是显…

    SIMATIC WinCC 2021年7月5日
  • wincc不能和PLC连接

    CPU315-2DP,IP地址是192.168.0.1,我的电脑IP地址是192.168.0.12,wincc变量连接设置是TCP/IP连接,ip地址192.168.0.1,机架号…

    SIMATIC WinCC 2021年7月5日
  • 剩余时间

    讨论一个问题!比如,现在的水流速度是10米/S,共有距离10000米,目前已走了2S,请问剩余时间怎么在wincc里表达出来!也就是是想通过一个text8的文本变量显示出来!前提是…

    SIMATIC WinCC 2019年6月11日
  • 为什么编译不通过???

    请大侠帮忙看看 问题补充:这是完整的程序 图片说明:       最佳答案 void函数不可以返回值。 提问者对于答案的评价:谢谢 专家置评…

    2017年6月24日
  • [求助]wincc的spreadsheet控件怎么保存和打印

    wincc的spreadsheet控件怎么通过代码保存和打印指定区域谢谢 最佳答案 sheet1.export"E:\路径",false这句是把数据转出到Exc…

    SIMATIC WinCC 2017年6月3日