如何做到电机故障自动切换到下一台电机

现在手上有个项目,是控制水泵的循环供水的,简单的讲有A,B,C,D,E五台水泵,正常工作时间隔四小时切换到下一台电机,具体见流程A-->B-->C-->D-->E-->A,如果B有问题,就直接其他四台电机运行。
现在在编程上遇到了问题,就是如果保证中间有台故障时,保证其他四台能正常的按间隔时间运行呢,哪个师傅在我程序上修改一下。
我的程序现在有点问题就是,有电机故障时,可能两台电机同时工作,且可能不能循环工作。详见程序。

TITLE=程序注释
Network 1 // 定时
LD     I0.0
A      SM0.5
EU
LD     C4
ON     I0.0
CTU    C4, 10
Network 2 
LD     I0.0
A      C4
EU
LD     C5
ON     I0.0
CTU    C5, 5
Network 3 
LD     I0.0
LPS
AW=    C5, 0
=      M31.0
LRD
AW=    C5, 1
=      M31.1
LRD
AW=    C5, 2
=      M31.2
LRD
AW=    C5, 3
=      M31.3
LPP
AW=    C5, 4
=      M31.4
Network 4 // 网络标题
// 网络注释
LD     I0.0
LD     M31.0
O      I0.5
ALD
AN     I0.1
=      Q0.0
Network 5 // 网络标题
// 网络注释
LD     I0.0
LD     M31.1
O      M0.0
ALD
AN     I0.2
=      Q0.1
Network 6 // 网络标题
// 网络注释
LD     I0.0
LD     M31.2
O      M0.1
ALD
AN     I0.3
=      Q0.2
Network 7 // 网络标题
// 网络注释
LD     I0.0
LD     M31.3
O      M0.2
ALD
AN     I0.4
=      Q0.3
Network 8 // 网络标题
// 网络注释
LD     I0.0
LD     M31.4
O      M0.3
ALD
AN     I0.5
=      Q0.4
Network 9 
LD     I0.1
LDN    I0.2
LD     I0.2
AN     I0.3
OLD
LD     I0.2
A      I0.3
AN     I0.4
OLD
LD     I0.2
A      I0.3
A      I0.4
AN     I0.5
OLD
ALD
=      M0.0
Network 10 
LD     I0.2
LDN    I0.3
LD     I0.3
AN     I0.4
OLD
LD     I0.3
A      I0.4
AN     I0.5
OLD
LD     I0.3
A      I0.4
A      I0.5
AN     I0.1
OLD
ALD
=      M0.1
Network 11 
LD     I0.3
LDN    I0.4
LD     I0.4
AN     I0.5
OLD
LD     I0.4
A      I0.5
AN     I0.1
OLD
LD     I0.4
A      I0.5
A      I0.1
AN     I0.2
OLD
ALD
=      M0.2
Network 12 
LD     I0.4
LDN    I0.5
LD     I0.5
AN     I0.1
OLD
LD     I0.5
A      I0.1
AN     I0.2
OLD
LD     I0.5
A      I0.1
A      I0.2
AN     I0.3
OLD
ALD
=      M0.3
Network 13 
Network 14

最佳答案

没有PLC,楼主自己实验一下吧!

ORGANIZATION_BLOCK 主程序:OB1
TITLE=I0.0  循环运行控制
// I0.1  1#电机故障位
// I0.2  2#电机故障位
// I0.3  3#电机故障位
// I0.4  4#电机故障位
// I0.5  5#电机故障位
// 
// Q0.0 1#电机控制位
// Q0.0 2#电机控制位
// Q0.0 3#电机控制位
// Q0.0 4#电机控制位
// Q0.0 5#电机控制位
// 
BEGIN
Network 1 
LD     I0.0
A      SM0.5
EU
LD     C4
ON     I0.0
CTU    C4, 10
Network 2 
LD     I0.0
A      C4
EU
LD     C5
ON     I0.0
CTU    C5, 5
Network 3 
// 判断电机是否故障,如果故障则跳转到下一台
LD     I0.0
LPS
AW=    C5, 0
LPS
AN     I0.1
=      Q0.0
LPP
A      I0.1
MOVW   1, C5
LRD
AW=    C5, 1
LPS
AN     I0.2
=      Q0.1
LPP
A      I0.2
MOVW   2, C5
LRD
AW=    C5, 2
LPS
AN     I0.3
=      Q0.2
LPP
A      I0.3
MOVW   3, C5
LRD
AW=    C5, 3
LPS
AN     I0.4
=      Q0.3
LPP
A      I0.4
MOVW   4, C5
LPP
AW=    C5, 4
LPS
AN     I0.5
=      Q0.4
LPP
A      I0.5
MOVW   0, C5
END_ORGANIZATION_BLOCK
SUBROUTINE_BLOCK SBR_0:SBR0
TITLE=子程序注释
BEGIN
Network 1 // 网络标题
// 网络注释
END_SUBROUTINE_BLOCK
INTERRUPT_BLOCK INT_0:INT0
TITLE=中断程序注释
BEGIN
Network 1 // 网络标题
// 网络注释
END_INTERRUPT_BLOCK

提问者对于答案的评价:
非常感谢。。能满足我的需求。。也学会了这个思路

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日 下午3:58
下一篇 2020年10月31日 下午3:58

相关推荐

  • PWM的时基问题?

    同样的程序,我把时基设置为毫秒,步进电机就转不起来,我把时基设置为微秒,步进电机就转起来了,为什么呀? 钻石用户推荐最佳答案 那你要搞清楚步进电机需要转起来的最低PWM要求啊,从描…

    SIMATIC S7-200 2021年7月5日
  • SMART200DP通讯做从站

    我们用的smart200PLC,DP通讯做从站,甲方给要通讯方式,通讯点表,配置方式,流程画面截图,GSD文件信息。请问这些该怎么给他们?通讯方式知道,DP通讯,那其它的有点不太懂…

    SIMATIC S7-200 2021年7月5日
  • 各位师傅你们好。

    哪位师傅帮我算算这道题怎么算,X+50/3乘2,这个X是什么数,也详细也好。谢谢了。 图片说明:    最佳答案 西门子数值计算的数据类型必须是一致的,根据你贴…

    2017年11月29日
  • 6ES7231-0HC22-0XA8 产品问题

    6ES7231-0HC22-0XA8 收到二种包装,不知道谁真谁假了,还是产地不同。你们帮我看一下,不知还有这个型号有没有产品合格证, 问题补充:S7-200CN系列除了…

    2021年7月5日
  • cpu224上的电位器

    如何用电位器改程序中的定时器 最佳答案 两个模拟电位器分别对应SMB28和SMB29,调节电位器就是改变SMB28和SMB29中的数值,数值在0到255之间。 可以用SM…

    SIMATIC S7-200 2021年7月5日
  • letham大师 又来问题了

    我已在WIN CC里建立完组态信息和变量,只要激活WINCC就可以发现板卡绿灯亮,EM277模块绿灯全亮 处于正常连接状态。只要取消激活,CP5611板卡绿灯就…

    SIMATIC S7-200 2017年11月6日
  • 如何保存中间的数据

    有一个电动阀门,在开的时候,有反馈输入到plc中,我想读取并记忆这个阀门反馈中间一个值,例如我想记忆当阀门开到20%时,把这个数据读取并记忆下来,请问怎么做? 问题补充:是这样,我…

    SIMATIC S7-200 2021年7月5日
  • 200写入和强制:写入vb0为2时,vb0扫描周期变化

    写入和强制:写入vb0为2(写入时赋值一次),但是在下一个周期vb0会不会被自动恢复为0吗?我知道强制不会恢复(它是循环赋值) 最佳答案 不会,强制相对于位的。对输入与输出都有效。…

    SIMATIC S7-200 2020年10月31日
  • 高速计数器重置编译没有错误,下载发生非致命错误

    用HC0高速计数器,当前值等于设定值时,用事件12连接中断程序INT_1,在里面重置HC0,编译没有错误,下载发生非致命错误,,PLC信息是89,在重置程序后加RETI解决不了问题…

    2018年12月5日
  • 软件中CPU型号没有224CN?

    兄弟刚接触西门子的PLC,在STEP7-Micro/Win4.0sp6软件中没CPU224CN/CPU226CN的选项,为什么? 最佳答案 CN的CPU开始是没有,但只要你连一次C…

    SIMATIC S7-200 2021年7月5日