1、SIMATIC S5 系列 PLC 的故障处理 阿苏工作室 阿苏整理 http:/1STEP5 故障检测* 控制位 Control bits (按 testOutput PLC infoISTACK进入)控制位主要用来检查硬件和系统软件的情况系统字 位- 7 6 5 4 3 2 1 0RS5 EA0A NB PBSSCH BSTSCH SCHTAE ADRBAU SPABBR NAUAS QUITTEA0B NB NB NB REMAN NB NB NB NBRS6 EA0C STOZUS STOANZ NEUSTA NB BATPUF NB BARB BARBENDEA0D NB UAFEH
2、L MAFEHL E0VH NB AF NB NBRS7 EA0E ASPNEP ASPNRA KOPFNI PROEND ASPNEEP PADRFE ASPLUE RAMADFEEA0F KEINAS SYNFEH NINEU NB NB NB SUMF URLADRS5 EA0A.6 PBSSCH : Is not used 此位不用5 BSTSCH : Block shift requested 4 SCHTAE : Block shift active (COMPRESS)3 ADRBAU : Address list set up OK 地址表设置好2 SPABBR : Funct
3、ion “COMPRESS MEMORY CONTENTS“ was abandoned 1 NAUAS : Power failure in central controller 电源故障0 QUITT : Is not used 此位不用EA0B.4 REMAN : 0=all TIMERS/COUNTERS/FLAGS deleted,1=only 2nd half T/C/F0-重新启动时清所有的 T C F (CPU 模板开关在 NR位置)1-重新启动时清非保持 T C F (CPU 模板开关在 RE位置)RS6 EA0C.7 STOZUS : Stop mode (external
4、 request) 外部请求停止6 STOANZ : Stop bit (internal request) 内部请求停止5 NEUSTA : Cold restart of the prog. controller PLC处于冷起动3 BATPUF : Back-up battery for RAM o.k 电池好1 BARB : Program test active 程序检查在活动0 BARBEND: Stop mode following program test (cold restart necessary)程序检查已结束, 需要冷启动EA0D.6 UAFEHL : Incorre
5、ct interrupt code 5 MAFEHL : Entry exists in machine error word 4 E0VH : Input byte(s) for interrupt servicing exists 2 AF : Ints. enabled 允许中断RS7 EA0E.7 ASPNEP : User memory is an EPROM 用户存储器子模板是 EPROM6 ASPNRA : User memory is a RAM 用户存储器子模板是 RAMSIMATIC S5 系列 PLC 的故障处理 阿苏工作室 阿苏整理 http:/25 KOPFNI :
6、Block type was not recognized setting up address list块头不能解释4 PROEND : Shift before PROM op. complete3 ASPNEEP: User memory is an EEPROM 用户存储器子模板是 EEPROM2 PADRFE : Addressing error in user PROM 1 ASPLUE : User memory has gaps in addresses0 RAMADFE: Addressing error in user RAM RAM地址错误EA0F.7 KEINAS :
7、No user memory exists 无用户存储器子模板6 SYNFEH : Synchronization error or invalid code 5 NINEU : Cold restart not poss. 冷起动没有通过1 SUMF : Checksum error in user prog. or system prog. memory 0 URLAD : User program must be booted 要求引导指令* 中断堆栈 Interrupt stack (用 TestOutputISTACK Ins 进入)中断堆栈主要用于检查用户程序指行的情况, 它是检查
8、 CPU停机的主要手段OP-REG : 0000 SAC: 0000 DB-ADD: 0000BLK-STP: 0000 -NO.: DB-NO.:REL-SAC:Brackets: KE1 000 KE2 000 KE3 000 KE4 000 KE5 000 KE6 000 KE7 000ACCU1: 0000 ACCU2: 0000_Condition code : CC1 CC0 OVFL CARRY OR ERAB条件码STATUS RLOCause of interr.: STOPS NB SUF TRAF NNN STS中断(故障)原因STUEB NAU QVZ ZYK PEU
9、BAUASPFARS205 EB9A OP-REG : op. register 指令寄存器,存当前执行的指令码,如 3020h=L DW2RS206 EB9C SAC : STEP addr. counter 下一条指令地址,当前指令地址可能为 SAC-2DB-ADD : data block address 当前数据块地址DB-NO : type and number of last block processed 当前数据块号RS207 EB9E BLK-STP : block stack pointer 块堆栈指针xx-NO : type and number of last bloc
10、k processed 最后处理的块号REL-SAC : relative STEP addr. counter 下一条指令地址(相对最后处理的块地址)SIMATIC S5 系列 PLC 的故障处理 阿苏工作室 阿苏整理 http:/3RS213 EBAA.7 CC1 : Coded condition bit 1 条件码 16 CC0 : Coded condition bit 0 条件码 05 OVFL : Arithmetic overflow (numerical range exceeded) 溢出4 CARRY : Carry between the two bytes of th
11、e arithmetic unit 进位3 OR : AND operation before OR operation2 STATUS : Logical status of the scanned bit operation1 RLO : Result of logic operation (code bit of operation) 逻辑处理结果0 ERAB : Last processed statement was first scanRS214 EBAC.7 STOPS : Mode selector set to STOP CPU 模板选择停机(RN/ST 开关拨到ST)5 S
12、UF : Substitution error 替换错误一般是功能块需要的形式参数与调用程序提供的数据类形不同引起的错误3 TRAF : Transfer error with data block command 使用数据块语句错误2 NNN : Command cannot be interpreted in this PLC 语句不能译码, 超过嵌套深度, 参数超过1 STS : STS op. caused stop 语句(STS)或编程器执行停机0 STUEB : Block stack overflow (nesting depth too great) 块堆栈溢出EBAD.7 N
13、AU : Power failure in central controller 电源故障6 QVZ : Timeout 访问 I/O超时4 ZYK : Cycle time exceeded 扫描时间超过 RS96设定的时间(单位10MS)2 PEU : I/Os not ready (expansion unit not O.K.) 扩充 I/O没准备好1 BAU : Battery voltage failure 电池故障0 ASPFA : Illegal user memory submodule 存储器子模板非法* 块堆栈 BSTACK (按 TestOutput PLC infoB
14、STACK 进入)块堆栈主要用来检查 CPU停机时各块调用的情况, 其显示格式如下:Block no. Block addr Return addreess Rel. addr DB no. DB addr意义: Block no. 程序块(OB,PB,FB,SB)号Block addr 程序块绝对地址Return addreess 调用子程序语句指令的下一条指令的绝对地址(指令计数器内容)Rel. addr 调用子程序语句指令的下一条指令的相对地址DB no. 被程序调用的数据块号(是被同一行的程序调用)DB addr 被程序调用的数据块地址例:Block no. Block addr Re
15、turn addreess Rel. addr DB no. DB addrFB 56 3132 3170 003E DB 6 30D6OB 1 3184 319A 0016 DB 10 1018说明: 1.进入停机的块在 BSTACK里看的, 要从 ISTACK才能看出进入停机的块2.进入停机的块是由 FB 56的一条指令调用的, 那条指令的绝对地址为 3170-2SIMATIC S5 系列 PLC 的故障处理 阿苏工作室 阿苏整理 http:/4相对地址为 003E-2(在 FB 56里的地址)3.FB 56调用了 DB64.FB 56是由 OB 1调用的, 调用指令的相对地址为 0016
16、-2, OB 1调用了 DB 10* 检修例子例 1 设备超时: OB1PB10FB10,故障现象: 运行后 CPU进入停机状态, CPU 模板上 QVZ灯亮各块内容如下:OB 1 (RAM地址: 1172h 长度:11h) PB10 (RAM 地址: 1152h 长度:16h)0000 : 0000 : 0002 : 0002 : 0004 :JU PB 10 0004 : 0006 : 0006 :JU FB 10 0008 : 0008 Name :FB10 000A :BE 000A : 000C : 000E :A I 0.0 0010 := Q 8.0 0012 : 0014 :B
17、E FB 10 (RAM地址: 112Ch 长度:19h)Name :FB10000A :000C :A I 0.0000E :C DB 100010 :L DW 20012 :T DW 10014 :0016 :L PY 10 ;机器码为 720A实际上 PY10无任何模块, 所以执行到这条指令出错0018 :T PY 12 ;REL-SAC指出的出错指令的下一个地址 0018(相对于块地址)SAC指出的出错指令的下一个绝对地址 1144(块地址112C+18=1144)001A :BEControl bits (控制位提示)STOZUS : Stop mode (external requ
18、est) ;外部请求停止STOANZ : Stop bit (internal request) ;内部请求停止Interrupt stackOP-REG : 720A SAC: 1144 DB-ADD: 107CBLK-STP: EB0B FB-NO.: 10 DB-NO.: 10REL-SAC: 0018SIMATIC S5 系列 PLC 的故障处理 阿苏工作室 阿苏整理 http:/5Cause of interr.: STOPS NB SUF TRAF NNN STSSTUEB NAU QVZ ZYK PEU BAUXASPFAQVZ : Timeout (设备超时)Timeout d
19、ue to access to I/O byte : 10 在访问第 10个 I/O字节时超时Interrupt stack显示内容说明:1. FB-NO.为 10, 表示引起停机的块是 FB102. REL-SAC为 0018, 表示出错指令的下一个地址为 0018(相对于 FB10块地址)3. OP-REG指令寄存器的内容 720A为指令 L PY 10, 表示停机是由于这条指令引起的4. SAC指令的地址计数器显示出存储下一条指令的绝对地址是 1144(块地址112C+18=1144)5. DB-NO.为 10表示当前数据块为 DB10, DB-ADD为 107C表是 DB10的地址为
20、107C6. BLK-STP为 EBOB, 意义暂时不清楚Block stackBlock no. Block addr Return address Rel. addr DB no. DB addrPB 10 1152 115A 0008OB 1 1172 1178 0006Block stack显示内容说明:1. 在停机前程序调用为 OB1PB10, PB10地址为 1152, 退出并进入停机的绝对地址为 115A, 相对块地址为 00082. 查 PB10相对地址 0008的前一条指令是 JU FB10, 表示执行 FB10时引起了停机 例 2 数据传送错误:故障现象: CPU 进入停止
21、状态FB 10Segment 1Name :FB10000A :000C :A I 0.0000E :C DB 100010 :L DW 80012 :T DW 10014 :0016 :BEInterrupt stackOP-REG : 3208 SAC: 119A DB-ADD: 107CBLK-STP: EB0B FB-NO.: 10 DB-NO.: 10REL-SAC: 0012SIMATIC S5 系列 PLC 的故障处理 阿苏工作室 阿苏整理 http:/6Cause of interr.: STOPS NB SUF TRAF NNN STSXSTUEB NAU QVZ ZYK P
22、EU BAUASPFATRAF : Transfer error with data block command 用数据块命令时传送错误Interrupt stack分析:1.OP-REG为 3208,即执行 L DW 8时发生停机2.DB-NO.为 10, DB-ADD为 107C表示数据块 DB10已经调入3.FB-NO.为 10, REL-SAC为 0012表示在执行 FB10相对地址为 0012前一条指令 L DW 8停机4.用 EditerData blockin the PLC查 DB10只有三个字的数据, 所以执行指令L DW 8 会产生数据传送错误而停机例 3 扫描超时故障:故
23、障现象: CPU 停机, CPU 模板 ZYK(扫描超时)灯亮Interrupt stackOP-REG : 6500 SAC: 0777 DB-ADD: 0000BLK-STP: EAFF -NO.: DB-NO.:REL-SAC:Condition code : CC1 CC0 OVFL CARRY OR ERABSTATUS RLOCause of interr.: STOPS NB SUF TRAF NNN STSSTUEB NAU QVZ ZYK PEU BAUXASPFAZYK : Cycle time exceeded 循环超时分析: 从以上明显看出是扫描超时, 查 RD96为
24、2, 即 20MS, 太小当发生超时故障时一般要检查 RD96是否设定的太小(RS96 的单位为 MS), 程序是否进入了死循环某设备 S5-115 PLC 部分 I/O失效检修记录: 故障现象: 扩充模块有些输入、输出点无效SIMATIC S5 系列 PLC 的故障处理 阿苏工作室 阿苏整理 http:/7PLC 结构如下图检修过程:1.查 IW32、QW68 无效2.查 EA20=FFFF, 证明 IW0-IW31已登记EA2A=FF3F, 证明 QW32-QW59已登记证明: 架、架、架正常, 即 IM301、IM310 通讯正常3.查 EA22=0000、EA24=0000 证明 IW
25、32-IW75未登记, 无效查 EA28=0000 证明 QW0-QW27未登记, 无效根据以上情况判断故障在架的 IM306或架或架4.将架 IM306电缆接到架的 IM306,查 EA28变为 FF3F, 证明架和架都正常, 问题在架5.拆、装架上的各个模板发现装 IW44-IW47模板时 EA22=0000, 拆下来时 EA22有数值,证明 IW44-IW47模板有问题, 换这块模板后 EA22=FFFF, 正常结论: 以上故障现象是由于 IW44-IW47模板故障引起的, IW44-IW47模板故障影响架上的总线, 使架和架地址设定不正常要记:1.RAM F000-F04B共 76Byte有数值,而实际用 IW0-IW75也是 76Byte,证明 F000以上是 I的口地址, 大于 F04A以上数值为 FFFF, 估计 Q口地址不在这里或很难查出2.IM301与 IM310通讯正常时, 在电源通电时 IW301的指示灯亮一下3.用编程器强迫未登记的 Q输出时, 编程器提示: * no I/O module后记: 由于论坛上的一位朋友的需要,花点时间整理了一下对于 S5 的 PLC 故障处理的笔记。以上资料属于个人整理,由于水平问题,可能有错漏的地方。阿苏 阿苏工作室SIMATIC S5 系列 PLC 的故障处理 阿苏工作室 阿苏整理 http:/8