故障诊断讲座.ppt

上传人:本田雅阁 文档编号:2462864 上传时间:2019-03-31 格式:PPT 页数:78 大小:1MB
返回 下载 相关 举报
故障诊断讲座.ppt_第1页
第1页 / 共78页
故障诊断讲座.ppt_第2页
第2页 / 共78页
故障诊断讲座.ppt_第3页
第3页 / 共78页
亲,该文档总共78页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《故障诊断讲座.ppt》由会员分享,可在线阅读,更多相关《故障诊断讲座.ppt(78页珍藏版)》请在三一文库上搜索。

1、第七章 故障诊断 nPLC是运行在工业环境中的控制器,一般而言可靠性比较高 ,出现故障的概率较低,但是,出现故障也是难以避免的。 一般引发故障的原因有很多,故障的后果也有很多种。 n引发故障的原因虽然我们不能完全控制,但是我们可以通过 日常的检查和定期的维护来消除多种隐患,把故障率降到最 低。故障的后果轻的可能造成设备的停机,影响生产的数量 ;重的可能造成财产损失和人员伤亡,如果是一些特殊的控 制对象,一旦出现故障可能会引发更严重的后果。 n故障发生后,对于维护人员来说最重要的是找到故障的原因 ,迅速排除故障,尽快恢复系统的运行。对于系统设计人员 在设计时要考虑到系统出现故障后的系统的自我保护

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

3、以通过组织块对其进行处理的错误分为两 类: n1、异步错误 n异步错误是与PLC的硬件或操作系统密切相关的错误,与程序执行无 关,但异步错误的后果一般比较严重。 n2、同步错误 n同步错误是与执行用户程序有关的错误,程序中如果有不正确的地址 区,错误的编号或错误的地址,都会出现同步错误,操作系统将调用 同步错误OB。 7.2 掌握PLC的常规维护及故障排除 的方法 n为了保障系统的正常运行,定期对PLC系统 进行维护和检查是必不可少的,而且还必 须熟悉一些故障诊断和排除方法。 n7.2.1 检查与维护 n7.2.2 外部故障的排除方法 n7.2.3 内部错误的故障诊断 7.2.1 检查与维护

4、n一、定期检查 nPLC是一种工业控制设备,尽管在可靠性方 面采取了许多措施,但工作环境对PLC影响 还是很大的。所以,通常每隔半年时间应 对PLC作定期检查。如果PLC的工作条件不 符合表7-1规定的标准,就要做一些应急处 理,以便使PLC工作在规定的标准环境。 表7-1 周期性检查一览表 检查项 目 检查 内容 标准 交流电源 电压 稳定度 测量加在PLC上的电压 是否为额 定值? 电源电压 是否出现频 繁急剧的变化? 电源电压 必须在工作电压 范围内 电源电压 波动必须在允许 范围内 工作环境 温度、湿度 震动、灰尘 温度和湿度是否在相应的变化范围内? (当PLC安装在仪表板上时,仪表上

5、的温 度可以认为 是PLC的环境温度。) 温度055相对湿度85%以 下振幅小于0.5mm( 1055Hz)无大量灰尘、盐 分和铁屑 安装条件 基本单元和扩展单元是否安装牢固? 基本单元和扩展单元的联接电缆 是否完全 插好? 接线螺钉是否松动? 外部接线是否损坏? 安装螺钉必须上紧 联接电缆 不能松动 联接螺钉不能松动 外部接线不能有任何外观异 常 使用寿命 锂电 池电压 是否降低? 继电 器输出触点 锂电 池工作5年左右 继电 器输出触点寿命300万 次(35V以上) 二、日常维护 nPLC除了锂电池和继电器输出触点外,基本 上没有其它易损元器件。由于存放用户程 序的随机内存(RAM),计数

6、器和具有保 持功能的辅助继电器等均用锂电池保护, 锂电池的寿命大约5年,当锂电池的电压逐 渐降低达一定程度时,PLC基本单元上的电 池电压跌落指示灯会亮。提示用户注意, 有锂电池所支持的程序还可以保持一周左 右,必须更换电池,这是日常维护的主要 内容。 调换锂电池的步骤: n1、在拆装之前,应先让PLC通电15S以上,这样可 使作为内存备用电源的电容器充电,在锂电池断 开后,该电容可对PLC作短暂供电,以保护RAM 中的信息不丢失。 n2、断开PLC的交流电源。 n3、打开基本单元的电池盖板。 n4、取下旧电池,装上新电池。 n5、盖上电池盖板。 n更换电池的时间要尽量短,一般不允许超过3mi

7、n 。如果时间过长,RAM中的程序将丢失。 7.2.2 外部故障的排除方法 nPLC有很强的自诊断能力,当PLC自身故障 或外围设备发生故障,都可用PLC上具有诊 断指示功能的发光二极管的亮灭来诊断。 一、故障查找 n1、总体检查 n根据总体检查流程图找出故障点的大方向,逐渐 细化,以找出具体故障,如图7-1所示。 2、电源故障检查 n电源等不亮部需要对供电系统进行检查,检查流程图如图7-2所示。 3、运行故障检查 n电源正常,运行指示灯不亮,说明系统已因某种 异常而终止了正常运行,检查流程图如图7-3所示 。 4、输入输出故障检查 n输入输出是PLC与外部设备进行信息交流的信道,其是否正常工

8、作,除了和 输入输出单元有关外,还与联接配线、接线端子、保险管等组件状态有关。 图7-4和图7-5分别所示的是输入检查流程和输出检查流程。 n图7-4 输入检查流程图 图7-5 输出检查流程图 5、外围环境的检查 n影响PLC工作的环境因素主要有温度、湿度 、噪音与粉尘,以及腐蚀性酸碱等。 二、故障的处理 n不同故障产生的原因不同,它们也有不同的处理方法,具体请见下表所列。 n表7-2 CPU装置、I/O扩展装置故障处理 序 号 异常现象 可能原因 处理 1POWERLED灯不亮1、电压 切换端子设定不 良2、保险丝 熔断 正确设定切换端子 更换保险丝 2保险丝 多次熔断 1、电压 切换端子设

9、定不 良2、线路短路或烧坏 正确设定切换端子 更换电 源单元 3RUNLED灯不亮 1、程序错误 2、电源线路 不良3、I/O单元号重复4、 远程I/O电源关,无终端 修改程序 更换CPU单元 修改I/O单元号 接通电源 4运行中输出端没闭合(POWER灯 亮) 电源回路不良更换CPU单元 5编号以后的继电 器不动作 I/O总线 不良 更换基板单元 6特定的继电 器编号的输出(入)接 通 I/O总线 不良 更换基板单元 7特定单元的所有继电 器不接通 I/O总线 不良 更换基板单元 序号异常现象可能原因处理 1输入全部不接通(动作指示灯也灭) 1、未加外部输入电压供电 2、外部输入电压 低加额

10、定电源电压 3、端子螺钉松动拧紧 4、端子板联接器接触不良把端子板补充插入、锁紧 。更换端子板联接器 2输入全部断开(输入指示灯也灭)输入回路不良更换单 元 3输入全部不关断输入回路不良更换单 元 40特定继电 器编号的输入不接通 1、输入器件不良更换输 入器件 2、输入配线断线检查输 入配线 3、端子螺钉松驰拧紧 4、端子板联接器接触不良把端子板补充插入、锁紧 。更换端子板联接器 5、外部输入接触时间 短调整输入组件 6、输入回路不良更换单 元 7、程序的OUT指令中用了输入继电 器编号修改程序 5特定继电 器编号的输入不关断 1、输入回路不良更换组 件 2、程序的OUT指令中用了输入继电

11、器编号修改程序 6输入不规则 ON/OFF动作 1、外部输入电压 低使外部输入电压 在额定值范围 2、噪音引起的误动 作 抗干扰措施: 安装绝缘变压 器、安装尖峰抑制器、用屏蔽线 配线等 3、端子螺钉松动拧紧 4、端子板联接器接触不良把端子板补充插入、锁紧 。更换端子板联接器 7异常动作的继电 器编号为8点单位 1、COM端螺钉松动拧紧 2、端子板联接器接触不良把端子板补充插入、锁紧 。更换端子板联接器 3、CPU不良更换CPU单元 8输入动作指示灯不亮(动作正常)LED灯坏更换单 元 表7-3 输入单元故障处理 序 号 异常现象可能原因处理 1输出全部不接通 1、未加负载电 源加电源 2、负

12、载电 源电压 低使电源电压为额 定值 3、端子螺钉松动拧紧 4、端子板联接器接触 不良 把端子板补充插入、锁 紧。更换端子板联接器 5、保险丝 熔断更换保险丝 6、I/O总线 接触不良更换单 元 7、输出回路不良更换单 元 2输出全部不关断输出回路不良更换单 元 3特定继电 器编号的 输出不接通(动作 指示灯灭) 1、输出接通时间 短更换单 元 2、程序中指令的继电 器编号重复 修改程序 3、输出回路不良更换单 元 4特定继电 器编号的 输出不接通(动作 指示灯亮) 1、输出器件不良更换输 出器件 2、输出配线断线检查输 出线 3、端子螺钉松动拧紧 4、端子联接接触不良端子充分插入、拧紧 5、

13、继电 器输出不良更换继电 器 6、输出回路不良更换单 元 5特定继电 器编号的 输出不关断(动作 指示灯灭) 1、输出继电 器不良更换继电 器 2、由于漏电流或残余 电压 而不能关断 更换负载 或加假负载电 阻 6特定继电 器编号的 输出不关断(动作 指示灯亮) 1、程序OUT指令的继 电器编号重复 修改程序 2、输出回路不良更换单 元 7输出出现不规则 的 ON/OFF现象 1、电源电压 低调整电压 2、程序OUT指令的继 电器编号重复 修改程序 3、噪音引起的误动 作 抗噪音措施: 装抑制器、装绝缘变压 器、用屏蔽线配线等 4、端子螺钉松动拧紧 5、端子联接接触不良端子充分插入、拧紧 8异

14、常动作的继电 器 编号为8点单位 1、COM端子螺钉松动拧紧 2、端子联接接触不良端子充分插入、拧紧 3、保险丝 熔断更换保险丝 4、CPU不良更换CPU单元 9 输出指示灯不亮( 动作正常) LED灯坏更换单 元 表7-4输出单元故障处理 7.2.3 内部错误的故障诊断 nS7-300具有非常强大的故障诊断功能,通过 STEP 7编程软件可以获得大量的硬件故障 与编程错误的信息,使用户能迅速地查找 到故障。 n这里的诊断是指S7-300内部集成的错误识别 和记录功能,错误信息在CPU的诊断缓冲区 内。有错误或事件发生时,标有日期和时 间的信息被保存到诊断缓冲区,时间保存 到系统的状态表中,如

15、果用户已对有关的 错误处理组织块编程,CPU将调用该组织块 。 一、故障诊断的基本方法 n在SIMATIC管理器中用菜单命令“View”“Online”打开再现窗口。打 开所有的站,查看是否有CPU显示了指示错误或故障的诊断符号。 n诊断符号用来形象直观地表示模块的运行模式和模块的故障状态,如 图7-6所示。如果模块有诊断信息,在模块符号上将会增加一个诊断符 号,或者模块符号的对比度降低。 图7-6 诊断符号 n诊断符号“当前组态与实际组态不匹配”表示被组态的模块 不存在,或者插入了与组态的模块的型号不同的模块。 n诊断符号“无法诊断”表示无线上连接,或该模块不支持模 块诊断信息,例如电源模块

16、或子模块。 n“强制”符号表示在该模块上有变量被强制,即在模块的用 户程序中有变量被赋予一个固定植,该数据值不能被程序 改变。“强制”符号可以与其它符号组合在一起显示,如图 7-6中“强制与运行”符号。 n从在线的SIMATIC管理器的窗口、在线的硬件诊断功能打 开的快速窗口和在线的硬件组态窗口(诊断窗口),都可 以观察到诊断符号。 n通过观察诊断符号,可以判断CPU模块的运行模式,是否 有强制变量,CPU模块和功能模块(FM)受否有故障。 n打开在线窗口,在SIMATIC管理器中执行菜单命令 “PLC”“Diagnostic/Setting”“Hardware Diagnostics”,将

17、打开硬件诊断快速浏览窗口。在该窗口中显示PLC的状态 ,看到诊断功能的模块的硬件故障,双击故障模块可以获 得详细的故障信息。 二、利用CPU诊断缓冲区进行详细故障诊断 n建立与PLC的在线连接后,在SIMATIC管理器中选择要检 查的站,执行菜单命令 “PLC”“Diagnostics/Setting”“Module Information”,如图 7-7所示,将打开模块信息窗口,显示该站中CPU的信息。 在快速窗口中使用“Module Information”。 图7-7 打开CPU诊断缓冲区 n在模块信息窗口中的诊断缓冲区(Diagnostic Buffer)选项 中,给出了CPU中发生的

18、事件一览表,选中“Events”窗口 中某一行的某一事件,下面灰色的“Details on”窗口将显示 所选事件的详细信息,见图7-8所示。使用诊断缓冲区可以 对系统得错误进行分析,查找停机的原因,并对出现的诊 断时间分类。 图7-8 CPU模块的在线模块信息窗 n诊断事件包括模块故障、过程写错误、CPU中的系统错误、CPU运行模式的切 换、用户程序的错误和用户用系统功能SFC52定义的诊断事件。 n在模块信息窗口中,编号为1,位于最上面的事件是最近发生的事件。如果显 示因编程错误造成CPU进入STOP模式,选择该事件,并点击“Open Block”按钮 ,将在程序编辑器中打开于错误有关的块,

19、显示出错的程序段。 n诊断中断和DP从站诊断信息用于查找模块和DP从站中的故障原因。 n“Memory”(内存)选项给出了所选的CPU或M7功能模块的工作内存和装载内 存当前的使用情况,可以检查CPU或功能模块的装载内存中是否有足够的空间 用来存储新的块,如图7-9所示。 图7-9 “Memory” 选项 n“Scan Cycle Time”(扫描循环时间)选项卡用于显示所选CPU或M7功能模块的 最小循环时间、最大循环时间和当前循环时间,如图7-10所示。 n如果最长循环时间接近组态的最大扫描循环时间,由于循环时间的波动可能 产生时间错误,此时应增大设置的用户程序最大循环时间(监控时间)。

20、n如果循环时间小于设置的最小循环时间,CPU自动延长循环至设置的最小循 环时间。在这个延长时间内可以处理背景组织块(OB90)。组态硬件时可以 设置最大和最小循环时间。 图7-10 “Scan Cycle Time” 选项 n“Time System”(时间系统)选项卡显示当前日期、时间、 运行的小时数以及时钟同步的信息,见图7-11所示。 图7-11 “Time System” 选项 n“Performance Data”(性能数据)选项卡给出了所选模块( CPU/FM)可以使用的地址区和可以使用的OB、SFB、和 SFC,见图7-12所示。 图7-12 “Performance Data”

21、 选项 n“Communication”(通信)选项卡给出了所选模块的传输速 率、可以建立的连接个数和通信处理占扫描周期的百分比 ,如图7-13所示。 图7-13“Communication” 选项 n“Stacks”(堆栈)选项卡只能在STOP模式或HOLD (保持)模式下调用,显示所选模块的B(块)堆 栈。还可以显示I(中断)堆栈、L(局域)堆栈 以及嵌套深度堆栈。可以跳转到使块中断的故障 点,判明引起停机的原因。 n在模块信息窗口各选项卡的上面显示了附加的信 息,例如所选模块的在线路径、CPU的操作模式 和状态(例如出错或OK)、所选模块的操作模式 ,如果它有自己的操作模式的话(例如CP

22、342-5) 。 n从 (“Accessible Nodes”窗口)打开的非CPU模块 的模块信息中,不能显示CPU本身的操作模式和 所选模块的状态。 三、错误处理组织块 n组织块是操作系统与用户程序之间的接口。S7提 供了各种不同的组织块(OB),用组织块可以创 建在特定时间执行的程序和响应特定事件的程序 。 n当系统程序可以检测下列错误:不正确的CPU功 能、系统程序执行中的错误、用户程序中的错误 和I/O中的错误。根据错误类型的不同,CPU设置 为进入STOP模式或调用一个错误处理OB。 n当CPU检测到错误时,会调用适当的组织块,见 表7-5。如果没有相应的错误处理OB,CPU将进入

23、STOP模式。用户可以在错误处理OB中编写如何 处理这种错误的程序,以减小或消除错误的影响 。 OB号错误类 型优先级 OB70 I/O冗余错误 (仅H系列CPU ) 25 OB72 CPU冗余错误 (仅H系列CPU ) 28 OB73 通信冗余错误 (仅H系列 CPU) 35 OB80时间错误26 OB81电源错误 26/28 OB82诊断中断 OB83插入/取出模块中断 OB84CPU硬件故障 OB85优先级错误 OB86 机架故障或分布式I/O的站故 障 OB87通信错误 OB121编程错误 引起错误 的OB的 优先级 OB122I/O访问错误 表7-5 错误处理组织块 n为避免发生某种

24、错误时CPU进入停机,可以 在CPU中建立一个对应的空的组织块。用户 可以利用OB中的变量声明表提供的信息来 判别错误的类型。 n根据S7 CPU检测到并且用户可以通过组织 块对其进行处理的错误分为异步错误和同 步错误。 1、异步错误组织块 n异步错误是与PLC的硬件或操作系统密切相 关的错误,与程序执行无关。异步错误的 后果一般都比较严重。异步错误对应的组 织块为OB70OB73和OB80OB87,有最 高的优先级。操作系统检测到一个异步错 误时,将启动相应的OB。 (1)时间错误处理组织块(OB80) nOB执行时出现故障S7-300 CPU的操作系统调用 OB80。这样的故障包括循环时间

25、超出、执行OB 时应答故障、向前移动时间以致于跃过了OB的启 动的时间、CLR后恢复RUN方式。 n如果当循环中断OB仍在执行前一次调用时,该 OB块的启动事件发生,操作系统调用OB80。如 果OB80未编程,CPU变为STOP方式,可以使用 SFC39至42封锁或延时和在使用时间故障OB。 n如果在同一个稍描周期中由于扫描时间超出OB80 被调用两次,CPU就变为STOP方式,可以通过在 程序中适当的位置调用SFC43“RE_TRIGR”来避免 这种情况。 打开OB80可以从OB80的临时变量中得到故障信息,见图7-14所示。 图7-14 OB80的临时变量 变量类型描述 OB80_EV_C

26、LASSBYTE事件级别 和标识 :B#16#35 OB80_FLT_IDBYTE故障代码 OB80_PRIORITYBYTE 优先级:在RUN方式时OB80以优先级26运行 ,OB请求缓冲区溢出时以优先级28运行 OB80_OB_NUMBRBYTEOB号 OB80_RESERVED_1BYTE保留 OB80_RESERVED_2BYTE保留 OB80_ERROR_INFOWORD故障信息:根据故障代码 OB80_ERR_EV_CLASSBYTE引起故障的启动事件的事件级别 OB80_ERR_EV_NUMBYTE引起故障的启动事件的事件号 OB80_OB_PRIORITYBYTE故障信息:根据

27、故障代码 OB80_OB_NUMBYTE故障信息:根据故障代码 OB80_DATE_TIME DATE_AND_TI ME OB被调用时的日期和时间 4 表7-6 OB80的变量申明表 (2)电源故障处理组织块(OB81) n与电源(仅对S7-400)或后备电池有关的故 障事件发生时,S7-300 CPU的操作系统调用 OB81,表7-7为OB81的变量申明表。 n如果OB81未编程,CPU并不转换为STOP方 式。可以使用SFC39至42来禁用、延时或再 使用电源故障(OB81)。 变量类型描述 OB81_EV_CLASSBYTE 事件级别和标识:B#16#38,离去事件;B#16#39,

28、到来事件 OB81_FLT_IDBYTE故障代码 OB81_PRIORITYBYTE优先级:可通过STEP 7选择(硬件组态) OB81_OB_NUMBRBYTEOB号 OB81_RESERVED_1BYTE保留 OB81_RESERVED_2BYTE保留 OB81_MDL_ADDRINT 位0至2:机架号;位3:0=备用CPU,1=主站CPU; 位4至7:1111 OB81_RESERVED_3BYTE仅与部分故障代码有关 OB81_RESERVED_4BYTE OB81_RESERVED_5BYTE OB81_RESERVED_6BYTE OB81_DATE_TIME DATE_AND_T

29、IM E OB被调用时的日期和时间 表7-7 OB81的变量申明表 (3)诊断中断处理组织块(OB82) n如果模块具有诊断能力又使能了诊断中断 ,当它检测到错误时,它输出一个诊断中 断请求给CPU,以及错误消失时,操作系统 都会调用OB82。当一个诊断中断被触发时 ,有问题的模块自动地在诊断中断OB的起 动信息和诊断缓冲区中存入4个字节的诊断 数据和模块的起始地址。可以用SFC39至42 来禁用、延时或再使用诊断中断(OB82) ,表7-8描述了诊断中断OB82的临时变量。 变量类型描述 OB82_EV_CLASSBYTE事件级别 和标识 :B#16#38,离去事件;B#16#39,到来事件

30、 OB82_FLT_IDBYTE故障代码 OB82_PRIORITYBYTE优先级:可通过SETP 7选择 (硬件组态 ) OB82_OB_NUMBRBYTEOB号 OB82_RESERVED_1BYTE备用 OB82_IO_FLAGBYTE输入模板:B#16#54;输出模板:B#16#55 OB82_MDL_ADDRWORD故障发生处模板的逻辑 起始地址 OB82_MDL_DEFECTBOOL模板故障 OB82_INT_FAULTBOOL内部故障 OB82_EXT_FAULTBOOL外部故障 OB82_PNT_INFOBOOL通道故障 OB82_EXT_VOLTAGEBOOL外部电压 故障

31、OB82_FLD_CONNCTRBOOL前连接器未插入 OB82_NO_CONFIGBOOL模板未组态 OB82_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_P

32、RIM_BATT_FLTBOOL电池故障 OB82_BCKUP_BATT_FLTBOOL全部后备电 池故障 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被调

33、用时的日期和时间 表7-8 OB82的变量申明表 n在编写OB82的程序时,要从OB82的起动信息中 获得与出现的错误有关的更确切的诊断信息,例 如是哪一个通道出错,出现的是哪种错误。使用 SFC51“RDSYSST”也可以读出模块的诊断数据,用 SFC52“WR_USMSG”可以将这些信息存入诊断缓 冲区。 n现在通过结合模板的短线诊测应用和SFC51来说明 诊断中断组织块OB82的使用方法。 n首先,在SIMATIC管理器中新建一个项目,插入一个300站。硬件组态,在机 架上插入CPU 315-2DP和一块具有中断功能模拟量输入模块SM331,配置 SM331模块的“Inputs”选项,选

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

35、完成诊断程序。OB82程序当在硬件组态中设定的诊断中断发生后执行, 但OB82执行时可以通过它的临时变量OB82_MDL_ADDR读出产生诊断中断的 模块的逻辑地址。STEP 7不能时时监控程序的运行。 n在SIMATIC管理器中S7 Program(1)下插入一个STL Source文件STL Source(1) ,如图7-17所示。 图7-17 插入STL Source文件 n打开OB1,在“Libraries”“Standard Libraries”“System Function Blocks”下找到 SFC51“RDSYSST DIAGNSTC”,按F1键,出现SFC51在线帮助信息

36、,在帮助信 息的最低部点击“Example for module diagnostics with the SFC51”,然后点击 “STL Source File”,选中全部STL Source源程序拷贝到STL Source(1)中,编译保 存。这是在Blocks中生成OB1、OB82、DB13和SFC51。 n打开OB82,对其中的程序做简单的修改,将19和20行的程序拷贝到go:后面 ,如图7-18所示。再进行保存,下载到CPU中。 图7-18 OB82的程序修改 n下载完成后,将CPU上的模式选择开关切换到“RUN”状态,此时,CPU上的 “RUN”灯和“SF”灯会亮,SM331模块

37、上的“SF”灯也会亮。同时,查看CPU的诊 断缓冲区可以获得相应的故障信息。 n打开DB13数据块,在线监控,见图7-19所示。因为通道断线是一到来事件, 所以诊断信息存储到COME数组中。 图7-19 DB13中的数据变换 n本例中COME数组字节的含义接受如下: nCOME1=B#16#D:表示通道错误,外部故障和模块问题 ; nCOME2=B#16#15:表示此段信息为模拟量模块的通道 信息; nCOME3=B#16#0:表示CPU处于运行状态,无字节2中 标示的故障信息; nCOME4=B#16#0:表示无字节3中标示的故障信息; nCOME5=B#16#71:表示模拟量输入; nCO

38、ME6=B#16#8:表示模块的每个通道有8个诊断位; nCOME7=B#16#8:表示模块的通道数; nCOME8=B#16#3:表示0通道错误和1通道错误,其他通 道正常; nCOME9=B#16#10:表示0通道断线; nCOME10=B#16#10:表示1通道断线; nCOME11=B#16#0:表示2通道正常,其他通道与2通道 相同。 (4)插入/拔出模块中断组织块(OB83) n当组态的模块插入/拔出后或在SETP 7下修改了模块的参 数并在“RUN”状态把所做修改下载到CPU后,CPU操作系 统调用OB83。 n在“RUN”、“STOP”和“STARTUP”状态时每次组态的模块

39、插入或拔出,就产生一个插入/拔出中断(电源模块、 CPU、适配模块和IM模块不能在这种状态下移出)。该中 断引起有关CPU的诊断缓冲区和系统状态表的记录 n如果在“RUN”状态下拔出组态的模块,OB83期启动。由 于仅以一秒的间隔监视模块的存在,如果模块被直接访问 或当过程映像被刷新时可能首先检测出访问故障。如果在 “RUN”状态下插入一块模块,操作系统检查插入模块的类 型是否与组态的记录一致,如果模块类型匹配,于是 OB83被启动并且参数被赋值。可以借助SFC39至42来禁用 、延时或再使用插入/拔出模块中断(OB83),表7-9描述 了插入/拔出模块中断OB83的临时变量。 变量类型描述

40、OB83_EV_CLASSBYTE 事件级别 和标识 :B#16#32,模块参数赋值结 束;B#16#33,模块参数赋值 启动;B#16#38 ,模块插入;B#16#39,模块拔出或无反应, 或参数赋值结 束 OB83_FLT_IDBYTE故障代码 OB83_PRIORITYBYTE优先级,可通过STEP 7选择 (硬件组态 ) OB83_OB_NUMBRBYTEOB号 OB83_RESERVED_1BYTE块模块或接口模块标识 OB83_MDL_IDBYTE 范围:B#16#54,外设输 入(PI);B#16#55, 外设输 出(PQ) OB83_MDL_ADDRWORD有关模块的逻辑 起始

41、地址 OB83_RACK_NUMWORD B#16#A0,接口模块号;B#16#C4,机架号或 DP站号(低字节)或DP主站系统ID(高字节 ) OB83_MDL_TYPEWORD有关模块的模块类 型 OB83_DATE_TIMEDATE_AND_TIMEOB被调用时的日期和时间 表7-9 OB83的变量申明表 (5)CPU硬件故障处理组织块(OB84) n当CPU检测到MPI网络的接口故障、通信总 线的接口故障或分布式I/O网卡的接口故障 时,操作系统调用OB84。故障消除时也会 调用该OB块,即事件到来和离去时都调用 该OB。表7-10描述了CPU硬件故障OB84的 临时变量。 变量类型描

42、述 OB84_EV_CLASSBYTE 事件级别 和标识 :B#16#38,离去事件; B#16#39,到来事件 OB84_FLT_IDBYTE故障代码 OB84_PRIORITYBYTE优先级,可通过STEP 7选择 (硬件组态 ) OB84_OB_NUMBRBYTEOB号 OB84_RESERVED_1BYTE备用 OB84_RESERVED_2BYTE备用 OB84_RESERVED_3WORD备用 OB84_RESERVED_4DWORD备用 OB84_DATE_TIMEDATE_AND_TIMEOB被调用时的日期和时间 表7-10 OB84的变量申明表 (6)优先级错误处理组织块(O

43、B85) n在以下情况下将会触发优先级错误中断: n产生了一个中断事件,但是对应的OB块没有下载 到CPU; n访问一个系统功能块的背景数据块时出错; n刷新过程映像表时I/O访问出错,模块不存在或有 故障。 n在编写OB85的程序时,应根据OB85的起动信息 ,判定是哪个模块损坏或没有插入。可以使用 SFC39至42封锁或延时并使能优先级故障OB,表7 -11描述了优先级故障OB85的临时变量。 变量类型描述 OB85_EV_CLASSBYTE事件级别 和标识 OB85_FLT_IDBYTE故障代码 OB85_PRIORITYBYTE优先级,可通过STEP 7选择 (硬件组态 ) OB85_

44、OB_NUMBRBYTEOB号 OB85_RESERVED_1BYTE备用 OB85_RESERVED_2BYTE备用 OB85_RESERVED_3INT备用 OB85_ERR_EV_CLASSBYTE引起故障的事件级别 OB85_ERR_EV_NUMBYTE引起故障的事件号码 OB85_OB_PRIORBYTE当故障发生时被激活OB的优先级 OB85_OB_NUMBYTE当故障发生时被激活OB的号码 OB85_DATE_TIMEDATE_AND_TIMEOB被调用时的日期和时间 表7-11 O85的变量申明表 (7)机架故障组织块(OB86) n出现下列故障或故障消失时,都会触发机 架故障

45、中断,操作系统将调用OB86:扩展 机架故障(不包括CPU 318),DP主站系统 故障或分布式I/O故障。故障产生和故障消 失时都会产生中断。 n在编写OB86的程序时,应根据OB86的起动 信息,判断是哪个机架损坏或找不到。可 以使用SFC39至42封锁或延时并使能OB86, 表7-12描述了机架故障OB86的临时变量。 变量类型描述 OB86_EV_CLASSBYTE 事件级别 和标识 :B#16#38,离去事件; B#16#39,到来事件 OB86_FLT_IDBYTE故障代码 OB86_PRIORITYBYTE优先级,可通过STEP 7选择 (硬件组态 ) OB86_OB_NUMBR

46、BYTEOB号 OB86_RESERVED_1BYTE备用 OB86_RESERVED_2BYTE备用 OB86_MDL_ADDRWORD根据故障代码 OB86_RACKS_FLTDARRAY031根据故障代码 OB86_DATE_TIMEDATE_AND_TIMEOB被调用时的日期和时间 表7-12 O86的变量申明表 n这里也通过一个例子来说明OB86的使用。新建一个项目 ,插入一个300站,进行硬件组态。在机架中插入CPU 315 -2DP,选择DP作为主站,在DP主站下添加一个ET200M 从站,并在从站中插入一个模拟量输入模块SM331,如图7 -20所示。 图7-20 硬件组态 n

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

48、序,程序如图7-22所示。 图7-22 OB86中所编写的程序 n该程序也可以转化成梯形图,但程序中要将OB86的临时 变量OB86_RACKS_FLTD ARRAY031改成OB86_z23 DWORD。 n把程序下载到CPU后,在“Blocks”插入“Variable Table”,如 图7-23所示。然后打开,填入MB0、MB1、MW2、MD4并 点击 键就可以得到相关信息了。 图7-23 插入“Variable Table” (8)通信错误组织块(OB87) n在使用通信功能块或全局数据(GD)通信进行数 据交换时,如果出现下列通信错误,操作系统将 调用OB87: n接受全局数据时,检

49、测到不正确的帧标识符(ID ); n全局数据通信的状态信息数据块不存在或太短; n接受到非法的全局数据包编号。 n如果用于全局数据通信状态信息的数据块丢失, 需要用OB87生成该数据块将它下载到CPU。可以 使用SFC39至42封锁或延时并使能通信错误OB, 表7-13描述了通信错误OB86的临时变量。 变量类型描述 OB87_EV_CLASSBYTE事件级别 和标识 OB87_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的变量申明表 2、同步错误组织块 n同步错误是与执行用户程序有关的错误, 程序中如果有不正确的地址区、错误的编 号和错误的地址,都会出现同步错误,操 作系统将调用同步错误OB。 n同步错误组织块包括OB121用于对程序错误 的处理和OB122用于处理

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1