您现在所在的是:

PLC论坛

回帖:19个,阅读:721 [上一页] [1] [2] [下一页]
* 帖子主题:

求算法思路

12155
YOUFG
文章数:204
年度积分:635
历史总积分:12155
注册时间:2006/11/14
发站内信
发表于:2022/10/22 22:32:26
#0楼
附件 微信图片_20221022220307.jpg



       如图:6个房间共用一套制冷系统,小房间功率为1,大房间功率为3,主线上有一块总功率表。6个房间只是发出开停信号,主动力只要接收到开机信号就工作,所有开机信号都消失就停机,6个房间的用电时长是随机的,没有规率,现在想要对每个房间的用电进行计量,求各位大师提供一下算法思路。
       初步算法是:计各个房间在工作时占用动力系统的百分比*用电时长=本次用功率数,然后进行累加。
       现在出现的问题是:6个房间开机时,有60种组合方式,这个组合方式随时还会出现变动,有加入,有退出。所以需要一套函数来解决这个问题,但不会C语言呀,看看大师们有没有什么好的算法来解决这个问题。
[此贴子已经被作者于2022/10/24 19:13:14编辑过]
12465
蛇会大学
文章数:4619
年度积分:791
历史总积分:12465
注册时间:2015/12/14
发站内信
2018论坛分享达人
发表于:2022/10/22 23:44:47
#1楼
每个房间装一个电度表不就解决了?
敏问找算丁亏楼累
敏问找算哭哲累嘿
敏问够算恐哈做累揍忍没催妹
比漏累伤醒更八音舍黑
我晕能以身问晕陪笨累
14983
xuhuifox
文章数:2808
年度积分:930
历史总积分:14983
注册时间:2005/3/25
发站内信
发表于:2022/10/23 8:26:03
#2楼
这个只是个计时问题,哪个开关开了就对哪个房间计时,时间出来了,其他的就都可以算出来,计时应该是个很简单的函数吧!
                 一切为了生活
38065
知道一点
文章数:22555
年度积分:2484
历史总积分:38065
注册时间:2004/6/12
发站内信
工控人谈电商
2013国庆活动
2011国庆活动
发表于:2022/10/23 8:57:33
#3楼
简单的问题搞那么复杂是贡献?还是创新
如果你不知道每个房间都功率还是比较麻烦的
快乐 幸福 自由 比什么都重要
17378
pan_xiansheng
文章数:2332
年度积分:1026
历史总积分:17378
注册时间:2011/11/18
发站内信
2018论坛解答高手
2015论坛贡献奖
发表于:2022/10/23 13:25:32
#4楼
该功率统计类似于中央空调的电能分配,中央空调的电能消耗,即使每个房间都安装功率表,也无法分摊使用成本,因为中央空调的单独使用与共同使用的成本是不同的(效率)。

如果在有人加入、或退出时,随时获取总表的功率,那以上使用成本的分摊还是可以解决的,具体的算法思路如下:

1、不分准确的使用时间,仅仅统计该次使用的有几个用户,百分比的分母固定为12(3*3+1*3=12),用户就是该次的分子,建立一个用户寄存器,单一大功率用户的分子=3,单一小功率用户的分子=1。如果有2个小功率用户在使用,那么该寄存器的数值是2,如果1个小功率用户,3个大功率用户在使用,那么该寄存器=10(1*1+3*3=10)
2、只要使用用户变化(增、减),就随时获取总表的电能数据,按以上的分母、分子数据分摊成本,并将成本分别加入到各自的帐户(6个寄存器)。
[此贴子已经被作者于2022/10/23 13:38:33编辑过]
26500
goldage
文章数:15081
年度积分:2002
历史总积分:26500
注册时间:2006/1/10
发站内信
2018论坛热心网友
发表于:2022/10/23 21:38:04
#5楼
每个点装个表,再用远程抄表不好么
12155
YOUFG
文章数:204
年度积分:635
历史总积分:12155
注册时间:2006/11/14
发站内信
发表于:2022/10/24 7:04:36
#6楼
以下是引用pan_xiansheng2022/10/23 13:25:32的发言:
该功率统计类似于中央空调的电能分配,中央空调的电能消耗,即使每个房间都安装功率表,也无法分摊使用成本,因为中央空调的单独使用与共同使用的成本是不同的(效率)。

如果在有人加入、或退出时,随时获取总表的功率,那以上使用成本的分摊还是可以解决的,具体的算法思路如下:

1、不分准确的使用时间,仅仅统计该次使用的有几个用户,百分比的分母固定为12(3*3+1*3=12),用户就是该次的分子,建立一个用户寄存器,单一大功率用户的分子=3,单一小功率用户的分子=1。如果有2个小功率用户在使用,那么该寄存器的数值是2,如果1个小功率用户,3个大功率用户在使用,那么该寄存器=10(1*1+3*3=10)
2、只要使用用户变化(增、减),就随时获取总表的电能数据,按以上的分母、分子数据分摊成本,并将成本分别加入到各自的帐户(6个寄存器)。
[此贴子已经被作者于2022/10/23 13:38:33编辑过]
你这个思路与我设想的差不多,但是当分子为4,5,8,的时候,又回出现很多个组合,这时候如何确定是哪几个房间在使用?
此帖发自手机工控论坛
12155
YOUFG
文章数:204
年度积分:635
历史总积分:12155
注册时间:2006/11/14
发站内信
发表于:2022/10/24 7:33:43
#7楼
把6个房间的工作状态,组合成一个8位的BCD码,这样房间状态就能确定了。
此帖发自手机工控论坛
17378
pan_xiansheng
文章数:2332
年度积分:1026
历史总积分:17378
注册时间:2011/11/18
发站内信
2018论坛解答高手
2015论坛贡献奖
发表于:2022/10/24 7:48:23
#8楼
更正一下,百分比的分母最大为12(3*3+1*3=12),具体是多少,由参加使用的用户确定(分子相加),用户就是该次的分子,建立一个用户分母寄存器,单一大功率用户的分子=3,单一小功率用户的分子=1。如果有2个小功率用户在使用,那么该分母寄存器的数值是2(1+1=2),如果1个小功率用户,3个大功率用户在使用,那么该分母寄存器=10(1*1+3*3=10)
42333
YXBK 版主
文章数:19447
年度积分:2747
历史总积分:42333
注册时间:2007/4/14
发站内信
2015论坛优秀版主
2015春节活动
2013论坛优秀版主
2012论坛优秀版主
发表于:2022/10/24 7:58:27
#9楼
回复 #6楼 YOUFG
不是每个房间都有开停信号的吗
大家一起学习

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

62.4004