故事作者:will666

最近创作

看看TA的故事

【跨新年】博图标准化编程技巧(十一)设备均衡运行算法

已锁定

will666

西门子1847工业学习平台

  • 帖子

    2135
  • 精华

    12
  • 被关注

    113

论坛等级:奇侠

注册时间:2009-05-19

钻石 钻石 如何晋级?

【跨新年】博图标准化编程技巧(十一)设备均衡运行算法

690

2

2023-01-14 23:32:59

图标准化编程技巧(十一)设备均衡运行算法

        在水处理行业,经常碰到多台同样的水泵并列运行的情况,工艺要求根据液位、压力或流量的设置自动启动或停止水泵,并且要求所有水泵的总运行时间要尽量均衡。为了实现均衡运行,懒惰的厂家就在上位画面里给每台泵人工设置一个启动优先级,每隔一段时间人工调整优先级,实现均衡运行。这种方法实现简单,但是需要人工调整,实际效果并不好。还有厉害的厂家采用排序的方式,按照总运行时间给所有水泵做一个大排序,按照队列顺序控制起停。但冒泡排序也不是人人都会,所以现场还是要求人工设置启动优先级的方法比较普遍。

        我在封装水泵恒液位或恒流量控制模块的时候,将设备均衡运行功能也一并封装在里面。我采用的算法如下:

1、启动水泵时选择停止的水泵中运行时间最短的;

2、停止水泵时选择运行的水泵中运行时间最长的;

3、不为了实现均衡而主动切换水泵;

        这样我只需要确定停止水泵中运行时间最短的和运行水泵中运行时间最长的这两个泵就可以了。找停止水泵中运行时间最短我的做法是设置一个T_MIN变量,每个比较周期先赋一个比较大的值,然后逐个跟运行中的水泵的运行时间比较哪个小,如果比T_MIN小就将其运行时间赋值给T_MIN并记录泵编号,一轮比较最后剩下的就是了。同样找运行水泵中运行时间最长的就反过来操作就行了。

        采用这种方法后不需要对所有水泵运行时间做大排序就可以方便实现均衡运行。

【跨新年】博图标准化编程技巧(十一)设备均衡运行算法 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3366条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。