回复:LOGO程序漏洞

Zaxife

  • 帖子

    2450
  • 精华

    31
  • 被关注

    78

论坛等级:至圣

注册时间:2008-07-24

普通 普通 如何晋级?

发布于 2017-04-04 00:38:54

14楼

我上面的程序没完善,今天有时间完善了。做成是顺序轮换启停。

I1:开关泵开关输入

I2~I5:泵故障输入

Q1~Q4:泵启停接触器控制

增加文本显示功能


控制逻辑:

1、I1输入闭合,I2~I5输入开路则根据设定的泵数量,泵没开够则每2秒增开一个泵。当泵开太多了则则每2秒减少一个泵。

2、开泵信号每设定轮换周期则触发一次增泵先开一个最早关掉的泵,然后再由减泵逻辑减少一个泵,避免只用一个泵时导致水路断流。

3、延时增加泵是为了压力波动引起的频繁投切泵和避免一开机全部投入泵引起电源冲击、延时切断泵是为了避免压力波动引起的频繁投切泵避免水锤冲击、关机时延时切出泵同样是避免电源冲击避免水锤冲击。

4、程序没有专门做故障轮换,是因为没必要做。因为当某一台泵故障时,会自动判断为泵投入数量不足然后2秒后自动增加一台,所以没必要把逻辑搞得太复杂。

5、顺序启停的原则是用一个中间变量来计数所有泵依次启动的顺序,把顺序只绑定到对应启动的泵上。顺序轮换可以有效的避免用运行时间判断中某个泵运行时间太小一直长时间开那个泵的逻辑bug。

6、关于优先开泵的判断原则是泵无故障、泵每开、泵的启停顺序是最小值,有故障或者开了就用32767代替顺序值设为刚停的泵不优先考虑开它。

7、关于优先关泵的判断原则是判断当前运行的泵中启停顺序最小的泵。那些没开的泵都用32767代替人为定义为这是刚开的泵先别关。

泵轮换v1.4.zip



评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

LOGO!

共有2417条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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