回复:运行时间最短的设备优先启动及水泵根据压力自动加减水泵台数的程序要如何实现?

已锁定

moyb

  • 帖子

    51
  • 精华

    1
  • 被关注

    3

论坛等级:游侠

注册时间:2018-01-31

普通 普通 如何晋级?

发布于 2021-02-02 05:30:46

14楼

楼上多以面向过程的思路解决问题,在泵的数量不多的情况下,编程还是可以的,程序运行的效率也高。但是如果参与的泵的数量比较多的话,编程就比较复杂了。

用面向对象的方法相对思路就简单一些。泵作为一个类,定义“累计运行时间”,“运行状态”,“启动序号”三个属性。于是楼主的要求就可以简单的转换为如下表述:

1、启动泵:在达到启动下一台泵的条件时(按启动按钮或高频低压超时),就是把”运行状态“为”停止“的泵中”累计运行时间“最小值的泵挑出来启动,并把“运行状态”改为“正在运行”,同时这台泵把”启动序号“设置为所有”运行状态“为”正在运行“的泵的数量

2、停泵:低频高压超时,就是把”运行状态“为”正在运行“的泵中,”启动序号“最大的那台泵筛选出来停止,把这台泵的“运行状态”改为“停止”,把“启动序号”置零。

3、故障:当泵的“运行状态”为“故障”时,自动停这台泵,启用它相应的备用泵(由于楼主这方面要求并不完整清晰,这里只能给个笼统的说法了)

可见,用面向对象方法,改变泵的数量时,并不需要改变程序。3台泵是这个程序,30台泵也是这个程序,不过是把for的循环次数调整一下,只要给“泵的数量”这个变量赋值就可以了,

QQ:2541809761
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15574条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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