登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:求算法思路

点击:807 回复:19

附件 微信图片_20221022220307.jpg
       如图:6个房间共用一套制冷系统,小房间功率为1,大房间功率为3,主线上有一块总功率表。6个房间只是发出开停信号,主动力只要接收到开机信号就工作,所有开机信号都消失就停机,6个房间的用电时长是随机的,没有规率,现在想要对每个房间的用电进行计量,求各位大师提供一下算法思路。
       初步算法是:计各个房间在工作时占用动力系统的百分比*用电时长=本次用功率数,然后进行累加。
       现在出现的问题是:6个房间开机时,有60种组合方式,这个组合方式随时还会出现变动,有加入,有退出。所以需要一套函数来解决这个问题,但不会C语言呀,看看大师们有没有什么好的算法来解决这个问题。
最后修改:2022/10/24 19:13:14
22-10-22 22:32
每个房间装一个电度表不就解决了?
22-10-22 23:44
这个只是个计时问题,哪个开关开了就对哪个房间计时,时间出来了,其他的就都可以算出来,计时应该是个很简单的函数吧!
22-10-23 08:26
简单的问题搞那么复杂是贡献?还是创新
如果你不知道每个房间都功率还是比较麻烦的
22-10-23 08:57
该功率统计类似于中央空调的电能分配,中央空调的电能消耗,即使每个房间都安装功率表,也无法分摊使用成本,因为中央空调的单独使用与共同使用的成本是不同的(效率)。
如果在有人加入、或退出时,随时获取总表的功率,那以上使用成本的分摊还是可以解决的,具体的算法思路如下:
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
22-10-23 13:25
每个点装个表,再用远程抄表不好么
22-10-23 21:38

引用 pan_xiansheng 在 2022/10/23 13:25:32 发言【内容省略】

你这个思路与我设想的差不多,但是当分子为4,5,8,的时候,又回出现很多个组合,这时候如何确定是哪几个房间在使用?
22-10-24 07:04
把6个房间的工作状态,组合成一个8位的BCD码,这样房间状态就能确定了。
22-10-24 07:33
更正一下,百分比的分母最大为12(3*3+1*3=12),具体是多少,由参加使用的用户确定(分子相加),用户就是该次的分子,建立一个用户分母寄存器,单一大功率用户的分子=3,单一小功率用户的分子=1。如果有2个小功率用户在使用,那么该分母寄存器的数值是2(1+1=2),如果1个小功率用户,3个大功率用户在使用,那么该分母寄存器=10(1*1+3*3=10)
22-10-24 07:48
不是每个房间都有开停信号的吗
22-10-24 07:58

上一页下一页

工控新闻

更多新闻资讯