发布于 2006-10-24 19:35:24
0楼
to 万泉河
不好意思,这几天有事,没上网!
对您的建议,以下分别解释!~
你没有说过低料位的时候停止设备的情况。
解释:当一个开启的设备,由原来的高位,变到低位时,如果此时出现高位的未开启设备,并且此时开启的设备已够5台,那么是要停止变为低位运行的设备,开启未开启的高位设备。
如果仅仅是需要保证每台设备的出力大致平衡,那么应该还是比较简单的,毕竟要求不是那么高。
如果每台设备流量恒定的话,那么需要的台数,做一下除法就可以得到。
解释:现场设备的情况是:先不说不同设备之间的差异,同一台设备如果代载的负荷不一样的话,出料量就不一样。实在不行和业主商量不管流量,就开5太算了!
给每台设备做一个生命指数的标志,某些条件下指数增加,某些条件下指数减少。
实际操作中,选择生命指数最大的5个来运行。
解释:这是一个很好的建议!目前我所提供的程序思路是:高位扫描的输入点,在ob34中,每2s扫描一次延时去抖,fc中组建一个队列,队列按以下优先级组队:高位并且开启,高位但未开启,低位并且开启,低位但未开启。这样4个优先级排队,然后前5个出队。但是不能保证每次开启的都是最先出现高位的设备。根据你的建议,我第一个想法就是,在目前程序的基础上,再建一个数组(大小12)记录生命值:规则如下如果出现高位并且设备未开,对应数组值每个扫描周期加1;开启的设备或低位的设备,对应数组值归0。然后应该还需要一个数组,装载出现高位但并未开启设备的设备号。然后根据这个2个数组进行排序,然后在出现高位但位开启设备入队程序时,按这个顺序入队,不知道好不好实现,我先试吧