PLC故障诊断培训教程课件_第1页
PLC故障诊断培训教程课件_第2页
PLC故障诊断培训教程课件_第3页
PLC故障诊断培训教程课件_第4页
PLC故障诊断培训教程课件_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

第七章故障诊疗PLC是运行在工业环境中控制器,普通而言可靠性比较高,出现故障概率较低,不过,出现故障也是难以防止。普通引发故障原因有很多,故障后果也有很各种。引发故障原因即使我们不能完全控制,不过我们能够经过日常检验和定时维护来消除各种隐患,把故障率降到最低。故障后果轻可能造成设备停机,影响生产数量;重可能造成财产损失和人员伤亡,假如是一些特殊控制对象,一旦出现故障可能会引发更严重后果。故障发生后,对于维护人员来说最主要是找到故障原因,快速排除故障,尽快恢复系统运行。对于系统设计人员在设计时要考虑到系统出现故障后系统自我保护办法力争使故障停机时间最短,故障产生损失最小。第1页7.1了解S7-300PLC基本故障种类普通PLC故障主要有外部故障或是内部错误造成。外部故障时由外部传感器或执行机构故障等引发PLC产生故障,可能会使整个系统停机,甚至烧坏PLC。而内部错误是PLC内部功效性错误或编成错误造成,能够使系统停机。S7-300含有很强错误(或称故障)检测和处理能力,CPU检测到某种错误后,操作系统调用对应得组织块,用户能够在组织块中编程,对发生错误采取对应办法。对于大多数错误,假如没有给组织块编程,出现错误时CPU将进入STOP模式。被S7CPU检测到而且用户能够经过组织块对其进行处理错误分为两类:1、异步错误异步错误是与PLC硬件或操作系统亲密相关错误,与程序执行无关,但异步错误后果普通比较严重。2、同时错误同时错误是与执行用户程序相关错误,程序中假如有不正确地址区,错误编号或错误地址,都会出现同时错误,操作系统将调用同时错误OB。第2页7.2掌握PLC常规维护及故障排除方法为了保障系统正常运行,定时对PLC系统进行维护和检验是必不可少,而且还必须熟悉一些故障诊疗和排除方法。7.2.1检验与维护7.2.2外部故障排除方法7.2.3内部错误故障诊疗第3页7.2.1检验与维护一、定时检验PLC是一个工业控制设备,尽管在可靠性方面采取了许多办法,但工作环境对PLC影响还是很大。所以,通常每隔六个月时间应对PLC作定时检验。假如PLC工作条件不符合表7-1要求标准,就要做一些应急处理,方便使PLC工作在要求标准环境。第4页表7-1周期性检验一览表检验项目检验内容标准交流电源电压稳定度测量加在PLC上电压是否为额定值?电源电压是否出现频繁急剧改变?电源电压必须在工作电压范围内电源电压波动必须在允许范围内工作环境温度、湿度震动、灰尘温度和湿度是否在对应改变范围内?(当PLC安装在仪表板上时,仪表上温度能够认为是PLC环境温度。)温度0~55℃相对湿度85%以下振幅小于0.5mm(10~55Hz)无大量灰尘、盐分和铁屑安装条件基本单元和扩展单元是否安装牢靠?基本单元和扩展单元联接电缆是否完全插好?接线螺钉是否松动?外部接线是否损坏?安装螺钉必须上紧联接电缆不能松动联接螺钉不能松动外部接线不能有任何外观异常使用寿命锂电池电压是否降低?继电器输出触点锂电池工作5年左右继电器输出触点寿命300万次(35V以上)第5页二、日常维护PLC除了锂电池和继电器输出触点外,基本上没有其它易损元器件。因为存放用户程序随机内存(RAM),计数器和含有保持功效辅助继电器等均用锂电池保护,锂电池寿命大约5年,当锂电池电压逐步降低达一定程度时,PLC基本单元上电池电压跌落指示灯会亮。提醒用户注意,有锂电池所支持程序还能够保持一周左右,必须更换电池,这是日常维护主要内容。第6页调换锂电池步骤:

1、在拆装之前,应先让PLC通电15S以上,这么可使作为内存备用电源电容器充电,在锂电池断开后,该电容可对PLC作短暂供电,以保护RAM中信息不丢失。2、断开PLC交流电源。3、打开基本单元电池盖板。4、取下旧电池,装上新电池。5、盖上电池盖板。更换电池时间要尽可能短,普通不允许超出3min。假如时间过长,RAM中程序将丢失。第7页7.2.2外部故障排除方法PLC有很强自诊疗能力,当PLC本身故障或外围设备发生故障,都可用PLC上含有诊疗指示功效发光二极管亮灭来诊疗。第8页一、故障查找1、总体检验依据总体检验流程图找出故障点大方向,逐步细化,以找出详细故障,如图7-1所表示。第9页2、电源故障检验电源等不亮部需要对供电系统进行检验,检验流程图如图7-2所表示。

第10页3、运行故障检验电源正常,运行指示灯不亮,说明系统已因某种异常而终止了正常运行,检验流程图如图7-3所表示。第11页4、输入输出故障检验输入输出是PLC与外部设备进行信息交流信道,其是否正常工作,除了和输入输出单元相关外,还与联接配线、接线端子、保险管等组件状态相关。图7-4和图7-5分别所表示是输入检验流程和输出检验流程。图7-4输入检验流程图第12页图7-5输出检验流程图第13页5、外围环境检验影响PLC工作环境原因主要有温度、湿度、噪音与粉尘,以及腐蚀性酸碱等。第14页二、故障处理不一样故障产生原因不一样,它们也有不一样处理方法,详细请见下表所列。表7-2CPU装置、I/O扩展装置故障处理序号异常现象可能原因

处理1[POWER]LED灯不亮1、电压切换端子设定不良2、保险丝熔断正确设定切换端子更换保险丝2保险丝屡次熔断1、电压切换端子设定不良2、线路短路或烧坏正确设定切换端子更换电源单元3[RUN]LED灯不亮1、程序错误2、电源线路不良3、I/O单元号重复4、远程I/O电源关,无终端修改程序更换CPU单元修改I/O单元号接通电源4运行中输出端没闭合([POWER]灯亮)电源回路不良更换CPU单元5编号以后继电器不动作I/O总线不良更换基板单元6特定继电器编号输出(入)接通I/O总线不良更换基板单元7特定单元全部继电器不接通I/O总线不良更换基板单元第15页序号异常现象可能原因处理1输入全部不接通(动作指示灯也灭)1、未加外部输入电压供电2、外部输入电压低加额定电源电压3、端子螺钉松动拧紧4、端子板联接器接触不良把端子板补充插入、锁紧。更换端子板联接器2输入全部断开(输入指示灯也灭)输入回路不良更换单元3输入全部不关断输入回路不良更换单元416特定继电器编号输入不接通1、输入器件不良更换输入器件2、输入配线断线检验输入配线3、端子螺钉松驰拧紧4、端子板联接器接触不良把端子板补充插入、锁紧。更换端子板联接器5、外部输入接触时间短调整输入组件6、输入回路不良更换单元7、程序OUT指令中用了输入继电器编号修改程序5特定继电器编号输入不关断1、输入回路不良更换组件2、程序OUT指令中用了输入继电器编号修改程序6输入不规则ON/OFF动作1、外部输入电压低使外部输入电压在额定值范围2、噪音引发误动作抗干扰方法:安装绝缘变压器、安装尖峰抑制器、用屏蔽线配线等3、端子螺钉松动拧紧4、端子板联接器接触不良把端子板补充插入、锁紧。更换端子板联接器7异常动作继电器编号为8点单位1、COM端螺钉松动拧紧2、端子板联接器接触不良把端子板补充插入、锁紧。更换端子板联接器3、CPU不良更换CPU单元8输入动作指示灯不亮(动作正常)LED灯坏更换单元表7-3输入单元故障处理第16页序号异常现象可能原因处理1输出全部不接通1、未加负载电源加电源2、负载电源电压低使电源电压为额定值3、端子螺钉松动拧紧4、端子板联接器接触不良把端子板补充插入、锁紧。更换端子板联接器5、保险丝熔断更换保险丝6、I/O总线接触不良更换单元7、输出回路不良更换单元2输出全部不关断输出回路不良更换单元3特定继电器编号输出不接通(动作指示灯灭)1、输出接通时间短更换单元2、程序中指令继电器编号重复修改程序3、输出回路不良更换单元4特定继电器编号输出不接通(动作指示灯亮)1、输出器件不良更换输出器件2、输出配线断线检验输出线3、端子螺钉松动拧紧4、端子联接接触不良端子充分插入、拧紧5、继电器输出不良更换继电器6、输出回路不良更换单元第17页5特定继电器编号输出不关断(动作指示灯灭)1、输出继电器不良更换继电器2、因为漏电流或残余电压而不能关断更换负载或加假负载电阻6特定继电器编号输出不关断(动作指示灯亮)1、程序OUT指令继电器编号重复修改程序2、输出回路不良更换单元7输出出现不规则ON/OFF现象1、电源电压低调整电压2、程序OUT指令继电器编号重复修改程序3、噪音引发误动作抗噪音方法:装抑制器、装绝缘变压器、用屏蔽线配线等4、端子螺钉松动拧紧5、端子联接接触不良端子充分插入、拧紧8异常动作继电器编号为8点单位1、COM端子螺钉松动拧紧2、端子联接接触不良端子充分插入、拧紧3、保险丝熔断更换保险丝4、CPU不良更换CPU单元9输出指示灯不亮(动作正常)LED灯坏更换单元表7-4输出单元故障处理第18页7.2.3内部错误故障诊疗S7-300含有非常强大故障诊疗功效,经过STEP7编程软件能够取得大量硬件故障与编程错误信息,使用户能快速地查找到故障。这里诊疗是指S7-300内部集成错误识别和统计功效,错误信息在CPU诊疗缓冲区内。有错误或事件发生时,标有日期和时间信息被保留到诊疗缓冲区,时间保留到系统状态表中,假如用户已对相关错误处理组织块编程,CPU将调用该组织块。第19页一、故障诊疗基本方法在SIMATIC管理器中用菜单命令“View”→“Online”打开再现窗口。打开全部站,查看是否有CPU显示了指示错误或故障诊疗符号。诊疗符号用来形象直观地表示模块运行模式和模块故障状态,如图7-6所表示。假如模块有诊疗信息,在模块符号上将会增加一个诊疗符号,或者模块符号对比度降低。图7-6诊疗符号第20页诊疗符号“当前组态与实际组态不匹配”表示被组态模块不存在,或者插入了与组态模块型号不一样模块。诊疗符号“无法诊疗”表示无线上连接,或该模块不支持模块诊疗信息,比如电源模块或子模块。“强制”符号表示在该模块上有变量被强制,即在模块用户程序中有变量被赋予一个固定植,该数据值不能被程序改变。“强制”符号能够与其它符号组合在一起显示,如图7-6中“强制与运行”符号。从在线SIMATIC管理器窗口、在线硬件诊疗功效打开快速窗口和在线硬件组态窗口(诊疗窗口),都能够观察到诊疗符号。经过观察诊疗符号,能够判断CPU模块运行模式,是否有强制变量,CPU模块和功效模块(FM)受否有故障。打开在线窗口,在SIMATIC管理器中执行菜单命令“PLC”→“Diagnostic/Setting”→“HardwareDiagnostics”,将打开硬件诊疗快速浏览窗口。在该窗口中显示PLC状态,看到诊疗功效模块硬件故障,双击故障模块能够取得详细故障信息。第21页二、利用CPU诊疗缓冲区进行详细故障诊疗建立与PLC在线连接后,在SIMATIC管理器中选择要检验站,执行菜单命令“PLC”→“Diagnostics/Setting”→“ModuleInformation”,如图7-7所表示,将打开模块信息窗口,显示该站中CPU信息。在快速窗口中使用“ModuleInformation”。图7-7打开CPU诊疗缓冲区第22页在模块信息窗口中诊疗缓冲区(DiagnosticBuffer)选项中,给出了CPU中发生事件一览表,选中“Events”窗口中某一行某一事件,下面灰色“Detailson”窗口将显示所选事件详细信息,见图7-8所表示。使用诊疗缓冲区能够对系统得错误进行分析,查找停机原因,并对出现诊疗时间分类。图7-8CPU模块在线模块信息窗第23页诊疗事件包含模块故障、过程写错误、CPU中系统错误、CPU运行模式切换、用户程序错误和用户用系统功效SFC52定义诊疗事件。在模块信息窗口中,编号为1,位于最上面事件是最近发生事件。假如显示因编程错误造成CPU进入STOP模式,选择该事件,并点击“OpenBlock”按钮,将在程序编辑器中打开于错误相关块,显示犯错程序段。诊疗中止和DP从站诊疗信息用于查找模块和DP从站中故障原因。“Memory”(内存)选项给出了所选CPU或M7功效模块工作内存和装载内存当前使用情况,能够检验CPU或功效模块装载内存中是否有足够空间用来存放新块,如图7-9所表示。图7-9“Memory”选项第24页“ScanCycleTime”(扫描循环时间)选项卡用于显示所选CPU或M7功效模块最小循环时间、最大循环时间和当前循环时间,如图7-10所表示。假如最长循环时间靠近组态最大扫描循环时间,因为循环时间波动可能产生时间错误,此时应增大设置用户程序最大循环时间(监控时间)。假如循环时间小于设置最小循环时间,CPU自动延长循环至设置最小循环时间。在这个延长时间内能够处理背景组织块(OB90)。组态硬件时能够设置最大和最小循环时间。图7-10“ScanCycleTime”选项第25页“TimeSystem”(时间系统)选项卡显示当前日期、时间、运行小时数以及时钟同时信息,见图7-11所表示。图7-11“TimeSystem”选项第26页“PerformanceData”(性能数据)选项卡给出了所选模块(CPU/FM)能够使用地址区和能够使用OB、SFB、和SFC,见图7-12所表示。图7-12“PerformanceData”选项第27页“Communication”(通信)选项卡给出了所选模块传输速率、能够建立连接个数和通信处理占扫描周期百分比,如图7-13所表示。图7-13“Communication”选项第28页“Stacks”(堆栈)选项卡只能在STOP模式或HOLD(保持)模式下调用,显示所选模块B(块)堆栈。还能够显示I(中止)堆栈、L(局域)堆栈以及嵌套深度堆栈。能够跳转到使块中止故障点,判明引发停机原因。在模块信息窗口各选项卡上面显示了附加信息,比如所选模块在线路径、CPU操作模式和状态(比如犯错或OK)、所选模块操作模式,假如它有自己操作模式话(比如CP342-5)。从(“AccessibleNodes”窗口)打开非CPU模块模块信息中,不能显示CPU本身操作模式和所选模块状态。第29页三、错误处理组织块组织块是操作系统与用户程序之间接口。S7提供了各种不一样组织块(OB),用组织块能够创建在特定时间执行程序和响应特定事件程序。当系统程序能够检测以下错误:不正确CPU功效、系统程序执行中错误、用户程序中错误和I/O中错误。依据错误类型不一样,CPU设置为进入STOP模式或调用一个错误处理OB。当CPU检测到错误时,会调用适当组织块,见表7-5。假如没有对应错误处理OB,CPU将进入STOP模式。用户能够在错误处理OB中编写怎样处理这种错误程序,以减小或消除错误影响。第30页OB号错误类型优先级OB70I/O冗余错误(仅H系列CPU)25OB72CPU冗余错误(仅H系列CPU)28OB73通信冗余错误(仅H系列CPU)35OB80时间错误26OB81电源错误26/28OB82诊疗中止OB83插入/取出模块中止OB84CPU硬件故障OB85优先级错误OB86机架故障或分布式I/O站故障OB87通信错误OB121编程错误引发错误OB优先级OB122I/O访问错误表7-5错误处理组织块第31页为防止发生某种错误时CPU进入停机,能够在CPU中建立一个对应空组织块。用户能够利用OB中变量申明表提供信息来判别错误类型。依据S7CPU检测到而且用户能够经过组织块对其进行处理错误分为异步错误和同时错误。第32页1、异步错误组织块异步错误是与PLC硬件或操作系统亲密相关错误,与程序执行无关。异步错误后果普通都比较严重。异步错误对应组织块为OB70~OB73和OB80~OB87,有最高优先级。操作系统检测到一个异步错误时,将开启对应OB。第33页(1)时间错误处理组织块(OB80)OB执行时出现故障S7-300CPU操作系统调用OB80。这么故障包含循环时间超出、执行OB时应答故障、向前移动时间以致于跃过了OB开启时间、CLR后恢复RUN方式。假如当循环中止OB仍在执行前一次调用时,该OB块开启事件发生,操作系统调用OB80。假如OB80未编程,CPU变为STOP方式,能够使用SFC39至42封锁或延时和在使用时间故障OB。假如在同一个稍描周期中因为扫描时间超出OB80被调用两次,CPU就变为STOP方式,能够经过在程序中适当位置调用SFC43“RE_TRIGR”来防止这种情况。第34页打开OB80能够从OB80暂时变量中得到故障信息,见图7-14所表示。图7-14OB80暂时变量第35页变量类型描述OB80_EV_CLASSBYTE事件级别和标识:B#16#35OB80_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故障信息:依据故障代码OB80_OB_NUMBYTE故障信息:依据故障代码OB80_DATE_TIMEDATE_AND_TIMEOB被调用时日期和时间4表7-6OB80变量申明表第36页(2)电源故障处理组织块(OB81)与电源(仅对S7-400)或后备电池相关故障事件发生时,S7-300CPU操作系统调用OB81,表7-7为OB81变量申明表。假如OB81未编程,CPU并不转换为STOP方式。能够使用SFC39至42来禁用、延时或再使用电源故障(OB81)。第37页变量类型描述OB81_EV_CLASSBYTE事件级别和标识:B#16#38,离去事件;B#16#39,到来事件OB81_FLT_IDBYTE故障代码OB81_PRIORITYBYTE优先级:可经过STEP7选择(硬件组态)OB81_OB_NUMBRBYTEOB号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-7OB81变量申明表第38页(3)诊疗中止处理组织块(OB82)假如模块含有诊疗能力又使能了诊疗中止,当它检测到错误时,它输出一个诊疗中止请求给CPU,以及错误消失时,操作系统都会调用OB82。当一个诊疗中止被触发时,有问题模块自动地在诊疗中止OB起动信息和诊疗缓冲区中存入4个字节诊疗数据和模块起始地址。能够用SFC39至42来禁用、延时或再使用诊疗中止(OB82),表7-8描述了诊疗中止OB82暂时变量。第39页变量类型描述OB82_EV_CLASSBYTE事件级别和标识:B#16#38,离去事件;B#16#39,到来事件OB82_FLT_IDBYTE故障代码OB82_PRIORITYBYTE优先级:可经过SETP7选择(硬件组态)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模板未组态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_PRIM_BATT_FLTBOOL电池故障OB82_BCKUP_BATT_FLTBOOL全部后备电池故障第40页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-8OB82变量申明表第41页在编写OB82程序时,要从OB82起动信息中取得与出现错误相关更确切诊疗信息,比如是哪一个通道犯错,出现是哪种错误。使用SFC51“RDSYSST”也能够读出模块诊疗数据,用SFC52“WR_USMSG”能够将这些信息存入诊疗缓冲区。现在经过结合模板短线诊测应用和SFC51来说明诊疗中止组织块OB82使用方法。第42页首先,在SIMATIC管理器中新建一个项目,插入一个300站。硬件组态,在机架上插入CPU315-2DP和一块含有中止功效模拟量输入模块SM331,配置SM331模块“Inputs”选项,选择0-1通道组为2线制电流(2DMU),其它通道组为电压,并注意模块量程卡要与设置相同。选中“Enable”框中“DiagnosticInterrupt”选项,选中“Diagnostics”选项中0-1通道组中“GroupDiagnostics”和“withCheckforWireBreak”选项,如图7-15所表示。图7-15硬件组态第43页点击OK,然后双击CPU315-2DP,选择“Interrupts”选项,能够看到CPU支持OB82,见图7-16所表示。硬件组态完成后,保留编译,下载到CPU中。图7-16CPU中“Interrupts”选项第44页然后完成诊疗程序。OB82程序当在硬件组态中设定诊疗中止发生后执行,但OB82执行时能够经过它暂时变量OB82_MDL_ADDR读出产生诊疗中止模块逻辑地址。STEP7不能时时监控程序运行。在SIMATIC管理器中S7Program(1)下插入一个STLSource文件STLSource(1),如图7-17所表示。图7-17插入STLSource文件第45页打开OB1,在“Libraries”→“StandardLibraries”→“SystemFunctionBlocks”下找到SFC51“RDSYSSTDIAGNSTC”,按F1键,出现SFC51在线帮助信息,在帮助信息最低部点击“ExampleformodulediagnosticswiththeSFC51”,然后点击“STLSourceFile”,选中全部STLSource源程序拷贝到STLSource(1)中,编译保留。这是在Blocks中生成OB1、OB82、DB13和SFC51。打开OB82,对其中程序做简单修改,将19和20行程序拷贝到go:后面,如图7-18所表示。再进行保留,下载到CPU中。图7-18OB82程序修改第46页下载完成后,将CPU上模式选择开关切换到“RUN”状态,此时,CPU上“RUN”灯和“SF”灯会亮,SM331模块上“SF”灯也会亮。同时,查看CPU诊疗缓冲区能够取得对应故障信息。打开DB13数据块,在线监控,见图7-19所表示。因为通道断线是一到来事件,所以诊疗信息存放到COME数组中。图7-19DB13中数据变换第47页本例中COME数组字节含义接收以下:COME[1]=B#16#D:表示通道错误,外部故障和模块问题;COME[2]=B#16#15:表示此段信息为模拟量模块通道信息;COME[3]=B#16#0:表示CPU处于运行状态,无字节2中标示故障信息;COME[4]=B#16#0:表示无字节3中标示故障信息;COME[5]=B#16#71:表示模拟量输入;COME[6]=B#16#8:表示模块每个通道有8个诊疗位;COME[7]=B#16#8:表示模块通道数;COME[8]=B#16#3:表示0通道错误和1通道错误,其它通道正常;COME[9]=B#16#10:表示0通道断线;COME[10]=B#16#10:表示1通道断线;COME[11]=B#16#0:表示2通道正常,其它通道与2通道相同。第48页(4)插入/拔出模块中止组织块(OB83)当组态模块插入/拔出后或在SETP7下修改了模块参数并在“RUN”状态把所做修改下载到CPU后,CPU操作系统调用OB83。在“RUN”、“STOP”和“STARTUP”状态时每次组态模块插入或拔出,就产生一个插入/拔出中止(电源模块、CPU、适配模块和IM模块不能在这种状态下移出)。该中止引发相关CPU诊疗缓冲区和系统状态表统计假如在“RUN”状态下拔出组态模块,OB83期开启。因为仅以一秒间隔监视模块存在,假如模块被直接访问或当过程映像被刷新时可能首先检测出访问故障。假如在“RUN”状态下插入一块模块,操作系统检验插入模块类型是否与组态统计一致,假如模块类型匹配,于是OB83被开启而且参数被赋值。能够借助SFC39至42来禁用、延时或再使用插入/拔出模块中止(OB83),表7-9描述了插入/拔出模块中止OB83暂时变量。第49页变量类型描述OB83_EV_CLASSBYTE事件级别和标识:B#16#32,模块参数赋值结束;B#16#33,模块参数赋值开启;B#16#38,模块插入;B#16#39,模块拔出或无反应,或参数赋值结束OB83_FLT_IDBYTE故障代码OB83_PRIORITYBYTE优先级,可经过STEP7选择(硬件组态)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-9OB83变量申明表第50页(5)CPU硬件故障处理组织块(OB84)当CPU检测到MPI网络接口故障、通信总线接口故障或分布式I/O网卡接口故障时,操作系统调用OB84。故障消除时也会调用该OB块,即事件到来和离去时都调用该OB。表7-10描述了CPU硬件故障OB84暂时变量。第51页变量类型描述OB84_EV_CLASSBYTE事件级别和标识:B#16#38,离去事件;B#16#39,到来事件OB84_FLT_IDBYTE故障代码OB84_PRIORITYBYTE优先级,可经过STEP7选择(硬件组态)OB84_OB_NUMBRBYTEOB号OB84_RESERVED_1BYTE备用OB84_RESERVED_2BYTE备用OB84_RESERVED_3WORD备用OB84_RESERVED_4DWORD备用OB84_DATE_TIMEDATE_AND_TIMEOB被调用时日期和时间表7-10OB84变量申明表第52页(6)优先级错误处理组织块(OB85)在以下情况下将会触发优先级错误中止:产生了一个中止事件,不过对应OB块没有下载到CPU;访问一个系统功效块背景数据块时犯错;刷新过程映像表时I/O访问犯错,模块不存在或有故障。在编写OB85程序时,应依据OB85起动信息,判定是哪个模块损坏或没有插入。能够使用SFC39至42封锁或延时并使能优先级故障OB,表7-11描述了优先级故障OB85暂时变量。第53页变量类型描述OB85_EV_CLASSBYTE事件级别和标识OB85_FLT_IDBYTE故障代码OB85_PRIORITYBYTE优先级,可经过STEP7选择(硬件组态)OB85_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-11O85变量申明表第54页(7)机架故障组织块(OB86)出现以下故障或故障消失时,都会触发机架故障中止,操作系统将调用OB86:扩展机架故障(不包含CPU318),DP主站系统故障或分布式I/O故障。故障产生和故障消失时都会产生中止。在编写OB86程序时,应依据OB86起动信息,判断是哪个机架损坏或找不到。能够使用SFC39至42封锁或延时并使能OB86,表7-12描述了机架故障OB86暂时变量。第55页变量类型描述OB86_EV_CLASSBYTE事件级别和标识:B#16#38,离去事件;B#16#39,到来事件OB86_FLT_IDBYTE故障代码OB86_PRIORITYBYTE优先级,可经过STEP7选择(硬件组态)OB86_OB_NUMBRBYTEOB号OB86_RESERVED_1BYTE备用OB86_RESERVED_2BYTE备用OB86_MDL_ADDRWORD依据故障代码OB86_RACKS_FLTDARRAY[0..31]依据故障代码OB86_DATE_TIMEDATE_AND_TIMEOB被调用时日期和时间表7-12O86变量申明表第56页这里也经过一个例子来说明OB86使用。新建一个项目,插入一个300站,进行硬件组态。在机架中插入CPU315-2DP,选择DP作为主站,在DP主站下添加一个ET200M从站,并在从站中插入一个模拟量输入模块SM331,如图7-20所表示。图7-20硬件组态第57页然后双击CPU,选择“Interrupts”选项,能够看到CPU支持OB86,见图7-21所表示。硬件组态完成后,保留编译,下载到CPU中。图7-21CPU中“Interrupts”选项第58页OB86程序当在通讯发生问题后或者访问不到配置机架或站时执行,此时程序可能还可能需要调用OB82和OB122等组织块,当OB86执行时能够经过它暂时变量读出产生故障代码和事件类型,经过它们组合能够得到详细错误信息,同时也能够读出产生错误模块地址和机架信息。STEP7不能时时监控程序运行,能够用“VariableTable”监控实时数据改变。第59页打开组织块OB86编写程序,程序如图7-22所表示。图7-22OB86中所编写程序第60页该程序也能够转化成梯形图,但程序中要将OB86暂时变量OB86_RACKS_FLTDARRAY[0..31]改成OB86_z23DWORD。把程序下载到CPU后,在“Blocks”插入“VariableTable”,如图7-23所表示。然后打开,填入MB0、MB1、MW2、MD4并点击键就能够得到相关信息了。图7-23插入“VariableTable”第61页(8)通信错误组织块(OB87)在使用通信功效块或全局数据(GD)通信进行数据交换时,假如出现以下通信错误,操作系统将调用OB87:接收全局数据时,检测到不正确帧标识符(ID);全局数据通信状态信息数据块不存在或太短;接收到非法全局数据包编号。假如用于全局数据通信状态信息数据块丢失,需要用OB87生成该数据块将它下载到CPU。能够使用SFC39至42封锁或延时并使能通信错误OB,表7-13描述了通信错误OB86暂时变量。第62页变量类型描述OB87_EV_CLASSBYTE事件级别和标识OB87_FLT_IDBYTE故障代码OB87_PRIORITYBYTE优先级,可经过SETP7选择(硬件组态)OB87_OB_NUMBRBYTEOB号OB87_RESERVED_1BYTE备用OB87_RESERVED_2BYTE备用OB87_RESERVED_3WORD依据故障代码OB87_RESERVED_4DWORD依据故障代码OB87_DATE_TIMEDATE_AND_TIMEOB被调用时日期和时间表7-13OB87变量申明表第63页2、同时错误组织块同时错误是与执行用户程序相关错误,程序中假如有不正确地址区、错误编号和错误地址,都会出现同时错误,操作系统将调用同时错误OB。同时错误组织块包含OB121用于对程序错误处理和OB122用于处理模块访问错误。同时错误OB优先级与检测到犯错块优先级一致。所以OB121和OB122能够访问中止发生时累加器和其它存放器中内容,用户程序能够用它们来处理错误。第64页同时错误能够用SFC36“MASK_FLT”来屏蔽,使一些同时错误不触发同时错误OB调用,不过CPU在错误存放器中统计发生被屏蔽错误。用错误过滤器中一位来表示某种同时错误是否被屏蔽。错误过滤器分为程序错误过滤器和访问错误过滤器,分别占一个双字。调用SFC37“DMSK_FLT”而且在当前优先级被执行完后,将解除被屏蔽错误,而且清楚当前优先级事件状态存放器中对应位。能够用SFC38“READ_ERR”读出已经发生被屏蔽错误。对于S7-300(CPU318除外),不论错误是否被屏蔽,错误都会被送入诊疗缓冲区,而且CPU“组错误”LED会被点亮。能够在不一样优先级屏蔽一些同时错误。在这种情况下,在特定优先级中发生这类错误时不会停机,CPU把该错误存放到错误存放器中。不过无法知道是什么时候发生错误,也无法知道错误发生频率。第65页(1)编程错误组织块(OB121)

当相关程序处理故障事件发生时CPU操作系统调用OB121,OB121与被中止块在同一优先级中执行,表7-14描述了编程错误OB121暂时变量。第66页变量类型描述OB121_EV_CLASSBYTE事件级别和标识OB121_SW_FLTBYTE故障代码OB121_PRIORITYBYTE优先级=出现故障OB优先级OB121_OB_NUMBRBYTEOB号OB121_BLK_TYPEBYTE出现故障块类型(在S7-300时无有效值在这里统计)OB121_RESERVED_1BYTE备用OB121_FLT_REGWORD故障源(依据代码)。如:转换故障发生存放器;不正确地址(读/写故障);不正确定时器/计数器/块号码;不正确存放器区OB121_BLK_NUMWORD引发故障MC7命令块号码(S7-300无效)OB121_PRG_ADDRWORD引发故障MC7命令块号码(S7-300无效)OB121_DATE_TIMEDATE_AND_TIMEOB被调用时日期和时间表7-14OB121暂时变量表第67页OB121程序在CPU执行错误时执行,此错误不包含用户程序逻辑错误和功效错误等,比如当CPU调用一个未下载到CPU中程序块,CPU会调用OB121,经过暂时变量“OB121_BLK_TYPE”能够得出出现错误程序块。使用STEP7不能时时监控程序运行,能够用“VariableTable”监控实时数据改变。打开事先已经插入OB121编写程序,如图7-24所表示。图7-24OB121中编写程序第68页接着在项目“B

温馨提示

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

评论

0/150

提交评论