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

现在手上有个项目,是控制水泵的循环供水的,简单的讲有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

相关推荐

  • modbus库如何添加

    软件中没有modbus库,怎么办。软件版本为sp6。那个lib文件夹中没有东西,而Standard Libs中倒是有很多文件,不过不能打开,一打开就说库无效,无法打开。 …

    SIMATIC S7-200 2021年7月5日
  • 程序计时的问题

    某混合机在运行过程中,高能转子低速运行30分钟(时段可以改变,这个时段我们称为“第一时段”)后,自动切换高速运行(750转/分钟)20分钟(“第二时段”)。然后,低速、高速交替运行…

    SIMATIC S7-200 2020年10月31日
  • EB500触摸屏可以和西门子S7/300通讯

    刚接触S7/300请各位大侠帮忙提供EB500触摸屏和西门子S7/300通讯的例程供小弟学习! 邮箱地址: xttczlq@163.com 问题补充:我的设定如…

    SIMATIC S7-200 2021年7月5日
  • plc地址怎么确定

    编程过程中全局变量和局部变量表中,对数据类型的选择不是很清楚?什么时候选bool 什么时候选 real 等以及和上位机io配置时也不是很懂,哪位指教指…

    SIMATIC S7-200 2020年11月1日
  • EM253控制面板 DIS点亮 电机就自动转起来了

    EM253连接的松下电机,用驱动器软件调试时一切正常,可手动控制电机转动,然后打开PLC200编程软件,打开里面的EM253控制面板后,点击DIS有效,DIS灯亮,但电机会自动不停…

    SIMATIC S7-200 2017年6月7日
  • 西门子S7-200的PUT/GET使用请教

    本人打算使用PUT/GET对两个PLC进行通讯,通讯内容有BOOL型和REAL型,GET/PUT搭建起来后,副机那边接收的变量怎么调用啊,直接调用VB/MB就会报错。 最佳答案 你…

    SIMATIC S7-200 2021年7月5日
  • S7-200中断中可以调用两个不同的子程序吗,不是嵌套调用。

    S7-200中断中可以调用两个不同的子程序吗,不是嵌套调用,我把流量累积的和模拟量转换的都放在中断0中。 最佳答案 楼主说的意思是中断程序中是否可以调用两个子程序?200系统手册这…

    SIMATIC S7-200 2020年10月31日
  • WINCC7.0关于每小时流量的报表

    客户要求每天自动打印每小时累积流量的报表,流量值不是总累积量,是当前时刻累积量减去前一小时累积量,这种报表是不是只能用VBS脚本的方式来实现?尝试过DateMonitor加Exce…

    SIMATIC S7-200 2020年10月31日
  • 有关高数计数问题

    最近做一个新项目用CPU226采集脉冲,脉冲100-3000PCS/min,请问是不是要用高数计数器,其程序如初:LD     S…

    SIMATIC S7-200 2020年10月31日
  • CPU224XP怎样同时有三个功能?

    我有一个CPU224XP,0#口用于modbus主站,1#口用于K-TP178micro,我又想在调试的时候监视CPU224XP的程序变量,请问有什么办法吗? 问题补充:我在CPU…

    SIMATIC S7-200 2021年7月4日