回复:WinCC带字符串归档记录集TAG_EX架构,使用WHERE子句报错

已锁定

whdiao

  • 帖子

    5
  • 精华

    1
  • 被关注

    1

论坛等级:游民

注册时间:2018-10-21

普通 普通 如何晋级?

发布于 2020-03-20 15:14:20

4楼

WinCC 7.5SP1新版本不仅可以归档字符串变量,还可以通过WinCC连通性软件包WinCC OLE DB提供程序的TAG_EX架构记录集,将字符串变量读取出来。

对于超过10万条包含字符串记录的归档,不需要自建SQL server数据库,就能通过脚本编制自己的万能报表,这种方式摆脱了“用户归档”记录数有限制的问题。

 

参考7.5 SP1帮助文档中的实例“使用WinCC OLE DB提供程序和Visual Basic.NET读取过程值归档”

因为7.5SP1官方帮助中没有给出TAG_EX架构的范例,只有自己摸索一下。

建立两个归档变量:  ArTagsTag_1为浮点变量,ArTagsT_1为字符串变量。

1、使用TAG_EX架构命令字符串

CommandString="TAG_EX:R,('ArTagsTag_1'; 'ArTagsT_1'),'0000-00-00 00:01:00.000','0000-00-00 00:00:00.000'"  

如图正常读取了字符串和浮点数

 


2、选择非字符串变量,命令字符串带TimeStep子句

CommandString="TAG_EX:R,'ArTagsTag_1','0000-00-00 00:01:00.000','0000-00-00 00:00:00.000','TIMESTEP=20,5'"    

如图正常读取了带时间间隔条件的浮点数

 

 

 3、选择非字符串变量,带WHERE子句

CommandString ="TAG_EX:R,'ArTagsTag_1','0000-00-00 00:10:00.000','0000-00-00 00:00:00.000','WHERE VariantValue > 20.0 AND VariantValue < 21.0'"

如图正常读取了20—21之间的浮点数

 

4、使用TAG架构读取非字符串变量时,带WHERE和TimeStep子句(注意VariantValue变为RealValue)

CommandString="TAG:R,'ArTagsTag_1','0000-00-00 00:10:00.000','0000-00-00 00:00:00.000','WHERE RealValue > 20.0 AND RealValue < 21.0','TIMESTEP=20,5'"

正常读取

 

 

存在的问题:

5、选择字符串变量,带TimeStep子句

CommandString="TAG_EX:R,'ArTagsT_1','0000-00-00 00:01:00.000','0000-00-00 00:00:00.000','TIMESTEP=20,5'"    

查询结果为空

 

 

6、选择字符串变量,带WHERE子句

CommandString ="TAG_EX:R,'ArTagsT_1','0000-00-00 00:10:00.000','0000-00-00 00:00:00.000','WHERE = 'YOU''"

报错!

  

 

总结一下:

1、WinCC 7.5SP1版本连通性软件包WinCC OLE DB提供程序,支持字符串、Int64和UInt64的读取,这是一个进步。

2、TAG_EX架构只有读取非字符串变量时,才可以使用WHERE和TimeStep子句。

3、TAG_EX架构读取字符串变量,不支持WHERE和TimeStep子句,希望西门子改进一下!

   目前解决办法是先全部读取出来,再后期处理。


附上:WinCC 7.5SP1版本连通性软件包官方文档

链接:https://pan.baidu.com/s/1VMFw_O5DLE8vdshlElW7dw
提取码:9370

 

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32569条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。