AB PLC 如何避免CPU在发生主故障时停机
前言
在PLC程序开发时,难免存在一些Bug,平时运行时无异常,但有时这些Bug是致命的缺陷,比如:指令执行时出错,Watchdog时间超时、IO通信故障等,会导致CPU停机,致使整个系统瘫痪。在西门子编程软件STEP7或博途中,是使用组织块,如OB86、OB87、OB121等来避免CPU出现异常情况时停机。那我们来看看,AB大中型PLC发生主故障时避免停机的方法是什么。
解决方法
从上图可以看出,AB PLC发生主故障时,避免控制器停机的方法有三种:
1. 为程序创建故障例程;
2. 为控制器故障处理程序创建例程;
3. 为启动处理程序创建例程。
编程依据
《LOGIX5000控制器常用过程编程手册》,中文,官方出版号:1756-PM001H-ZH-P.
测试环境
1. 1769-L18ERM-BB1B
2. Studio 5000 v30.0
3. RSLinx Classic 4.0
4. Windows 10 64bit企业版
准备工作
1. 打开Studio 5000,新建一个项目FaultDeal,创建一个自定义数据类型UDT_MajorFaultRecord,用于存储主故障的信息:故障时间戳、故障类型、故障代码等。
2. 在控制器标签域内新建3个变量:
MajorFaultRecord_Controller、
MajorFaultRecord_PowerUp、
MajorFaultRecord_Program,
数据类型均为UDT_MajorFaultRecord,用于存储主故障信息。
方法介绍
一、为程序创建故障例程
这种方法主要是针对指令执行出现故障,比如:在将配方号用作间接地址的系统中,类型错误的编号可能产生主故障(类型4,代码20)。要使整个系统不关机,需创建故障例程清除该(类型4,代码20)主故障。实现方法如下:
1. 在控制器标签域内新建3个变量:Number,数据类型DINT;X,REAL[100];X_Point, REAL.
2. 在连续任务中,编写一段间接寻址的程序.
3. 为该程序创建故障例程Fault,该例程不需要在主程序中调用,只需为将其功能分配为Fault,见图中编号3,创建好以后,在里面编写清除故障的程序,详见下图.
4. 其中,获取主故障信息使用GSV指令,清除主故障使用SSV指令,详细设置项见下图.
5. 测试情形1:间接寻址Number的范围在0—99,运行正常,不会发生主故障.
6. 测试情形2:使用AFI指令屏蔽故障清除程序,当间接寻址Number=100,超出X,REAL[100]的最大维度99时,产生主故障,导致CPU报警并停机。
7. 测试情形3:启用故障清除程序,当间接寻址Number=100,超出X,REAL[100]的最大维度99时,产生主故障,被故障例程记录并清除,CPU正常运行,无停机现象发生。
二、为控制器故障处理程序创建例程
1. 这种方法主要是针对控制器出现故障,比如:任务Watchdog时间超时,将产生主故障(类型6,代码1),要使控制器不停机,需创建控制器故障处理程清除该主故障。
2. 创建过程及编写程序,详见如下图,在该例程中直接编写清除主故障的程序,当然也可以新建多个子程序。
3. 该段程序已经实测可行,将看门狗时间改小就可以测试了,测试效果就不写了。
三、为启动处理程序创建例程
1. 这种方法主要是针对控制器以运行模式启动产生的主故障(类型1,代码1),要使控制器不停机,需创建启动处理程序清除该主故障。
2. 创建过程及编写程序,详见如下图,在该例程中直接编写清除主故障的程序即可。
3. 测试说明,该段程序在1769-L18ERM-BB1B、5069-L33OER中测试过,当CPU以运行模式上电启动时,是不会产生主故障(类型1,代码1)的,不知道是我对(控制器以运行模式启动)理解错误,还是方法不对,若各位知道,请一定告知,在此谢过!
结束语
综上所述,本文详细的介绍了AB大中型PLC发生主故障时避免停机的三种方法。不过,要避免控制器异常停机,本质性的做法是完善程序、优化设置。所以,建议在设备调试和试运行阶段不要使用程序来清除故障,这样才能及时发现问题 、解决问题。
免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!
AB综合 全系列「PLC+触摸屏+上位机」资料免费分享
前言:疫情放假期间,花时间把AB资料又整理了一下,此次是按照系统性来分类,主要为PLC+HMI+SCADA,其涵盖的范围比较广,PLC涉及到小中大型、标准型、安全型、冗余型、运动控制型;HMI涉及到PanelView全系列的触摸屏;SCADA为上位机开发软件FactoryTalk View Site Edition。资料形式有硬件选型/用户手册、开发软件编程手册/指令集、入门教程、视频教程等。当然,此次分享的资料,全部免费下载,希望能帮助到有需要的朋友。
01
资料分类
1. Micro800 PLC资料
2. MicroLogix PLC资料
3. Logix5000 PLC资料
4. PanelView 触摸屏资料
5. FT View SE 上位机资料
02
Micro800 PLC资料
1. Micro800 PLC属于小型控制器,易于安装和维护,一个软件包(CCW)适用于整个产品系列,这些系统可为低成本的单机设备提供足够的控制.
2. 分享的资料:指令集、CCW编程入门、选型手册、用户手册等.
03
MicroLogix PLC资料
1. MicroLogix PLC属于小型控制器,提供经过验证的小型可编程逻辑控制器解决方案.
2. 分享的资料:RSLogix 500编程入门、用户手册、指令集、视频教程等.
04
Logix5000 PLC资料
1. Logix 5000控制器是AB的中流砥柱产品,包括CompactLogix和ControlLogix两大系列产品,其涵盖标准型、安全型、运动型、冗余型等控制器,不可谓不强大.
2. Logix5000控制器编程资料:编程手册、各种指令集、入门教程、视频教程等.
3. CompactLgix标准型控制器资料:选型手册、用户手册、视频教程等.
4. ControlLgix标准/冗余控制器资料:选型手册、用户手册、视频教程等.
5. GuardLgix安全型控制器资料:指令集、用户手册、学习资料等.
6. 伺服运动控制资料:运动控制技术、伺服编程基础、伺服培训资料等.
05
PanelView 触摸屏资料
1. AB触摸屏主要有
PanelView 800/Plus/5000等系列.
2. 应用和开发资料:用户手册、ME开发手册、视频教程等.
06
FT View SE 上位机资料
1. 目前,AB上位机SCADA系统,主要使用FactoryTalk View Site Edtion软件进行开发.
2. SE开发资料:开发手册、视频教程、过程库文件等.
07
资料下载
1. 方式一:关注我,私信对应产品资料,完全免费提供哦。
相关问答
ABPLC编程软件程序肿么添加标题注解-ZOL问答
在ABPLC编程软件中添加标题注解,首先打开你的项目,然后点击程序或者编辑选项。接着,在你想要添加注解的程序块上方,右键选择插入注释,输入你的标题描述。记得...
ABplc初始化程序如何写?
[最佳回答]要编写ABplc的初始化程序,首先需要定义输入输出模块和变量。然后,设置通信参数,如IP地址和端口号。接下来,配置输入输出模块的引脚和功能。然后,编写逻辑...
AB的PLC主要有什么系列的啊?-懂得
ABPLC主要分为下面几类系列ABPLC,ALLEN-BRADLEYPLCSLC500PLCControlLoigxPLCPLC-5MicrologixPLCCompactLogixPLCF
求助!!ABPLC与三菱触摸屏通讯-ZOL问答
兄弟你是说AB的micrologix1X00吧?1X00是PLC的型号,1761是它的扩展模块正如你所说,1761是8针的圆口,用的是DEVICENET至于GOT1000,必须看你所用的具体型号...
AB的PLC主要有什么系列的啊?
[最佳回答]AB的PLC目前主要分5类:1.低端为MicroLogix1500,编程软件为RSLogix500。目前最新版本为V6.0。2.中端小型机为SLC500,编程软件为RSL...
abplc块传送指令详解?
[最佳回答](2)BIR,传送字节立即读指令(3)BIW,传送字节立即写指令(4)MOVW,字传送指令(5)MOVD,双字传送指令(6)MOVR,实数传送指令2.块传送(1)BMB,字...
ABPLC的中高低端的怎么划分?
[最佳回答]AB的PLC目前主要分5类:1.低端为MicroLogix1500,编程软件为RSLogix500。2.中端小型机为SLC500,编程软件为RSLogix500。可以支持多种网络,最多支持4096...
用abplc如何编写一个简单的红绿灯?
[最佳回答]你用四个时间继电器做两个闪光回路,一个回路都设为5,一个闪光回路时间分别设为2.3。第二个回路用第一个回路的时间继电器控制
AB触摸屏与AB的PLC通讯怎么设置-ZOL问答
属性名:DateTime;目标RealClock[0];(RealClock为自定义的DINT数组(7))。用SSV指令来设置时钟,参数同上系统时间的读取!看一下笔记本是的usb是3.0还是...
ABplc程序怎么看?
[最佳回答]可以通过以下几种方式进行查看:使用ABPLC编程软件:ABPLC编程软件通常是RSLogix500或RSLogix5000,可以通过该软件打开PLC程序并进行查看和编辑。在软件中...