SPLC故障诊断实用教案

上传人:莉**** 文档编号:78253500 上传时间:2022-04-21 格式:PPTX 页数:79 大小:1.64MB
收藏 版权申诉 举报 下载
SPLC故障诊断实用教案_第1页
第1页 / 共79页
SPLC故障诊断实用教案_第2页
第2页 / 共79页
SPLC故障诊断实用教案_第3页
第3页 / 共79页
资源描述:

《SPLC故障诊断实用教案》由会员分享,可在线阅读,更多相关《SPLC故障诊断实用教案(79页珍藏版)》请在装配图网上搜索。

1、7.1 了解(lioji)S7-300 PLC的基本故障种类 一般PLC的故障主要有外部故障或是(hu sh)内部错误造成。外部故障时由外部传感器或执行机构的故障等引发PLC产生故障,可能会使整个系统停机,甚至烧坏PLC。 而内部错误是PLC内部的功能性错误或编成错误造成的,可以使系统停机。S7-300具有很强的错误(或称故障)检测和处理能力,CPU检测到某种错误后,操作系统调用对应得组织块,用户可以在组织块中编程,对发生的错误采取相应的措施。对于大多数错误,如果没有给组织块编程,出现错误时CPU将进入STOP模式。 被S7 CPU检测到并且用户可以通过组织块对其进行处理的错误分为两类: 1、

2、异步错误 异步错误是与PLC的硬件或操作系统密切相关的错误,与程序执行无关,但异步错误的后果一般比较严重。 2、同步错误 同步错误是与执行用户程序有关的错误,程序中如果有不正确的地址区,错误的编号或错误的地址,都会出现同步错误,操作系统将调用同步错误OB。 第1页/共78页第一页,共79页。7.2 掌握(zhngw)PLC的常规维护及故障排除的方法 为了保障系统的正常运行,定期对PLC系统进行维护和检查是必不可少的,而且还必须熟悉一些(yxi)故障诊断和排除方法。 7.2.1 检查与维护 7.2.2 外部故障的排除方法 7.2.3 内部错误的故障诊断第2页/共78页第二页,共79页。7.2.1

3、 检查(jinch)与维护 一、定期检查 PLC是一种工业控制设备,尽管在可靠性方面采取了许多措施,但工作环境对PLC影响还是很大的。所以,通常每隔半年时间应对PLC作定期检查。如果PLC的工作条件不符合表7-1规定(gudng)的标准,就要做一些应急处理,以便使PLC工作在规定(gudng)的标准环境。第3页/共78页第三页,共79页。表7-1 周期性检查(jinch)一览表第4页/共78页第四页,共79页。二、日常(rchng)维护 PLC除了锂电池和继电器输出触点外,基本上没有其它易损元器件。由于存放用户程序的随机内存(RAM),计数器和具有保持功能的辅助继电器等均用锂电池保护,锂电池的

4、寿命大约5年,当锂电池的电压逐渐降低达一定程度时,PLC基本单元上的电池电压跌落指示灯会亮。提示用户注意,有锂电池所支持的程序还可以保持一周左右,必须更换电池,这是日常维护的主要(zhyo)内容。 第5页/共78页第五页,共79页。调换(diohun)锂电池的步骤: 1、在拆装之前,应先让PLC通电15S以上,这样可使作为内存备用电源的电容器充电,在锂电池断开后,该电容可对PLC作短暂供电,以保护RAM中的信息不丢失。 2、断开PLC的交流电源。 3、打开基本(jbn)单元的电池盖板。 4、取下旧电池,装上新电池。 5、盖上电池盖板。 更换电池的时间要尽量短,一般不允许超过3min。如果时间过

5、长,RAM中的程序将丢失。第6页/共78页第六页,共79页。7.2.2 外部(wib)故障的排除方法 PLC有很强的自诊断能力,当PLC自身故障或外围设备发生故障,都可用PLC上具有诊断指示功能(gngnng)的发光二极管的亮灭来诊断。第7页/共78页第七页,共79页。一、故障(gzhng)查找 1、总体(zngt)检查 根据总体(zngt)检查流程图找出故障点的大方向,逐渐细化,以找出具体故障,如图7-1所示。第8页/共78页第八页,共79页。2、电源(dinyun)故障检查 电源等不亮部需要(xyo)对供电系统进行检查,检查流程图如图7-2所示。第9页/共78页第九页,共79页。3、运行(

6、ynxng)故障检查 电源正常,运行(ynxng)指示灯不亮,说明系统已因某种异常而终止了正常运行(ynxng),检查流程图如图7-3所示。第10页/共78页第十页,共79页。4、输入输出故障(gzhng)检查 输入输出是PLC与外部设备进行信息交流的信道,其是否正常工作,除了和输入输出单元有关外,还与联接配线、接线端子、保险管等组件状态(zhungti)有关。图7-4和图7-5分别所示的是输入检查流程和输出检查流程。 图7-4 输入检查流程图第11页/共78页第十一页,共79页。 图7-5 输出(shch)检查流程图第12页/共78页第十二页,共79页。5、外围环境(hunjng)的检查 影

7、响(yngxing)PLC工作的环境因素主要有温度、湿度、噪音与粉尘,以及腐蚀性酸碱等。 第13页/共78页第十三页,共79页。二、故障(gzhng)的处理不同故障产生的原因不同,它们也有不同的处理方法(fngf),具体请见下表所列。表7-2 CPU装置、I/O扩展装置故障处理第14页/共78页第十四页,共79页。序号异常现象可能原因处理1输入全部不接通(动作指示灯也灭)1、未加外部输入电压供电2、外部输入电压低加额定电源电压3、端子螺钉松动拧紧4、端子板联接器接触不良把端子板补充插入、锁紧。更换端子板联接器2输入全部断开(输入指示灯也灭)输入回路不良更换单元3输入全部不关断输入回路不良更换单

8、元415特定继电器编号的输入不接通1、输入器件不良更换输入器件2、输入配线断线检查输入配线3、端子螺钉松驰拧紧4、端子板联接器接触不良把端子板补充插入、锁紧。更换端子板联接器5、外部输入接触时间短调整输入组件6、输入回路不良更换单元7、程序的OUT指令中用了输入继电器编号修改程序5特定继电器编号的输入不关断1、输入回路不良更换组件2、程序的OUT指令中用了输入继电器编号修改程序6输入不规则ON/OFF动作1、外部输入电压低使外部输入电压在额定值范围2、噪音引起的误动作抗干扰措施:安装绝缘变压器、安装尖峰抑制器、用屏蔽线配线等3、端子螺钉松动拧紧4、端子板联接器接触不良把端子板补充插入、锁紧。更

9、换端子板联接器7异常动作的继电器编号为8点单位1、COM端螺钉松动拧紧2、端子板联接器接触不良把端子板补充插入、锁紧。更换端子板联接器3、CPU不良更换CPU单元8输入动作指示灯不亮(动作正常)LED灯坏更换单元表7-3 输入单元(dnyun)故障处理第15页/共78页第十五页,共79页。序号异常现象可能原因处理1输出全部不接通1、未加负载电源加电源2、负载电源电压低使电源电压为额定值3、端子螺钉松动拧紧4、端子板联接器接触不良把端子板补充插入、锁紧。更换端子板联接器5、保险丝熔断更换保险丝6、I/O总线接触不良更换单元7、输出回路不良更换单元2输出全部不关断输出回路不良更换单元3特定继电器编

10、号的输出不接通(动作指示灯灭)1、输出接通时间短更换单元2、程序中指令的继电器编号重复修改程序3、输出回路不良更换单元4特定继电器编号的输出不接通(动作指示灯亮)1、输出器件不良更换输出器件2、输出配线断线检查输出线3、端子螺钉松动拧紧4、端子联接接触不良端子充分插入、拧紧5、继电器输出不良更换继电器6、输出回路不良更换单元第16页/共78页第十六页,共79页。5特定继电器编号的输出不关断(动作指示灯灭)1、输出继电器不良更换继电器2、由于漏电流或残余电压而不能关断更换负载或加假负载电阻6特定继电器编号的输出不关断(动作指示灯亮)1、程序OUT指令的继电器编号重复修改程序2、输出回路不良更换单

11、元7输出出现不规则的ON/OFF现象1、电源电压低调整电压2、程序OUT指令的继电器编号重复修改程序3、噪音引起的误动作抗噪音措施:装抑制器、装绝缘变压器、用屏蔽线配线等4、端子螺钉松动拧紧5、端子联接接触不良端子充分插入、拧紧8异常动作的继电器编号为8点单位1、COM端子螺钉松动拧紧2、端子联接接触不良端子充分插入、拧紧3、保险丝熔断更换保险丝4、CPU不良更换CPU单元9输出指示灯不亮(动作正常)LED灯坏更换单元表7-4输出(shch)单元故障处理第17页/共78页第十七页,共79页。7.2.3 内部(nib)错误的故障诊断 S7-300具有非常强大的故障诊断功能,通过STEP 7编程软

12、件可以获得大量的硬件故障与编程错误(cuw)的信息,使用户能迅速地查找到故障。 这里的诊断是指S7-300内部集成的错误(cuw)识别和记录功能,错误(cuw)信息在CPU的诊断缓冲区内。有错误(cuw)或事件发生时,标有日期和时间的信息被保存到诊断缓冲区,时间保存到系统的状态表中,如果用户已对有关的错误(cuw)处理组织块编程,CPU将调用该组织块。第18页/共78页第十八页,共79页。一、故障诊断的基本(jbn)方法 在SIMATIC管理器中用菜单命令“View”“Online”打开再现窗口。打开所有的站,查看是否有CPU显示了指示错误或故障的诊断符号。 诊断符号用来形象直观地表示(bio

13、sh)模块的运行模式和模块的故障状态,如图7-6所示。如果模块有诊断信息,在模块符号上将会增加一个诊断符号,或者模块符号的对比度降低。图7-6 诊断(zhndun)符号第19页/共78页第十九页,共79页。 诊断符号“当前组态与实际组态不匹配”表示被组态的模块不存在,或者插入了与组态的模块的型号不同的模块。 诊断符号“无法诊断”表示无线上连接,或该模块不支持模块诊断信息,例如电源模块或子模块。 “强制”符号表示在该模块上有变量被强制,即在模块的用户程序中有变量被赋予一个固定植,该数据值不能被程序改变。“强制”符号可以与其它符号组合在一起(yq)显示,如图7-6中“强制与运行”符号。 从在线的S

14、IMATIC管理器的窗口、在线的硬件诊断功能打开的快速窗口和在线的硬件组态窗口(诊断窗口),都可以观察到诊断符号。 通过观察诊断符号,可以判断CPU模块的运行模式,是否有强制变量,CPU模块和功能模块(FM)受否有故障。 打开在线窗口,在SIMATIC管理器中执行菜单命令“PLC”“Diagnostic/Setting”“Hardware Diagnostics”,将打开硬件诊断快速浏览窗口。在该窗口中显示PLC的状态,看到诊断功能的模块的硬件故障,双击故障模块可以获得详细的故障信息。第20页/共78页第二十页,共79页。二、利用CPU诊断缓冲区进行(jnxng)详细故障诊断 建立与PLC的在

15、线连接后,在SIMATIC管理器中选择要检查(jinch)的站,执行菜单命令“PLC”“Diagnostics/Setting”“Module Information”,如图7-7所示,将打开模块信息窗口,显示该站中CPU的信息。在快速窗口中使用“Module Information”。图7-7 打开(d ki)CPU诊断缓冲区第21页/共78页第二十一页,共79页。 在模块信息窗口中的诊断缓冲区(Diagnostic Buffer)选项中,给出了CPU中发生的事件一览表,选中“Events”窗口中某一行的某一事件,下面灰色(hus)的“Details on”窗口将显示所选事件的详细信息,见图

16、7-8所示。使用诊断缓冲区可以对系统得错误进行分析,查找停机的原因,并对出现的诊断时间分类。图7-8 CPU模块的在线(zi xin)模块信息窗第22页/共78页第二十二页,共79页。 诊断事件包括模块故障、过程写错误、CPU中的系统错误、CPU运行模式的切换、用户程序的错误和用户用系统功能SFC52定义的诊断事件。 在模块信息窗口中,编号为1,位于最上面的事件是最近发生的事件。如果显示因编程错误造成CPU进入STOP模式,选择该事件,并点击“Open Block”按钮,将在程序编辑器中打开于错误有关的块,显示出错的程序段。 诊断中断和DP从站诊断信息用于查找模块和DP从站中的故障原因。 “M

17、emory”(内存)选项给出了所选的CPU或M7功能模块的工作内存和装载内存当前的使用情况,可以检查CPU或功能模块的装载内存中是否(sh fu)有足够的空间用来存储新的块,如图7-9所示。 图7-9 “Memory” 选项第23页/共78页第二十三页,共79页。“Scan Cycle Time”(扫描循环时间)选项卡用于显示所选CPU或M7功能模块的最小循环时间、最大循环时间和当前循环时间,如图7-10所示。如果最长循环时间接近组态的最大扫描循环时间,由于循环时间的波动可能产生时间错误,此时应增大设置的用户程序最大循环时间(监控时间)。如果循环时间小于设置的最小循环时间,CPU自动延长循环至

18、设置的最小循环时间。在这个(zh ge)延长时间内可以处理背景组织块(OB90)。组态硬件时可以设置最大和最小循环时间。图7-10 “Scan Cycle Time” 选项第24页/共78页第二十四页,共79页。 “Time System”(时间系统)选项卡显示当前日期、时间、运行的小时数以及(yj)时钟同步的信息,见图7-11所示。图7-11 “Time System” 选项第25页/共78页第二十五页,共79页。 “Performance Data”(性能数据)选项卡给出了所选模块(m kui)(CPU/FM)可以使用的地址区和可以使用的OB、SFB、和SFC,见图7-12所示。 图7-1

19、2 “Performance Data” 选项第26页/共78页第二十六页,共79页。 “Communication”(通信)选项卡给出了所选模块的传输速率、可以建立的连接个数和通信处理占扫描(somio)周期的百分比,如图7-13所示。图7-13“Communication” 选项第27页/共78页第二十七页,共79页。 “Stacks”(堆栈)选项卡只能在STOP模式或HOLD(保持)模式下调用,显示所选模块的B(块)堆栈。还可以显示I(中断)堆栈、L(局域)堆栈以及嵌套深度(shnd)堆栈。可以跳转到使块中断的故障点,判明引起停机的原因。 在模块信息窗口各选项卡的上面显示了附加的信息,例

20、如所选模块的在线路径、CPU的操作模式和状态(例如出错或OK)、所选模块的操作模式,如果它有自己的操作模式的话(例如CP342-5)。 从 (“Accessible Nodes”窗口)打开的非CPU模块的模块信息中,不能显示CPU本身的操作模式和所选模块的状态。 第28页/共78页第二十八页,共79页。三、错误处理组织(zzh)块 组织块是操作系统与用户程序之间的接口。S7提供了各种不同的组织块(OB),用组织块可以创建在特定时间执行的程序和响应特定事件的程序。 当系统程序可以检测下列错误:不正确的CPU功能、系统程序执行中的错误、用户程序中的错误和I/O中的错误。根据错误类型的不同,CPU设

21、置为进入STOP模式或调用一个错误处理(chl)OB。 当CPU检测到错误时,会调用适当的组织块,见表7-5。如果没有相应的错误处理(chl)OB,CPU将进入STOP模式。用户可以在错误处理(chl)OB中编写如何处理(chl)这种错误的程序,以减小或消除错误的影响。第29页/共78页第二十九页,共79页。OB号错误类型优先级OB70I/O冗余错误(仅H系列CPU)25OB72CPU冗余错误(仅H系列CPU)28OB73通信冗余错误(仅H系列CPU)35OB80时间错误26OB81电源错误26/28OB82诊断中断OB83插入/取出模块中断OB84CPU硬件故障OB85优先级错误OB86机架

22、故障或分布式I/O的站故障OB87通信错误OB121编程错误引起错误的OB的优先级OB122I/O访问错误表7-5 错误处理组织(zzh)块第30页/共78页第三十页,共79页。 为避免发生某种错误时CPU进入停机,可以在CPU中建立一个对应的空的组织块。用户可以利用OB中的变量声明表提供的信息来判别错误的类型。 根据S7 CPU检测到并且用户可以通过组织块对其进行处理(chl)的错误分为异步错误和同步错误。 第31页/共78页第三十一页,共79页。1、异步错误(cuw)组织块 异步错误是与PLC的硬件或操作系统密切相关的错误,与程序执行无关。异步错误的后果(hugu)一般都比较严重。异步错误

23、对应的组织块为OB70OB73和OB80OB87,有最高的优先级。操作系统检测到一个异步错误时,将启动相应的OB。第32页/共78页第三十二页,共79页。(1)时间(shjin)错误处理组织块(OB80) OB执行时出现故障S7-300 CPU的操作系统调用OB80。这样的故障包括循环时间超出、执行OB时应答故障、向前移动时间以致于跃过了OB的启动的时间、CLR后恢复RUN方式。 如果当循环中断OB仍在执行前一次调用时,该OB块的启动事件发生,操作系统调用OB80。如果OB80未编程,CPU变为STOP方式,可以(ky)使用SFC39至42封锁或延时和在使用时间故障OB。 如果在同一个稍描周期

24、中由于扫描时间超出OB80被调用两次,CPU就变为STOP方式,可以(ky)通过在程序中适当的位置调用SFC43“RE_TRIGR”来避免这种情况。 第33页/共78页第三十三页,共79页。打开OB80可以从OB80的临时(ln sh)变量中得到故障信息,见图7-14所示。 图7-14 OB80的临时(ln sh)变量第34页/共78页第三十四页,共79页。变量类型描述OB80_EV_CLASSBYTE事件级别和标识:B#16#35OB80_FLT_IDBYTE故障代码OB80_PRIORITYBYTE优先级:在RUN方式时OB80以优先级26运行,OB请求缓冲区溢出时以优先级28运行OB80

25、_OB_NUMBRBYTEOB号OB80_RESERVED_1BYTE保留OB80_RESERVED_2BYTE保留OB80_ERROR_INFOWORD故障信息:根据故障代码OB80_ERR_EV_CLASSBYTE引起故障的启动事件的事件级别OB80_ERR_EV_NUMBYTE引起故障的启动事件的事件号OB80_OB_PRIORITYBYTE故障信息:根据故障代码OB80_OB_NUMBYTE故障信息:根据故障代码OB80_DATE_TIMEDATE_AND_TIMEOB被调用时的日期和时间4表7-6 OB80的变量(binling)申明表第35页/共78页第三十五页,共79页。(2)电

26、源故障(gzhng)处理组织块(OB81) 与电源(仅对S7-400)或后备(hubi)电池有关的故障事件发生时,S7-300 CPU的操作系统调用OB81,表7-7为OB81的变量申明表。 如果OB81未编程,CPU并不转换为STOP方式。可以使用SFC39至42来禁用、延时或再使用电源故障(OB81)。第36页/共78页第三十六页,共79页。变量类型描述OB81_EV_CLASSBYTE事件级别和标识:B#16#38,离去事件;B#16#39,到来事件OB81_FLT_IDBYTE故障代码OB81_PRIORITYBYTE优先级:可通过STEP 7选择(硬件组态)OB81_OB_NUMBR

27、BYTEOB号OB81_RESERVED_1BYTE保留OB81_RESERVED_2BYTE保留OB81_MDL_ADDRINT位0至2:机架号;位3:0=备用CPU,1=主站CPU;位4至7:1111OB81_RESERVED_3BYTE仅与部分故障代码有关OB81_RESERVED_4BYTEOB81_RESERVED_5BYTEOB81_RESERVED_6BYTEOB81_DATE_TIMEDATE_AND_TIMEOB被调用时的日期和时间表7-7 OB81的变量(binling)申明表第37页/共78页第三十七页,共79页。(3)诊断中断(zhngdun)处理组织块(OB82) 如

28、果模块具有诊断能力又使能了诊断中断,当它检测到错误(cuw)时,它输出一个诊断中断请求给CPU,以及错误(cuw)消失时,操作系统都会调用OB82。当一个诊断中断被触发时,有问题的模块自动地在诊断中断OB的起动信息和诊断缓冲区中存入4个字节的诊断数据和模块的起始地址。可以用SFC39至42来禁用、延时或再使用诊断中断(OB82),表7-8描述了诊断中断OB82的临时变量。第38页/共78页第三十八页,共79页。变量类型描述OB82_EV_CLASSBYTE事件级别和标识:B#16#38,离去事件;B#16#39,到来事件OB82_FLT_IDBYTE故障代码OB82_PRIORITYBYTE优

29、先级:可通过SETP 7选择(硬件组态)OB82_OB_NUMBRBYTEOB号OB82_RESERVED_1BYTE备用OB82_IO_FLAGBYTE输入模板:B#16#54;输出模板:B#16#55OB82_MDL_ADDRWORD故障发生处模板的逻辑起始地址OB82_MDL_DEFECTBOOL模板故障OB82_INT_FAULTBOOL内部故障OB82_EXT_FAULTBOOL外部故障OB82_PNT_INFOBOOL通道故障OB82_EXT_VOLTAGEBOOL外部电压故障OB82_FLD_CONNCTRBOOL前连接器未插入OB82_NO_CONFIGBOOL模板未组态OB8

30、2_CONFIG_ERRBOOL模板参数不正确OB82_MDL_TYPEBYTE位0至3:模板级别;位4:通道信息存在;位5:用户信息存在;位6:来自替代的诊断中断;位7:备用OB82_SUB_MDL_ERRBOOL子模板丢失或有故障OB82_COMM_FAULTBOOL通讯问题OB82_MDL_STOPBOOL操作方式(0:RUN,1:STOP)OB82_WTCH_DOG_FLTBOOL看门狗定时器响应OB82_INT_PS_FLTBOOL内部电源故障OB82_PRIM_BATT_FLTBOOL电池故障OB82_BCKUP_BATT_FLTBOOL全部后备电池故障第39页/共78页第三十九页

31、,共79页。OB82_RESERVED_2BOOL备用OB82_RACK_FLTBOOL扩展机架故障OB82_PROC_FLTBOOL处理器故障OB82_EPROM_FLTBOOLEPROM故障OB82_RAM_FLTBOOLRAM故障OB82_ADU_FLTBOOLADC/DAC故障OB82_FUSE_FLTBOOL熔断器熔断OB82_HW_INTR_FLTBOOL硬件中断丢失OB82_RESERVED_3BOOL备用OB82_DATE_TIMEDATE_AND_TIMEOB被调用时的日期和时间表7-8 OB82的变量(binling)申明表第40页/共78页第四十页,共79页。 在编写OB

32、82的程序时,要从OB82的起动信息中获得与出现的错误有关的更确切的诊断信息,例如是哪一个通道出错,出现的是哪种错误。使用SFC51“RDSYSST”也可以读出模块(m kui)的诊断数据,用SFC52“WR_USMSG”可以将这些信息存入诊断缓冲区。 现在通过结合模板的短线诊测应用和SFC51来说明诊断中断组织块OB82的使用方法。第41页/共78页第四十一页,共79页。 首先,在SIMATIC管理器中新建一个项目,插入一个300站。硬件组态,在机架上插入CPU 315-2DP和一块具有中断功能模拟量输入模块SM331,配置SM331模块的“Inputs”选项,选择(xunz)0-1通道组为

33、2线制电流(2DMU),其它通道组为电压,并注意模块的量程卡要与设置的相同。选中“Enable”框中的“Diagnostic Interrupt”选项,选中“Diagnostics”选项中的0-1通道组中的“Group Diagnostics”和“with Check for Wire Break”选项,如图7-15所示。图7-15 硬件(yn jin)组态第42页/共78页第四十二页,共79页。 点击OK,然后双击CPU 315-2DP,选择“Interrupts”选项,可以看到CPU支持OB82,见图7-16所示。硬件组态完成后,保存编译(biny),下载到CPU中。图7-16 CPU中的

34、“Interrupts”选项第43页/共78页第四十三页,共79页。 然后完成诊断程序。OB82程序当在硬件(yn jin)组态中设定的诊断中断发生后执行,但OB82执行时可以通过它的临时变量OB82_MDL_ADDR读出产生诊断中断的模块的逻辑地址。STEP 7不能时时监控程序的运行。 在SIMATIC管理器中S7 Program(1)下插入一个STL Source文件STL Source(1),如图7-17所示。图7-17 插入(ch r)STL Source文件第44页/共78页第四十四页,共79页。打开OB1,在“Libraries”“Standard Libraries”“Syste

35、m Function Blocks”下找到SFC51“RDSYSST DIAGNSTC”,按F1键,出现SFC51在线帮助信息,在帮助信息的最低部点击“Example for module diagnostics with the SFC51”,然后点击“STL Source File”,选中全部STL Source源程序拷贝到STL Source(1)中,编译保存。这是在Blocks中生成(shn chn)OB1、OB82、DB13和SFC51。打开OB82,对其中的程序做简单的修改,将19和20行的程序拷贝到go:后面,如图7-18所示。再进行保存,下载到CPU中。图7-18 OB82的程

36、序修改第45页/共78页第四十五页,共79页。 下载完成后,将CPU上的模式选择开关切换到“RUN”状态,此时,CPU上的“RUN”灯和“SF”灯会亮,SM331模块上的“SF”灯也会亮。同时,查看CPU的诊断缓冲区可以获得相应的故障信息。 打开DB13数据块,在线监控,见图7-19所示。因为通道(tngdo)断线是一到来事件,所以诊断信息存储到COME数组中。图7-19 DB13中的数据(shj)变换第46页/共78页第四十六页,共79页。 本例中COME数组字节的含义接受如下: COME1=B#16#D:表示通道错误,外部故障和模块问题; COME2=B#16#15:表示此段信息为模拟量模

37、块的通道信息; COME3=B#16#0:表示CPU处于运行状态,无字节2中标示的故障信息; COME4=B#16#0:表示无字节3中标示的故障信息; COME5=B#16#71:表示模拟量输入; COME6=B#16#8:表示模块的每个通道有8个诊断位; COME7=B#16#8:表示模块的通道数; COME8=B#16#3:表示0通道错误和1通道错误,其他(qt)通道正常; COME9=B#16#10:表示0通道断线; COME10=B#16#10:表示1通道断线; COME11=B#16#0:表示2通道正常,其他(qt)通道与2通道相同。 第47页/共78页第四十七页,共79页。(4)插

38、入/拔出模块(m kui)中断组织块(OB83) 当组态的模块插入/拔出后或在SETP 7下修改了模块的参数并在“RUN”状态把所做修改下载到CPU后,CPU操作系统调用OB83。 在“RUN”、“STOP”和“STARTUP”状态时每次组态的模块插入或拔出,就产生一个插入/拔出中断(电源模块、CPU、适配模块和IM模块不能在这种状态下移出)。该中断引起有关CPU的诊断缓冲区和系统状态表的记录 如果(rgu)在“RUN”状态下拔出组态的模块,OB83期启动。由于仅以一秒的间隔监视模块的存在,如果(rgu)模块被直接访问或当过程映像被刷新时可能首先检测出访问故障。如果(rgu)在“RUN”状态下

39、插入一块模块,操作系统检查插入模块的类型是否与组态的记录一致,如果(rgu)模块类型匹配,于是OB83被启动并且参数被赋值。可以借助SFC39至42来禁用、延时或再使用插入/拔出模块中断(OB83),表7-9描述了插入/拔出模块中断OB83的临时变量。第48页/共78页第四十八页,共79页。变量类型描述OB83_EV_CLASSBYTE事件级别和标识:B#16#32,模块参数赋值结束;B#16#33,模块参数赋值启动;B#16#38,模块插入;B#16#39,模块拔出或无反应,或参数赋值结束OB83_FLT_IDBYTE故障代码OB83_PRIORITYBYTE优先级,可通过STEP 7选择(

40、硬件组态)OB83_OB_NUMBRBYTEOB号OB83_RESERVED_1BYTE块模块或接口模块标识OB83_MDL_IDBYTE范围:B#16#54,外设输入(PI);B#16#55,外设输出(PQ)OB83_MDL_ADDRWORD有关模块的逻辑起始地址OB83_RACK_NUMWORDB#16#A0,接口模块号;B#16#C4,机架号或DP站号(低字节)或DP主站系统ID(高字节)OB83_MDL_TYPEWORD有关模块的模块类型OB83_DATE_TIMEDATE_AND_TIMEOB被调用时的日期和时间表7-9 OB83的变量(binling)申明表第49页/共78页第四十

41、九页,共79页。(5)CPU硬件(yn jin)故障处理组织块(OB84) 当CPU检测到MPI网络的接口故障、通信总线(zn xin)的接口故障或分布式I/O网卡的接口故障时,操作系统调用OB84。故障消除时也会调用该OB块,即事件到来和离去时都调用该OB。表7-10描述了CPU硬件故障OB84的临时变量。第50页/共78页第五十页,共79页。变量类型描述OB84_EV_CLASSBYTE事件级别和标识:B#16#38,离去事件;B#16#39,到来事件OB84_FLT_IDBYTE故障代码OB84_PRIORITYBYTE优先级,可通过STEP 7选择(硬件组态)OB84_OB_NUMBR

42、BYTEOB号OB84_RESERVED_1BYTE备用OB84_RESERVED_2BYTE备用OB84_RESERVED_3WORD备用OB84_RESERVED_4DWORD备用OB84_DATE_TIMEDATE_AND_TIMEOB被调用时的日期和时间表7-10 OB84的变量(binling)申明表第51页/共78页第五十一页,共79页。(6)优先级错误处理组织(zzh)块(OB85) 在以下情况下将会触发优先级错误中断: 产生了一个中断事件,但是对应的OB块没有下载到CPU; 访问一个系统功能块的背景数据块时出错; 刷新过程映像表时I/O访问出错,模块不存在或有故障。 在编写OB

43、85的程序时,应根据OB85的起动信息,判定是哪个模块损坏或没有插入。可以使用SFC39至42封锁或延时并使能优先级故障OB,表7-11描述(mio sh)了优先级故障OB85的临时变量。 第52页/共78页第五十二页,共79页。变量类型描述OB85_EV_CLASSBYTE事件级别和标识OB85_FLT_IDBYTE故障代码OB85_PRIORITYBYTE优先级,可通过STEP 7选择(硬件组态)OB85_OB_NUMBRBYTEOB号OB85_RESERVED_1BYTE备用OB85_RESERVED_2BYTE备用OB85_RESERVED_3INT备用OB85_ERR_EV_CLAS

44、SBYTE引起故障的事件级别OB85_ERR_EV_NUMBYTE引起故障的事件号码OB85_OB_PRIORBYTE当故障发生时被激活OB的优先级OB85_OB_NUMBYTE当故障发生时被激活OB的号码OB85_DATE_TIMEDATE_AND_TIMEOB被调用时的日期和时间表7-11 O85的变量(binling)申明表第53页/共78页第五十三页,共79页。(7)机架故障(gzhng)组织块(OB86) 出现下列故障或故障消失时,都会触发机架故障中断,操作系统(co zu x tn)将调用OB86:扩展机架故障(不包括CPU 318),DP主站系统故障或分布式I/O故障。故障产生和

45、故障消失时都会产生中断。 在编写OB86的程序时,应根据OB86的起动信息,判断是哪个机架损坏或找不到。可以使用SFC39至42封锁或延时并使能OB86,表7-12描述了机架故障OB86的临时变量。第54页/共78页第五十四页,共79页。变量类型描述OB86_EV_CLASSBYTE事件级别和标识:B#16#38,离去事件;B#16#39,到来事件OB86_FLT_IDBYTE故障代码OB86_PRIORITYBYTE优先级,可通过STEP 7选择(硬件组态)OB86_OB_NUMBRBYTEOB号OB86_RESERVED_1BYTE备用OB86_RESERVED_2BYTE备用OB86_M

46、DL_ADDRWORD根据故障代码OB86_RACKS_FLTDARRAY0.31根据故障代码OB86_DATE_TIMEDATE_AND_TIMEOB被调用时的日期和时间表7-12 O86的变量(binling)申明表第55页/共78页第五十五页,共79页。 这里也通过一个例子来说明OB86的使用。新建一个项目,插入一个300站,进行硬件组态。在机架中插入CPU 315-2DP,选择DP作为主站,在DP主站下添加一个ET200M从站,并在从站中插入一个模拟量输入(shr)模块SM331,如图7-20所示。图7-20 硬件(yn jin)组态第56页/共78页第五十六页,共79页。 然后双击C

47、PU,选择“Interrupts”选项,可以看到CPU支持OB86,见图7-21所示。硬件组态完成后,保存编译(biny),下载到CPU中。图7-21 CPU中的“Interrupts”选项第57页/共78页第五十七页,共79页。 OB86程序当在通讯发生问题后或者访问不到配置的机架或站时执行,此时程序可能还可能需要调用OB82和OB122等组织块,当OB86执行时可以通过它的临时变量读出产生的故障代码和事件类型,通过它们的组合可以得到具体错误信息,同时(tngsh)也可以读出产生错误的模块地址和机架信息。STEP 7不能时时监控程序的运行,可以用“Variable Table”监控实时数据的

48、变化。第58页/共78页第五十八页,共79页。打开(d ki)组织块OB86编写程序,程序如图7-22所示。图7-22 OB86中所编写(binxi)的程序第59页/共78页第五十九页,共79页。 该程序也可以转化成梯形图,但程序中要将OB86的临时变量OB86_RACKS_FLTD ARRAY0.31改成OB86_z23 DWORD。 把程序下载到CPU后,在“Blocks”插入“Variable Table”,如图7-23所示。然后打开(d ki),填入MB0、MB1、MW2、MD4并点击 键就可以得到相关信息了。图7-23 插入(ch r)“Variable Table”第60页/共78

49、页第六十页,共79页。(8)通信(tng xn)错误组织块(OB87) 在使用通信功能块或全局数据(GD)通信进行数据交换时,如果出现下列通信错误,操作系统将调用OB87: 接受全局数据时,检测到不正确的帧标识符(ID); 全局数据通信的状态信息数据块不存在或太短; 接受到非法的全局数据包编号。 如果用于全局数据通信状态信息的数据块丢失,需要用OB87生成该数据块将它下载到CPU。可以使用SFC39至42封锁(fn su)或延时并使能通信错误OB,表7-13描述了通信错误OB86的临时变量。第61页/共78页第六十一页,共79页。变量类型描述OB87_EV_CLASSBYTE事件级别和标识OB

50、87_FLT_IDBYTE故障代码OB87_PRIORITYBYTE优先级,可通过SETP 7选择(硬件组态)OB87_OB_NUMBRBYTEOB号OB87_RESERVED_1BYTE备用OB87_RESERVED_2BYTE备用OB87_RESERVED_3WORD根据故障代码OB87_RESERVED_4DWORD根据故障代码OB87_DATE_TIMEDATE_AND_TIMEOB被调用时的日期和时间表7-13 OB87的变量(binling)申明表第62页/共78页第六十二页,共79页。2、同步错误(cuw)组织块 同步错误是与执行用户程序(chngx)有关的错误,程序(chngx

51、)中如果有不正确的地址区、错误的编号和错误的地址,都会出现同步错误,操作系统将调用同步错误OB。 同步错误组织块包括OB121用于对程序(chngx)错误的处理和OB122用于处理模块访问错误。同步错误OB的优先级与检测到出错的块的优先级一致。因此OB121和OB122可以访问中断发生时累加器和其他寄存器中的内容,用户程序(chngx)可以用它们来处理错误。第63页/共78页第六十三页,共79页。 同步错误可以用SFC36“MASK_FLT”来屏蔽,使某些同步错误不触发同步错误OB的调用,但是CPU在错误寄存器中记录发生的被屏蔽的错误。用错误过滤器中的一位来表示某种同步错误是否被屏蔽。错误过滤

52、器分为程序错误过滤器和访问错误过滤器,分别占一个双字。 调用SFC37“DMSK_FLT”并且在当前优先级被执行完后,将解除被屏蔽的错误,并且清楚当前优先级的事件状态寄存器中相应的位。 可以用SFC38“READ_ERR”读出已经发生的被屏蔽的错误。 对于S7-300(CPU318除外),不管错误是否被屏蔽,错误都会被送入诊断缓冲区,并且CPU的“组错误”LED会被点亮。 可以在不同(b tn)的优先级屏蔽某些同步错误。在这种情况下,在特定的优先级中发生这类错误时不会停机,CPU把该错误存放到错误寄存器中。但是无法知道是什么时候发生的错误,也无法知道错误发生的频率。第64页/共78页第六十四页

53、,共79页。(1)编程错误(cuw)组织块(OB121) 当有关程序处理的故障事件发生时CPU操作系统调用(dioyng)OB121,OB121与被中断的块在同一优先级中执行,表7-14描述了编程错误OB121的临时变量。 第65页/共78页第六十五页,共79页。变量类型描述OB121_EV_CLASSBYTE事件级别和标识OB121_SW_FLTBYTE故障代码OB121_PRIORITYBYTE优先级=出现故障的OB优先级OB121_OB_NUMBRBYTEOB号OB121_BLK_TYPEBYTE出现故障块的类型(在S7-300时无有效值在这里记录)OB121_RESERVED_1BYT

54、E备用OB121_FLT_REGWORD故障源(根据代码)。如:转换故障发生的寄存器;不正确的地址(读/写故障);不正确的定时器/计数器/块号码;不正确的存储器区OB121_BLK_NUMWORD引起故障的MC7命令的块号码(S7-300无效)OB121_PRG_ADDRWORD引起故障的MC7命令的块号码(S7-300无效)OB121_DATE_TIMEDATE_AND_TIMEOB被调用时的日期和时间表7-14 OB121的临时(ln sh)变量表第66页/共78页第六十六页,共79页。 OB121程序在CPU执行错误时执行,此错误不包括用户程序的逻辑错误和功能错误等,例如当CPU调用一个

55、未下载到CPU中的程序块,CPU会调用OB121,通过临时变量“OB121_BLK_TYPE”可以得出出现(chxin)的错误的程序块。使用STEP 7不能时时监控程序的运行,可以用“Variable Table”监控实时数据的变化。 打开事先已经插入的OB121编写程序,如图7-24所示。 图7-24 OB121中编写(binxi)的程序第67页/共78页第六十七页,共79页。 接着(ji zhe)在项目“Blocks”下插入FC1,打开FC1编写程序,如图7-25所示。图7-25 FC1中编写(binxi)的程序第68页/共78页第六十八页,共79页。 然后(rnhu)打开OB1编写程序,

56、如图7-26所示。图7-26 OB1中编写(binxi)的程序第69页/共78页第六十九页,共79页。 先将硬件和OB1下载到CPU中,此时CPU能正常运行。在“Blocks”下插入(ch r)“Variable Table”,然后打开,填入MW0和M10.0,并点击键,程序运行正常。将M10.0置为“true”后,CPU就报错停机,查看CPU的诊断缓冲区信息,发现为编程错误,这是将OB121也下载到CPU中,再将M10.0置为“true”,CPU会报错但不停机,MW0立刻为“W#16#88”,“W#16#88”表示为OB程序错误,检查发现FC1未下载。下载FC1后,在将M10.0置为“tru

57、e”,这是CPU不会再报错,程序也不会在调用OB121。第70页/共78页第七十页,共79页。(2)I/O访问错误(cuw)组织块(OB122) 当对于模块的数据访问(fngwn)出现故障时CPU的操作系统调用OB122,OB122与被中断的块的同一优先级中执行,表7-15描述了I/O访问(fngwn)错误OB121的临时变量。第71页/共78页第七十一页,共79页。变量类型描述OB122_EV_CLASSBYTE事件级别和标识OB122_SW_FLTBYTE故障代码OB122_PRIORITYBYTE优先级=出现故障的OB的优先级OB122_OB_NUMBRBYTEOB号OB122_BLK_

58、TYPEBYTE出现故障块的类型(在S7-300时无有效值在这里记录)OB122_MEM_AREABYTE存储器区和访问类型:位7至4,访问类型-0、位访问-1、字节访问-2、字访问-3;位3至0,存储器区-0、I/O区-1、过程映像输入或输出-2OB122_MEM_ADDRWORD出现故障的存储器地址OB122_BLK_NUMWORD引起故障的MC7命令的块号码(S7-300无效)OB122_PRG_ADDRWORD引起故障的MC7命令的块号码(S7-300无效)OB122_DATE_TIMEDATE_AND_TIMEOB被调用时的日期和时间表7-15 OB122的临时(ln sh)变量表第

59、72页/共78页第七十二页,共79页。 同样,在这里运用一个例子来说明OB122的用法。首先,新建一个项目,插入一个300的站,进行硬件组态。插入一个CPU 315-2DP和一个模拟量输入模块SM331。同时配置SMM331的“Inputs”选项,把所有通道设置为电压类型,注意模块的量程卡要与设置的相同(xin tn),并把模块的逻辑输入地址设置为256257,如图7-27所示。 图7-27 硬件(yn jin)组态第73页/共78页第七十三页,共79页。 组态完成后,编译保存(bocn)并下载到CPU中。 OB122程序在出现I/O访问错误是被调用,通过临时变量“OB122_SW_FLT”可

60、以读出错去代码,通过“OB122_BLK_TYPE”得出出错的程序块,通过“OB122_MEM_ADDR”可以读出发生错误的存储器地址使用STEP 7不能时时监控程序的运行,可以用“Variable Table”监控实时数据的变化。 打开在“Blocks”下插入的OB122编写程序,如图7-28所示。图7-28 OB122中编写(binxi)的程序第74页/共78页第七十四页,共79页。 该程序也可以转换为梯形图。 接着(ji zhe)打开OB1编写程序,如图7-29所示。图7-29 OB1中编写(binxi)的程序第75页/共78页第七十五页,共79页。 先将硬件组态和OB1下载到CPU中,

61、这是CPU运行(ynxng)正常。在“Blocks”下插入“Variable Table”,然后打开,填入MW0、MW2、MW4、MW6和M10.0,点击键,程序运行(ynxng)正常。将M10.0置为“true”,CPU会报错并停机,查看CPU的诊断缓冲区信息,发现为I/O访问错误。将OB122下载到CPU中,再将M10.0置为“true”,CPU会报错但不停机,检查并修改OB1程序,如图7-30所示。图7-30 OB1修改(xigi)后的程序第76页/共78页第七十六页,共79页。 重新下载OB1,CPU不再报错,程序运行正常。 对于某些同步错误,可以调用系统功能SFC44,为输入模块提供

62、一个替代错误值,以便使程序能继续执行。如果(rgu)错误发生在输入模块,可以在用户程序中直接替代。如果(rgu)是输出模块错误,输出模块将自动地用组态时定义的值替代。替代值虽然不一定能反映真实的过程信号,但是可以避免终止用户程序和进入STOP模式。第77页/共78页第七十七页,共79页。谢谢您的观看(gunkn)!第78页/共78页第七十八页,共79页。NoImage内容(nirng)总结7.1 了解(lioji)S7-300 PLC的基本故障种类。4、取下旧电池,装上新电池。输入动作指示灯不亮(动作正常)。打开OB80可以从OB80的临时变量中得到故障信息,见图7-14所示。表7-6 OB80的变量申明表。可以使用SFC39至42来禁用、延时或再使用电源故障(OB81)。表7-9 OB83的变量申明表。表7-10 OB84的变量申明表。表7-13 OB87的变量申明表。表7-15 OB122的临时变量表第七十九页,共79页。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!