设定参数做通用程序

m个泵,最多允许n个泵同时工作,m,n均为可设定参数,怎么做这个程序

问题补充:
谢谢老师的热心解答,其实这是一个冷库的控制问题,我用水泵来类比了一下,我把控制要求详细的描述一遍。
1 每个冷库门前有温控器,假设 1 号冷库温度高于制冷温度,向联络箱 PLC 发出请求制冷信 号,联络箱 PLC 检测压缩机组是否允许冷库制冷,若允许且排队位置到,则开启 1 号冷库供 液阀,1 号冷库低于制冷温度请求制冷信号消失,关闭 1 号冷库供液阀。 2 每一个冷库发出请求制冷信号至联络箱 PLC,联络箱 PLC 都会发送总请求制冷信号至压缩 机组,压缩机组如果没有故障,压缩机组 PLC 会反馈一个总制冷允许信号。 3 当某个冷库正在排队中且此时冷库恰好出现故障致使该冷库的请求制冷信号消失,则该冷 库退出队列,后面冷库请求制冷信号依次前移。 一句话形容就是:依据多个请求制冷信号进行排队,控制对应供液阀顺序打开。


 要求:
1、 m 个冷库,三个供液电磁阀,最多允许 n 同时供液(此时 m,n 为可以设置的参数,此程 序也为通用程序), 

2、 m 个冷库,三个供液电磁阀,最多允许 n 同时供液,允许某个冷库单次插队(此时 m,n 为可以设置的参数,此程序也为通用程序)

最佳答案

1、变量定义:
     M:总泵数、N 最多允许多少泵运转;
     C:已经运行的泵数;
     P:最后投入运行的泵;
     规定泵号从 1、2 .... 一直到 M;
2、利用 SM0.1 初始化第一条定义的变量;
     其中:M、N 值如第一条,C 初始化为 0,P 初始化为 0;
3、根据工艺触发条件,需要启动一台泵时。
1)先判断 C 是不是 等于 N,如果等于,则什么也不做。
2)如果 C 小于 N:
2.1)则用一个 FOR 循环看要启动哪一台泵;
        FOR 循环的循环次数是 M 次
            循环体内部
            P=P+1;
            判断 P 是不是大于 M,如果大于,则使其等于 1,即又要探查 1 号泵。
            判断 P 是不是具备运行条件
            (比如、手自动信号、有没有故障、是不是正在运行等等),总之只要它满足运行条件并且它此时又不在RUN状态,那就是它了,泵号就在 P 中。无条件跳出循环,跳到循环体外的标号1。
            P 号泵不满足,则继续循环。
        循环体外:
        定义一个标号1。
        用逻辑启动 P 号泵,并且 C=C+1;
4、本程序没有考虑停泵,什么间停呢,是先启的先停,还是后启的先停,是不是还要引入其它变量,请在此基础上思考。
另外 M、N 变量是不是要设置断电保持,这些都值得思考。

提问者对于答案的评价:
谢谢您的解答

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc280630.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月30日 下午9:57
下一篇 2020年10月30日 下午9:57

相关推荐