S7300故障诊断和维护_第1页
S7300故障诊断和维护_第2页
S7300故障诊断和维护_第3页
S7300故障诊断和维护_第4页
S7300故障诊断和维护_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

3、通过相应的组织块对其进行处理的错误可分为两类: 1、异步错误 异步错误是与PLC的硬件或操作系统密切相关的错误,与程序执行无关,但异步错误的后果一般比较严重。 2、同步错误 同步错误是与执行用户程序有关的错误,程序中如果有不正确的地址区,错误的编号或错误的地址,都会出现同步错误,操作系统将调用同步错误OB块。 1 故障种类2 检查与维护 为了保障系统的正常运行,定期对PLC系统进行维护和检查是必不可少的,而且还必须熟悉一些故障诊断和排除的方法。1、定期检查 PLC是一种工业控制设备,通常每隔半年时间应对PLC作定期检查。如果PLC的工作条件不符合表1规定的标准,就要做一些应急处理,以便使PLC

4、工作在规定的标准环境。2、日常维护 PLC除了锂电池和继电器输出触点外,基本上没有其它易损元器件。由于存放用户程序的随机内存(RAM)、计数器和具有保持功能的辅助继电器等均用锂电池保护,锂电池的寿命大约5年,当锂电池的电压逐渐降低到一定程度时,PLC基本单元上的电池电压就会减低致使电池指示灯点亮,提示用户注意。更换电池是日常维护的主要内容。2 检查与维护更换锂电池的步骤如下: 1)在拆装之前,应先让PLC通电15S以上,这样可使作为内 存备用电源的电容充电,在锂电池断开后,该电容可对PLC作短暂供电,以保护RAM中的信息不丢失。 2)断开PLC的交流电源。 3)打开基本单元的电池盖板。 4)取

5、下旧电池,装上新电池。 5)盖上电池盖板。 注意:更换电池的时间要尽量短,一般不允许超过3分钟。如果时间过长,RAM中的程序将丢失。表1周期性检查一览表检查项目检查内容标准交流电源电压稳定度 1)测量加在PLC上的电压是否为额定值?2)是否出现频繁急剧的变化?1)电源电压必须在工作电压范围内2)电源电压波动必须在允许范围内 工作环境温度、湿度震动、灰尘温度和湿度是否在相应的变化范围内?(当PLC安装在仪表板上时,仪表上的温度可以认为是PLC的环境温度。)温度055相对湿度85%以下振幅小于0.5mm(1055Hz)无大量灰尘、盐分和铁屑安装条件 1)基本单元和扩展单元是否安装牢固?2)基本单元

6、和扩展单元的连接电缆是否完全插好?3)接线螺钉是否松动?4)外部接线是否损坏?1)安装螺钉必须上紧2)连接电缆不能松动3)连接螺钉不能松动4)外部接线不能有任何外观异常使用寿命 1)锂电池电压是否降低?2)继电器输出触点工作正常否?1)锂电池工作5年左右2)继电器输出触点寿命300万次(35V以上)3 外部故障的排除方法3.1故障检查 PLC有很强的自诊断能力,当PLC自身故障或外围设备发生故障时,都可用通过PLC上具有诊断指示功能的发光二极管亮灭来诊断。1、总体检查 根据总体检查流程图找出故障点的大致方向,然后逐渐细化,以找出具体故障,如图1所示。图1总体检查流程图2、电源故障检查 若电源灯

7、不亮则需要对供电系统进行检查,检查流程图如图6.2所示。图6.2 电源故障检查流程图3、运行故障检查 电源正常,运行指示灯不亮,说明系统已因某种异常而终止了正常运行,检查流程图如图6.3所示。图6.3 运行故障检查流程图 3.1故障检查4、输入/输出故障检查 输入/输出是PLC与外部设备进行信息交流的信道,其是否正常工作,除了和输入/输出单元有关外,还与连接配线、接线端子、保险管等组件状态有关。输入检查流程和输出检查流程如图6.4和图6.5所示。图6.4 输入检查流程图3.1故障检查图6.5 输出检查流程图5、外围环境检查 影响PLC工作的环境因素主要有温度、湿度、噪音与粉尘,以及腐蚀性酸碱等

8、。3.2故障处理 不同故障产生的原因不同,它们也有不同的处理方法,具体请见表6.2表6.4。表6.2 CPU及I/O故障处理序号异常现象可能原因处理1POWER LED灯不亮1、电压切换端子不良2、保险丝熔断正确设定切换端子更换保险丝2保险丝多次熔断 1、电压切换端子不良2、线路短路或烧坏正确设定切换端子更换电源单元3RUN LED灯不亮 1、程序错误2、电源线路不良3、I/O单元号重复4、远程I/O电源关,无终端修改程序 更换CPU单元修改I/O单元号接通电源4运行中输出端没闭合电源回路不良更换CPU单元 5继电器不动作 I/O总线不良 更换基板单元表6.3 输入单元故障处理 序号 异常现象

9、可能原因 处理 1输入全部不接通(动作指示灯也灭)1、未加外部输入电压 供电 2、外部输入电压低 加额定电源电压 3、端子螺钉松动 拧紧 4、端子板连接器接触不良 把端子板重新插入、锁紧。更换端子板连接器 2输入全部断开(输入指示灯也灭)输入回路不良更换单元3输入全部不关断输入回路不良 更换单元 4特定继电器编号的输入不接通1、输入器件不良 更换输入器件 2、输入配线断线 检查输入配线 3、端子螺钉松驰 拧紧 4、端子板连接器接触不良 把端子板重新插入、锁紧。更换端子板连接器 5、外部输入接触时间短 调整输入组件 6、输入回路不良 更换单元 7、程序的OUT指令中用了输入继电器编号 修改程序

10、3.2故障处理序号 异常现象可能原因 处理 5特定继电器编号的输入不关断1、输入回路不良 更换组件 2、程序的OUT指令中用了输入继电器编号 修改程序 6输入不规则ON/OFF动作1、外部输入电压低 使外部输入电压在额定值范围 2、噪音引起的误动作 采取抗干扰措施:安装绝缘变压器、安装尖峰抑制器、用屏蔽线配线等3、端子螺钉松动 拧紧 4、端子板连接器接触不良 把端子板重新插入、锁紧。更换端子板连接器 7异常动作的继电器编号为8点单位1、COM端螺钉松动 拧紧 2、端子板连接器接触不良 把端子板重新插入、锁紧。更换端子板连接器3、CPU不良 更换CPU单元 8输入动作指示灯不亮(动作正常)LED

11、灯坏 更换单元 表6.3 输入单元故障处理表6.4 输出单元故障处理序号 异常现象 可能原因 处理 1输出全部不接通 1、未加负载电源 加电源 2、负载电源电压低 使电源电压为额定值 3、端子螺钉松动 拧紧 4、端子板连接器接触不良 把端子板重新插入、锁紧。更换端子板连接器 5、保险丝熔断 更换保险丝 6、I/O总线接触不良 更换单元 7、输出回路不良 更换单元 2输出全部不关断 输出回路不良 更换单元 3特定继电器编号的输出不接通(动作指示灯灭) 1、输出接通时间短 更换单元 2、程序中指令的继电器编号重复 修改程序 3、输出回路不良 更换单元 4特定继电器编号的输出不接通(动作指示灯亮)

12、1、输出器件不良 更换输出器件 2、输出配线断线 检查输出线 3、端子螺钉松动 拧紧 4、端子连接接触不良 端子充分插入、拧紧 5、继电器输出不良 更换继电器 6、输出回路不良 更换单元 表6.4 输出单元故障处理序号 异常现象 可能原因 处理 5特定继电器编号的输出不关断(动作指示灯灭) 1、输出继电器不良 更换继电器 2、由于漏电流或残余电压而不能关断 更换负载或加假负载电阻 6特定继电器编号的输出不关断(动作指示灯亮) 1、程序OUT指令的继电器编号重复 修改程序 2、输出回路不良 更换单元 7输出出现不规则的ON/OFF现象 1、电源电压低 调整电压 2、程序OUT指令的继电器编号重复

13、 修改程序 3、噪音引起的误动作 抗噪音措施:装抑制器、装绝缘变压器、用屏蔽线配线等 4、端子螺钉松动 拧紧 5、端子连接接触不良 端子充分插入、拧紧 8异常动作的继电器编号为8点单位 1、COM端子螺钉松动 拧紧 2、端子连接接触不良 端子充分插入、拧紧 3、保险丝熔断 更换保险丝 4、CPU不良 更换CPU单元 9输出指示灯不亮(动作正常) LED灯坏 更换单元 4 内部错误的故障诊断 S7-300具有非常强大的故障诊断功能,通过STEP 7编程软件可以获得大量的硬件故障与编程错误的信息,使用户能迅速地查找到故障。 这里的诊断是指S7-300内部集成的错误识别和记录功能,错误信息在CPU的

14、诊断缓冲区内。有错误发生或事件发生时,标有日期和时间的信息被保存到诊断缓冲区,时间保存到系统的状态表中,如果用户已对有关的错误处理组织块编程,CPU将调用该组织块。4.1故障诊断的基本方法 诊断符号用来形象直观地表示模块的运行模式和模块的故障状态,如图6.6所示。如果模块有诊断信息,在模块符号上将会增加一个诊断符号,或者模块符号的对比度降低。图6.6诊断符号其中:1、诊断符号“模块故障”可能的原因:诊断中断、I/O访问错误或检测到故障LED亮。2、诊断符号“当前组态与实际组态不匹配”:表示被组态的模块不存在,或者插入了与组态模块的型号不同的模块。3、诊断符号“无法诊断”:表示该模块不支持模块诊

15、断信息,例如电源模块或子模块。4、诊断符号“强制”:表示在该模块上有变量被强制,即在模块的用户程序中有变量被赋予一个固定植,该数据值不能被程序改变。“强制”符号可以与其它符号组合在一起显示,如图6.6中“强制与运行”符号。4.1故障诊断的基本方法 从在线的SIMATIC管理器的窗口、在线的硬件诊断功能打开的快速窗口和在线的硬件组态窗口(诊断窗口),都可以观察到诊断符号。 通过观察诊断符号,可以判断CPU模块的运行模式,是否有强制变量,CPU模块和功能模块(FM)是否有故障。 当调用功能“诊断硬件”后,诊断符号将会显示在在线视图、快速视图(默认设置)或诊断视图的项目窗口中。双击快速视图或诊断视图

16、中的诊断符号,可启动“模块信息”应用程序来显示详细的诊断信息。这些操作关系如图6.7所示。图6.7硬件诊断示意图使用硬件诊断来判断故障的步骤和方法:1、在STEP7管理画面中,点击菜单栏“查看”“在线”,打开项目的在线界面;2、在STEP7管理画面中,打开所有的站,使组态中的编程模块均可见;3、在STEP7管理画面中,查看CPU显示的诊断符号,其指示了状态和故障;4、在STEP7管理画面中,选择要检查的站(点击表示选中);5、在STEP7管理画面中,点击菜单栏“PLC”“诊断/设置”“模块信息”,显示该站中CPU的模块信息; 6、在STEP7管理画面中,点击菜单栏“PLC”“诊断/设置”“诊断

17、硬件”,显示该站中CPU的模块信息;7、在快速视图中,选择需要查看的模块,然后点击“模块信息”,查看该模块的信息;8、在快速视图中,点击“在线打开站”,弹出的诊断视图包含了按照其插槽顺序排列在站中的所有模块;9、在诊断视图中双击机架上需要查看的模块,显示该模块信息。采用该方式,也可获取那些没有故障原因而没有显示在快速视图中的模块信息。64.1故障诊断的基本方法 在“模块信息”对话框的各种标签中查找每个模块的信息功能。在激活状态下显示时,只显示与选中模块有关的信息。1、常规 在模块信息窗口中的常规(Gengeral)选项中,显示所选择模块的标识数据,例如订货号、版本号、状态、机架中的插槽等,具体

18、如图6.8所示。图6.8常规选项信息4.1故障诊断的基本方法2、诊断缓冲区 在模块信息窗口中的诊断缓冲区(Diagnostic Buffer)选项中,给出了CPU中发生的事件一览表。选中“Events”窗口中某一行的某一事件,下面灰色的“Details on”窗口将显示所选事件的详细信息,如图6.9所示。使用诊断缓冲区可以对系统的错误进行分析,查找停机的原因,并对出现的诊断时间进行分类。图6.9诊断缓冲区信息4.1故障诊断的基本方法3、存储器(Memory) 存储器选项给出了所选的CPU或M7功能模块的工作内存和装载内存当前的使用情况,可以检查CPU或功能模块的装载内存中是否有足够的空间用来存

19、储新的块,如图10所示。图10 存储器选项4.1故障诊断的基本方法4、扫描循环时间 扫描循环时间选项卡用于显示所选CPU或M7功能模块的最小循环时间、最大循环时间和当前循环时间,如图11所示。 如果最长循环时间接近组态的最大扫描循环时间,由于循环时间的波动可能产生时间错误,此时应增大设置的用户程序最大循环时间(监控时间)。 如果循环时间小于设置的最小循环时间,CPU自动延长循环至设置的最小循环时间。在这个延长时间内可以处理背景组织块(OB90)。 组态硬件时可以设置最大和最小循环时间。4.1故障诊断的基本方法图11 扫描循环时间选项5、时间系统 时间系统选项卡显示当前日期、时间、运行的小时数以

20、及时钟同步的信息,如图12所示。4.1故障诊断的基本方法图13 性能数据选项7、通讯 通讯选项卡给出了所选模块的传输速率,可以建立的连接个数和通信处理占扫描周期的百分比等,如图14所示。4.1故障诊断的基本方法图14 通讯选项8、堆栈 堆栈选项卡只能在STOP模式或HOLD(保持)模式下调用,可以显示所选模块的B(块)堆栈、I(中断)堆栈、L(局域)堆栈以及嵌套深度堆栈,可以跳转到使块中断的故障点,判明引起停机的原因。4.2错误处理的组织块 组织块是操作系统与用户程序之间的接口。S7提供了各种不同的组织块(OB),用组织块可以创建在特定时间执行的程序和响应特定事件的程序。 当系统程序检测到下列

21、错误:不正确的CPU功能、系统程序执行中的错误、用户程序中的错误和I/O中的错误时,根据错误类型的不同,CPU设置为进入STOP模式或调用一个错误处理的OB。 当CPU检测到错误时,会调用适当的组织块。如果没有相应的错误处理OB,CPU将进入STOP模式。用户可以在错误处理OB中编写如何处理这种错误的程序,以减小或消除错误的影响。 为避免发生某种错误时CPU进入停机,可以在CPU中建立一个对应的空的组织块。用户可以利用OB中的变量声明表提供的信息来判别错误的类型。 根据S7 CPU检测到并且用户可以通过组织块对其进行处理的错误分为异步错误和同步错误。4.2错误处理的组织块1、异步错误组织块 异

22、步错误是与PLC的硬件或操作系统密切相关的错误,与程序执行无关。异步错误的后果一般都比较严重。异步错误对应的组织块为OB70OB73和OB80OB87,有最高的优先级。操作系统检测到一个异步错误时,将启动相应的OB。1)时间错误处理组织块(OB80) OB执行时出现故障时CPU的操作系统调用OB80。这样的故障包括循环时间超出、执行OB时应答故障、向前移动时间以至于越过了OB的启动时间等。 如果当循环中断OB仍在执行前一次调用时,该OB块的启动事件发生,操作系统调用OB80。如果OB80未编程,CPU变为STOP方式,可以使用SFC39至42封锁或延时和再使用时间故障OB。4.2错误处理的组织

23、块 如果在同一个扫描周期中由于扫描时间超出OB80被调用两次,CPU就变为STOP方式,可以通过在程序中适当的位置调用SFC43“RE_TRIGR”来避免这种情况。 打开OB80可以从OB80的临时变量中得到故障信息,见图15所示。 图15 OB80的临时变量 在OB80中系统定义了如表6.5所示的本地数据,其中地址从L0.0L19.7,地址从L20.0以上的本地数据允许用户定义。表6.5 OB80变量申明表变量 类型 描述 OB80_EV_CLASSBYTE 事件级别和标识:B#16#35 OB80_FLT_ID BYTE 故障代码 OB80_PRIORITY BYTE 优先级:在RUN方式

24、时OB80以优先级26运行,OB请求缓冲区溢出时以优先级28运行 OB80_OB_NUMBR BYTE OB号 OB80_RESERVED_1 BYTE 保留 OB80_RESERVED_2 BYTE 保留 OB80_ERROR_INFO WORD 故障信息:根据故障代码 OB80_ERR_EV_CLASS BYTE 引起故障的启动事件的事件级别 OB80_ERR_EV_NUM BYTE 引起故障的启动事件的事件号 OB80_OB_PRIORITY BYTE 故障信息:根据故障代码 OB80_OB_NUM BYTE 故障信息:根据故障代码 OB80_DATE_TIME DATE_AND_TIM

25、E OB被调用时的日期和时间2)电源故障处理组织块(OB81) 与电源或后备电池有关的故障事件发生时,CPU的操作系统调用OB81,表6.6为OB81的变量申明表。 如果OB81未编程,CPU并不转换为STOP方式。可以使用SFC39至42来禁用、延时或再使用电源故障(OB81)。表6.6 OB81的变量申明表变量 类型 描述 OB81_EV_CLASS BYTE 事件级别和标识:B#16#38,离去事件;B#16#39,到来事件 OB81_FLT_ID BYTE 故障代码 OB81_PRIORITY BYTE 优先级:可通过STEP 7选择(硬件组态) OB81_OB_NUMBR BYTE

26、OB号 OB81_RESERVED_1 BYTE 保留 OB81_RESERVED_2 BYTE 保留 OB81_MDL_ADDR INT 位0至2:机架号;位3:0=备用CPU,1=主站CPU;位4至7:1111 OB81_RESERVED_3 BYTE 保留OB81_RESERVED_4 BYTE 05位为1分别表示1621号机架有故障OB81_RESERVED_5 BYTE 07位为1分别表示815号机架有故障OB81_RESERVED_6 BYTE 17位为1分别表示17号机架有故障OB81_DATE_TIME DATE_AND_TIME OB被调用时的日期和时间 3)诊断中断处理组织

27、块(OB82) 如果模块具有诊断能力而且诊断中断使能,则当它检测到错误时,输出一个诊断中断请求给CPU,以及错误消失时,操作系统都会调用OB82。当一个诊断中断被触发时,有问题的模块自动地在诊断中断OB的起动信息和诊断缓冲区中存入4个字节的诊断数据和模块的起始地址。可以用SFC39至42来禁用、延时或再使用诊断中断(OB82),表6.7描述了诊断中断OB82的临时变量。表6.7 OB82的变量申明表变量 类型 描述 OB82_EV_CLASS BYTE 事件级别和标识:B#16#38,离去事件;B#16#39,到来事件 OB82_FLT_ID BYTE 故障代码 OB82_PRIORITY B

28、YTE 优先级:可通过SETP 7选择(硬件组态) OB82_OB_NUMBR BYTE OB号 OB82_RESERVED_1 BYTE 备用 OB82_IO_FLAG BYTE 输入模板:B#16#54;输出模板:B#16#55 OB82_MDL_ADDR WORD 故障发生处模板的逻辑起始地址 OB82_MDL_DEFECT BOOL 模板故障 OB82_INT_FAULT BOOL 内部故障 OB82_EXT_FAULT BOOL 外部故障 OB82_PNT_INFO BOOL 通道故障 OB82_EXT_VOLTAGE BOOL 外部电压故障 OB82_FLD_CONNCTR BOO

29、L 前连接器未插入 变量 类型 描述 OB82_NO_CONFIG BOOL 模板未组态 OB82_CONFIG_ERR BOOL 模板参数不正确 OB82_MDL_TYPE BYTE 位0至3:模板级别;位4:通道信息存在;位5:用户信息存在;位6:来自替代的诊断中断;位7:备用 OB82_SUB_MDL_ERR BOOL 子模板丢失或有故障 OB82_COMM_FAULT BOOL 通讯问题 OB82_MDL_STOP BOOL 操作方式(0:RUN,1:STOP) OB82_WTCH_DOG_FLT BOOL 看门狗定时器响应 OB82_INT_PS_FLT BOOL 内部电源故障 OB

30、82_PRIM_BATT_FLT BOOL 电池故障 OB82_BCKUP_BATT_FLT BOOL 全部后备电池故障 OB82_RESERVED_2 BOOL 备用 OB82_RACK_FLT BOOL 扩展机架故障 OB82_PROC_FLT BOOL 处理器故障 OB82_EPROM_FLT BOOL EPROM故障 OB82_RAM_FLT BOOL RAM故障 OB82_ADU_FLT BOOL ADC/DAC故障 OB82_FUSE_FLT BOOL 熔断器熔断 OB82_HW_INTR_FLT BOOL 硬件中断丢失 OB82_RESERVED_3 BOOL 备用 OB82_D

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

32、331,配置SM331模块的“输入”选项,选择0-1通道组为2线制电流(2DMU),其它通道设置为电压,并注意模块的量程卡要与设置的相同。选中“启用”框中的“诊断中断”选项,选中“诊断”选项中的0-1通道组中的“组诊断”和“检查线路断开”选项,如图16所示。4.2错误处理的组织块图16 SM331模块属性参数 点击OK,然后双击CPU 315-2DP,选择“中断”选项,可以看到CPU支持OB82,见图17所示。硬件组态完成后,编译并保存,下载到CPU中。4.2错误处理的组织块图17 CPU中的“中断”选项 OB82程序当在硬件组态中设定的诊断中断发生后执行,但OB82执行时可以通过它的临时变量

33、OB82_MDL_ADDR读出产生诊断中断的模块的逻辑地址。STEP 7不能实时监控程序的运行。 在SIMATIC管理器中S7 Program(1)下插入一个STL Source文件STL Source(1),如图18所示。4.2错误处理的组织块图18 插入STL Source文件 打开OB1,在“库”“Standard Libraries”“System Function Blocks”下找到SFC51“RDSYSST DIAGNSTC”,按F1键,出现SFC51在线帮助信息,在帮助信息的最低部点击“通过SFC51进行模块诊断的实例”,然后点击“STL源文件”,选中全部STL源程序拷贝到ST

34、L Source(1)中,编译并保存。 打开OB82,对其中的程序做简单的修改,将19和20行的程序拷贝到go:后面,如图19所示。再进行保存,下载到CPU中。4.2错误处理的组织块图19 OB82的程序修改 下载完成后,将CPU上的模式选择开关切换到“RUN”状态,此时CPU上的“RUN”灯和“SF”灯会亮,SM331模块上的“SF”灯也会亮。同时,查看CPU的诊断缓冲区可以获得相应的故障信息。 打开DB13数据块进行在线监控,如图6.20所示。因为通道断线是一道事件,所以诊断信息存储到COME数组中。4.2错误处理的组织块图6.20 DB13中的数据变换4)插入/拔出模块中断组织块(OB8

35、3) 当组态的模块插入/拔出后或在SETP 7下修改了模块的参数并在“RUN”状态下把所做修改下载到CPU后,CPU操作系统调用OB83。 在“RUN”、“STOP”和“STARTUP”状态时每次组态的模块插入或拔出,就产生一个插入/拔出中断(电源模块、CPU、适配模块和IM模块不能在这种状态下拔出)。 如果在“RUN”状态下插入一块模块,操作系统检查插入模块的类型是否与组态的记录一致,如果模块类型匹配,于是OB83被启动并且参数被赋值。可以借助SFC39至42来禁用、延时或再使用插入/拔出模块中断(OB83),表6.8描述插入/拔出模块中断OB83的临时变量。表6.8 OB83的变量申明表变

36、量 类型 描述 OB83_EV_CLASS BYTE 事件级别和标识:B#16#32,模块参数赋值结束;B#16#33,模块参数赋值启动;B#16#38,模块插入;B#16#39,模块拔出或无反应,或参数赋值结束 OB83_FLT_ID BYTE 故障代码 OB83_PRIORITY BYTE 优先级,可通过STEP 7选择(硬件组态) OB83_OB_NUMBR BYTE OB号 OB83_RESERVED_1 BYTE 块模块或接口模块标识 OB83_MDL_ID BYTE 范围:B#16#54,外设输入(PI);B#16#55,外设输出(PQ)OB83_MDL_ADDR WORD 有关模

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

38、述 OB84_EV_CLASS BYTE 事件级别和标识:B#16#38,离去事件;B#16#39,到来事件 OB84_FLT_ID BYTE 故障代码 OB84_PRIORITY BYTE 优先级,可通过STEP 7选择(硬件组态) OB84_OB_NUMBR BYTE OB号 OB84_RESERVED_1 BYTE 备用 OB84_RESERVED_2 BYTE 备用 OB84_RESERVED_3 WORD 备用 OB84_RESERVED_4 DWORD 备用 OB84_DATE_TIME DATE_AND_TIME OB被调用时的日期和时间 6)优先级错误处理组织块(OB85) 在

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

40、UMBR BYTE OB号 OB85_RESERVED_1 BYTE 备用 OB85_RESERVED_2 BYTE 备用 OB85_RESERVED_3 INT 备用 OB85_ERR_EV_CLASS BYTE 引起故障的事件级别 OB85_ERR_EV_NUM BYTE 引起故障的事件号码 OB85_OB_PRIOR BYTE 当故障发生时被激活OB的优先级 OB85_OB_NUM BYTE 当故障发生时被激活OB的号码 OB85_DATE_TIME DATE_AND_TIME OB被调用时的日期和时间 7)机架故障组织块(OB86) 出现下列故障或故障消失时,都会触发机架故障中断,操作

41、系统将调用OB86:扩展机架故障,DP主站系统故障或分布式I/O故障。 在编写OB86的程序时,应根据OB86的起动信息,判断是哪个机架损坏或找不到,可以使用SFC39至42封锁或延时并使能OB86,表11描述了机架故障OB86的临时变量。表11 OB86的变量申明表变量 类型 描述 OB86_EV_CLASS BYTE 事件级别和标识:B#16#38,离去事件;B#16#39,到来事件 OB86_FLT_ID BYTE 故障代码 OB86_PRIORITY BYTE 优先级,可通过STEP 7选择(硬件组态) OB86_OB_NUMBR BYTE OB号 OB86_RESERVED_1 BY

42、TE 备用 OB86_RESERVED_2 BYTE 备用 OB86_MDL_ADDR WORD 根据故障代码 OB86_RACKS_FLTD ARRAY0.31 根据故障代码 OB86_DATE_TIME DATE_AND_TIME OB被调用时的日期和时间 8)通信错误组织块(OB87) 在使用通信功能块或全局数据(GD)通信进行数据交换时,如果出现下列通信错误,操作系统将调用OB87:接受全局数据时,检测到不正确的帧标识符(ID);全局数据通信的状态信息数据块不存在或太短;接受到非法的全局数据包编号等。 如果用于全局数据通信状态信息的数据块丢失,需要用OB87生成该数据块并将它下载到CP

43、U,可以使用SFC39至42封锁或延时并使能通信错误OB,表12描述了通信错误OB86的临时变量。表12 OB87的变量申明表变量 类型 描述 OB87_EV_CLASS BYTE 事件级别和标识 OB87_FLT_ID BYTE 故障代码 OB87_PRIORITY BYTE 优先级,可通过SETP 7选择(硬件组态) OB87_OB_NUMBR BYTE OB号 OB87_RESERVED_1 BYTE 备用 OB87_RESERVED_2 BYTE 备用 OB87_RESERVED_3 WORD 根据故障代码 OB87_RESERVED_4 DWORD 根据故障代码 OB87_DATE_TIME DATE_AND_TIME OB被调用时的日期和时间 4.2错误处理的组织块2、同步错误组织块 同步错误是与执行用户程序有关的错误。程序中如果有不正确的地址区、错误的编号和错误的地址,都会出现同步错误,操作系统将调用同步错误OB。 同步错误组织块包括OB121用

温馨提示

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

最新文档

评论

0/150

提交评论