查看: 621|回复: 4

积分、微分那些事

[复制链接]
mhuang 发表于 2021-10-14 13:23:53 | 显示全部楼层 |阅读模式
关于标题
标题取这个名字有两个原因,一个是微信群里面居然有人问起这两个被人遗忘的名词。 01.积分、微分的讨论.jpg
另外一个原因是为了吓唬人的,微积分这个词语能吓到绝大部分文科生,能吓到60%+的理科生。很多人第一印象是我大学高数学的什么内容来着?


可能换个说法大家会一下觉得轻松很多,比如根据实时采集的液体流速算总流量,根据实时采集的功率算总耗电量,这就是实际应用中的“积分”计算。反过来,根据实时采集的总耗电量,计算单位时间的耗电就是“微分”了。**:打引号是因为和数学意义上的概念在严格性上有差异。
上图聊天中,已经介绍了使用NumericTotalizerExt可以用来实现累积运算,如果有使用问题可以查看对应的帮助,Tridium TCP培训有介绍。
下面只介绍不使用任何的逻辑组件,仅使用BQL的 Rollup 查询,就可以实现所谓“微分”和“积分”功能。


计算60秒的积分值
原始数据,每5秒一次
history:/testNorth/Power?period=timeRange;start=2021-10-13T23:00:00.000+08:00|bql:select*
02.png
Rollup数据
local:|foxs:|history:/testNorth/Power?period=timeRange;start=2021-10-13T23:00:00.000+08:00|bql:history:HistoryRollup.rollup(history:RollupInterval'oneMin')
03.png
二次查询
local:|foxs:|history:/testNorth/Power?period=timeRange;start=2021-10-13T23:00:00.000+08:00|bql:history:HistoryRollup.rollup(history:RollupInterval'oneMin')|bql:select timestamp,sum
04.png

依据 Energy 计算 Power
原始数据
local:|foxs:|history:/testNorth/Total_Energy?period=timeRange;start=2021-10-13T23:00:00.000+08:00|bql:select*
05.png

Rollup计算
local:|foxs:|history:/testNorth/Total_Energy?delta=true;period=timeRange;start=2021-10-13T23:00:00.000+08:00|bql:history:HistoryRollup.rollup(history:RollupInterval'oneMin')
06.png

二次查询
07.png

总结
Niagara对历史数据的复杂查询效率还是蛮高的,很多的时候,并不需要构架中间变量来记录历史,而是查询的时候直接用原始数据计算结果即可。

评分

2

查看全部评分

maomao1024 发表于 2021-10-14 13:40:00 | 显示全部楼层
黄大师果然英武
hwg 发表于 2022-4-23 13:15:17 | 显示全部楼层
只是换了一个说法,貌似高大上了很多。
马江昆 发表于 2022-5-9 12:51:45 | 显示全部楼层
强大的BQL 无所不能
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|使用条款|隐私条款|Cookie Notice|

Niagara Framework 中文技术社区 ( 沪ICP备15008415号-33 )

GMT+8, 2022-8-13 20:27 , Processed in 0.061321 second(s), 28 queries .

快速回复 返回顶部 返回列表