1、以前不动脑筋,电机每小时启动不超过6次,只是简单地把两次启动间隔设为至少10分种。今天跟一个朋友谈到这个问题,觉得以前的做法太过粗糙了。间隔时间10分钟能达到6次的情况是比较少的,而每小时6次的限制,并不限制10分钟内可启动多次,因此这个控制策略有问题。
2、现在想到的一个方法,把最近的6次启动时间记录下来,当要启动电机时,比较当前时间与记录的6次启动中最早的那个时间的差,有没有超过1小时,超过了可以启动,没超过则不能启动。
3、实现的方法:
31、准备一个32位字长的1秒分辨率时间基准(时基),可计68年不溢出;
32、一个先进先出队列(FIFO),队列长度为6,新的启动时间(时基值)放入队列的顶部,底部最早的启动时间丢弃;
33、判断可启动:若当前队列未满,表示6次未到,随时可启动;若队列已达6个元素(已满),则比较当前时基值与队列底部的记录时基值,若大小1个小时,则可启动。
附件为示例程序,供参考。
点击此处查看附件