作者 | 主题 |
---|---|
菜鸟工控 侠圣 经验值: 2210 发帖数: 263 精华帖: 6 |
楼主 2019-12-20 15:05:04
主题:WinCC做报表能否用标准T-SQL语言来查询变量记录 提问如标题,我回答可以: 对于报表我始终提倡一种宗旨,那就是将更多的数据处理工作让数据库本身去完成,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报表全套教材书+视频教程+实例:2606352062
|
菜鸟工控 侠圣 经验值: 2210 发帖数: 263 精华帖: 6 |
1楼 2019-12-20 15:09:36
主题:回复:WinCC做报表能否用标准T-SQL语言来查询变量记录 忘记说了,以上测试请在WinCC项目处于运行状态下的进行,关闭状态下是无法查询的!
wincc报表全套教材书+视频教程+实例:2606352062
|
RENHQ 至圣 经验值: 68945 发帖数: 12231 精华帖: 59 |
2楼 2019-12-20 18:30:49
主题:回复:WinCC做报表能否用标准T-SQL语言来查询变量记录 啊,不错,那我以前做的报表,以这种方式的话,不至于刷新时间很长了呢 不知道如果时间跨度比较长的话,读取速度怎么样
Q群:https://jq.qq.com/?k=9BDuEgf6
|
菜鸟工控 侠圣 经验值: 2210 发帖数: 263 精华帖: 6 |
3楼 2019-12-20 20:23:36
主题:回复:WinCC做报表能否用标准T-SQL语言来查询变量记录 目前我这个测试是3个变量,一共217条,测试从按钮按下到全部显示完大概是1秒不到。可能是数据库内部执行脚本需要时间了,研究下还能优化。另外再加上时间的参数说不定也会影响执行效率,但是肯定要必一列一列的读写要快很多很多的。
wincc报表全套教材书+视频教程+实例:2606352062
|
不断攀登 至圣 经验值: 12543 发帖数: 1843 精华帖: 0 |
4楼 2019-12-21 08:15:07
主题:回复:WinCC做报表能否用标准T-SQL语言来查询变量记录 不错 感谢分享。
邮箱 yongquancun@126.com
|
天芯 至圣 经验值: 18845 发帖数: 2106 精华帖: 0 |
5楼 2019-12-21 11:21:39
主题:回复:WinCC做报表能否用标准T-SQL语言来查询变量记录 |
黑猫警长W 至圣 经验值: 18389 发帖数: 2409 精华帖: 1 |
6楼 2019-12-21 11:49:41
主题:回复:WinCC做报表能否用标准T-SQL语言来查询变量记录 |
CoolCool的猪 至圣 经验值: 16717 发帖数: 1307 精华帖: 2 |
7楼 2019-12-21 13:22:40
主题:回复:WinCC做报表能否用标准T-SQL语言来查询变量记录
同一个问题ID下,已经先回答此问题的人,如再参考我答案而修改自己答案的,就是王八蛋!
|
yecao2006 至圣 经验值: 18031 发帖数: 1524 精华帖: 2 |
8楼 2019-12-21 17:37:41
主题:回复:WinCC做报表能否用标准T-SQL语言来查询变量记录 变量多的时候数据处理时间应该很慢吧。
我回来了!继续努力!
|
菜鸟工控 侠圣 经验值: 2210 发帖数: 263 精华帖: 6 |
9楼 2019-12-21 19:58:02
主题:回复:WinCC做报表能否用标准T-SQL语言来查询变量记录 变量的多少影响不大的,因为只有一列时间需要处理,后边的都是一样的根据时间来合并的。因此后边再多的变量也不会再处理时间了。这个有时间可以做一个大概15个变量的归档来测试一下,就按一分钟归档一次,一天1440个数据来测试就差不多能够有说服力了
wincc报表全套教材书+视频教程+实例:2606352062
|
Ready_OK 至圣 经验值: 15530 发帖数: 1735 精华帖: 0 |
10楼 2019-12-22 09:12:05
主题:回复:WinCC做报表能否用标准T-SQL语言来查询变量记录
海纳百川,厚德务实!
|
城外之人 至圣 经验值: 17281 发帖数: 8464 精华帖: 18 |
11楼 2019-12-23 08:41:25
主题:回复:WinCC做报表能否用标准T-SQL语言来查询变量记录
无论成与败,无论甜与苦,我还是我。
|
城外之人 至圣 经验值: 17281 发帖数: 8464 精华帖: 18 |
12楼 2019-12-23 09:48:19
主题:回复:WinCC做报表能否用标准T-SQL语言来查询变量记录 另外,从WinCC V7.4 SP1版本开始,通过WinCC OLE DB查询的记录集,实时值字段名已经不是“RealValue”了,而是“VariantValue”。
无论成与败,无论甜与苦,我还是我。
|
菜鸟工控 侠圣 经验值: 2210 发帖数: 263 精华帖: 6 |
15楼 2019-12-23 12:54:00
主题:回复:WinCC做报表能否用标准T-SQL语言来查询变量记录
确实,WinCC的帮助文件里说了,高版本数据结构可能会有所变化。
wincc报表全套教材书+视频教程+实例:2606352062
|
万泉河 至圣 经验值: 28649 发帖数: 10889 精华帖: 131 |
16楼 2019-12-23 21:01:16
主题:回复:WinCC做报表能否用标准T-SQL语言来查询变量记录 openquery语句把时间参数放在了里面,导致每次生成查询条件的时候都要重新来生成过程, 还是比较恶心的.
微信公众号:PLC标准化编程,ZHO6371995
|