WinCC做报表能否用标准T-SQL语言来查询变量记录

已锁定

菜鸟工控

  • 帖子

    263
  • 精华

    6
  • 被关注

    50

论坛等级:侠圣

注册时间:2013-04-16

黄金 黄金 如何晋级?

WinCC做报表能否用标准T-SQL语言来查询变量记录

4037

27

2019-12-20 15:05:04

star star star

提问如标题,我回答可以:

对于报表我始终提倡一种宗旨,那就是将更多的数据处理工作让数据库本身去完成,VBS只负责读取和显示。目的只有一个,简化脚本提高执行效率。

WinCC的变量记录在归档中使用很方便而且归档的种类和速度都比自己建立的数据库表要好很多。但是我们在用脚本向外部读取的时候,会遇到一个很棘手的问题,就是他的表格结构并不是我们常见的标准表格结构,而且读取语句也不是标准的T-SQL语言。如下:

TAG:R,('ProcessValueArchive\NewTag';'ProcessValueArchive\NewTag1'),'2019-12-19 8:00:00','2019-12-20 8:00:00'

因此导致我们的读取只能是先读取一列,填充完毕后再读取下一列,如此循环下去。或者用vbs统一读出来再进行拆分。数据量小还好说数据量大的时候相当慢。

其实WinCC的帮助文件里已经为我们做好了接口:


具体怎么的脚本思路如下(详细解释请参考更新视频)。

有三个变量,一次查询出每一个变量的所有数据,利用标准的SQL语言来进行拼接,并在这个过程中将时间的转换和小数点的位数一起处理完毕。

通过上述脚本可以直接查询出变量记录的所有实际值,并且记录集是我们常见的时间加数值的格式。

那么将上述脚本直接做成存储过程,再VBS中只需要一句SQL字符串就将所有的数据按照我们想要的格式显示出来了。测试项目是217条数据,一秒到账!

本帖只提供思路,因为每个项目的实际情况均不同,因此没有粘贴全部脚本,鼓励大家自主学习,看帮助文件。


WinCC做报表能否用标准T-SQL语言来查询变量记录 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有30994条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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