- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个设备可以读取电气设备的 kw 值,以测量它们在特定时间的(能量消耗率)。然后将这些值发送到轮询器(它定期向设备询问这些值),并插入到数据库中。
例子:
1st reading - 10 kw at 1.01pm2nd reading - 15 kw at 1.23pm3rd reading - 11 kw at 1.30pm
如您所见,轮询间隔不是固定的,因此可以在不同时间将值插入数据库。为简单起见,我们可以假设数据库只是一个包含 2 列的表,[time] 和 [kw_value]。
这实际上是一个两部分的问题:
如何从这些读数(全天的能源消耗)中获取每日千瓦时值?我的数学很差,所以我不知道从这些值中获取每日千瓦时值的正确方法是什么。
我想把所有的值加起来得到平均值,但我妈妈说我应该画出一整天所有读数的图表,然后得到绘制线以下的区域(有点像得到图形的积分),这将给我当天消耗的总功率。然后,我应该使用该值除以一整天的持续时间(以小时为单位)以获得千瓦时,对吗?
如何使用数据库执行此操作?如果一天有数千个读数(来自多个电子设备,在这种情况下我们有 3 列 - [time]、[kw_value]、[deviceid]),我应该如何计算这个,我应该加载所有值吗内存(我使用的是 C#)并从那里计算,或者我可以使用 SQL 来计算吗?
编辑:感谢你们指出 kw 和 kwh 之间的区别。我原来的问题犯了一个大错误,因此进行了这次编辑。重申一下,设备在特定时间读取 kw 值(以千焦耳/秒为单位的能量消耗率),并在数据库中给出这些值的列表/图表,确定 kwh(消耗的总能量)的正确方法是什么) 给定的一天。
最佳答案
您肯定不会获得准确的千瓦时值。由于轮询频率如此低,您最终可能会发现估计使用情况与实际使用情况之间存在很大差异。你举这个例子:
1st reading - 10 kW at 1.01pm
2nd reading - 15 kW at 1.23pm
3rd reading - 11 kW at 1.30pm
在没有其他信息的情况下,唯一合理的做法是对每对读数进行平均,然后乘以时间。从 1.01 到 1.23 是 22 分钟,或 0.367 小时。这段时间的平均读数为 (10 + 15)/2,即 12.5 kWh,估计使用量为 (12.5 * 0.367),即 4.58 kWh。
不过,这种方法存在一些明显的漏洞。如果实际消费是:
10 kW at 1.01pm
0 kW at 1.02pm // machine turned off
15 kW at 1.23pm // machine turned back on
11 kW at 1.29pm
您在 1.01 和 1.23 之间的时间段内的实际使用量是 10 kW 一分钟,即 0.16 kWh。
在另一个方向上,数字可能会有类似的偏差。也就是说,您的计算值可能非常低而不是非常高。
如果这是合理的,我会这样做的方法是创建一个 SQL 查询,返回按机器排序然后按时间排序的数据。所以你得到:
machine1, 1.01 am, reading
machine1, 1.20 am, reading
... etc. ...
machine2, 1.03, reading
machine2, 2.15, reading
所以机器 1 的所有读数都按时间顺序呈现给您,然后是机器 2,依此类推。
您当然可以使用 ORDER BY 和 GROUP BY 编写查询,以正确的顺序返回所有读数。然后,您可以使用 SqlDataReader
按顺序移动结果,计算每个周期的消耗量(使用上面显示的平均计算),并对每台机器的结果求和。我对 SQL 的了解还不足以说明是否可以编写一个查询来为您完成所有计算并返回一个结果集,例如:
machine1, start time, end time, total power consumed
machine2, start time, end time, total power consumed
etc
关于c# - 从数据库中的一系列 Kw 读数(当时的 kw 值)确定每日 Kwh 值的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14183100/
我有一个设备可以读取电气设备的 kw 值,以测量它们在特定时间的(能量消耗率)。然后将这些值发送到轮询器(它定期向设备询问这些值),并插入到数据库中。 例子: 1st reading - 10 kw
因此,我有一个带有 init 方法的类,该方法的参数为 **kw。我需要在同一个类的另一个方法中使用 **kw,但是 python 返回这个错误:AttributeError: 'MyClass' 对
我正在尝试编写一个可以放置在模板内的 Meteor 包。所以我首先尝试注册一个助手。 Template.registerHelper('testHelper', function(a, b) {
我尝试在 js 中派生 AES-KW key ,例如: let { publicKey: pub, privateKey: key } = await crypto.subtle.generate
我正在将一个巨大的 AMD JS 项目转换为 TypeScript,我注意到我在以下方面遇到了问题: 关键字function由于“this”作用域而引入了很多问题。我总是用箭头样式函数替换所有函数 类
在 MS Edge 上,以下解包代码有效: window.crypto.subtle.unwrapKey( "raw",
我正在尝试在 Google Data Studio 中计算我的品牌/非品牌展示次数,并在尝试创建新字段时遇到了障碍: Case when REGEXP_MATCH(Query,'will ent
关键字参数是否有 python 命名约定? 最佳答案 不,但通常将其命名为 **kwargs,但您可以随意命名。唯一的问题是它应该在任何位置 args 和命名 args 之后的最后。 关于python
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 Improve thi
我是一名优秀的程序员,十分优秀!