做一个恒压供水的系统,四台泵,采用移位算法,实现先启先停,使泵寿命均衡。
1.采用这种算法
水位低了,将00111000循环左移得01110000,与原来的00111000相“或”,得01111000,投入了一台泵。
水位高了,将01111000循环左移得11110000,与原来的01111000相“与”,得01110000,切除了一台泵
这种算法在第一个周期内(即移位到最高位),可以实现泵的先启先停,由于是四台泵,即 当寄存器的第四位位1时,在移位就要循环回去,启动第一位(假定第一位已经为0)例如:00001100,这种状态,再起应该变为 00001101。
这种情况我又把上面的加泵算法处理的结果进行如下处理:
第一步:原始数据X1复制一份,存储到X2。
第二步:X2 和 00010000 相与,得到X3.即取出第五位的状态。
第三步:X3 右移四位,得到 X4.即把取到的第五位状态转移到第一位状态
第四步:X2 和数据00001111相与,得到X5,把原始数据的高四位去掉
第五步:X5与X4相或,得到最终数据X6
这种算法已经可以实现上需那种状态:即 当数据位 00001100时,在增加泵 即可变为00001101,再加可以变为 00001111,已经通过测试,没有问题
目前的问题,原来的减泵算法肯定需要修改,想了一夜也没有个思路,希望大家给点建议,我目前的时 在第一个周期,增加泵0000011 00000111 00001111 这时开始减泵 变为00001110 00001100 这都没有问题 这时再增加泵 00001101,这时再减泵 就出问题了,这时我的算法该如何改进呢。没有个思路,这时应该变为00001001,再减应该位 00000001。