
硬件诊断是判断设备故障的重要途径。当CPU不能正常工作时,除了检查CPU内部的逻辑外还需要判断该故障是否由于CPU硬件故障造成的。CPU提供了多个途径来诊断CPU硬件的状态。诊断方法介绍通过模块指示灯......
硬件诊断是判断设备故障的重要途径。当CPU不能正常工作时,除了检查CPU内部的逻辑外还需要判断该故障是否由于CPU硬件故障造成的。CPU提供了多个途径来诊断CPU硬件的状态。
诊断方法介绍通过模块指示灯、CPU信息、读取S7-200SMARTCPU特殊寄存器(SM)的数值这三种方式来诊断S7-200SMARTPLC的硬件故障,这三种方式可以一起使用。
1.模块指示灯S7-200SMARTCPU有一个ERROR状态指示灯,EM扩展模块有一个DIAG状态指示灯,SB电池信号板上有一个Alarm指示灯。这些指示灯都具有故障报警功能。如下图1.模块指示灯所示。

图1.模块指示灯
注意:
硬件模块上的指示灯仅仅提示用户:CPU、EM模块、SB信号板是否有故障,而不是直接告诉用户模块的故障是什么,因为能导致模块指示灯提示故障的原因不止一个。想要知道故障的详细信息需要查看CPU的信息和特殊寄存器(SM)的数值。
2.S7-200SMARTCPU信息
S7-200SMARTCPU具有一定的自诊断功能,通过查看CPU信息的方式能快速有效地得到CPU的状态信息。查看方法:在STEP7-Micro/WINSMART软件菜单功能区选择“PLC”选项,在PLC选项中的“信息”部分选择“PLC”,如下图2.PLC信息的查找方法所示。在CPU信息中,除了能够得到CPU的硬件信息、运行状态,还可以得到当前程序的扫描周期等其它有用信息。

图2.PLC信息的查找方法

图3.PLC信息
注意:
CPU的信息是实际CPU的内部信息,因此需要通过STEP7-Micro/WINSMART软件在线连接到CPU上才可以得到该信息。
从CPU的错误信息窗口中可以得到CPU致命错误、非致命错误、当前IO错误的信息提示。还包括CPU的产品序列以及固件版本。图4.所示。

图4.CPU错误信息
从CPU的时间日志窗口里可以得到CPU的事件列表。其列表是根据时间先后顺序记录CPU事件的。用户可以查看列表的内容判断CPU的状态。图5.所示。

图5.CPU事件日志
从“扫描速率”页面可以得到CPU程序实际运行的扫描周期的时间。图6.所示。

图6.CPU扫描速率
3.读取S7-200SMARTCPU特殊寄存器SM的数值
S7-200SMARTCPU内部有特殊寄存器SM,用户可以借以查看或是更改CPU的系统参数。其中有一些SM区域用来表示CPU硬件状态,包括CPU订货号、序列号、硬件版本、CPU故障信息,以及EM扩展模块和SB信号板的订货号、序列号、硬件版本、故障信息等。通过在线监控相应SM的数值可以得到信息参数来诊断硬件故障。
根据《S7-200SMART系统手册》章节D“特殊存储器(SM)和系统符号名称”中关于特殊寄存器的描述,可以得到相应故障的解释和说明。表1.特殊寄存器诊断地址列出了S7-200SMARTCPU、EM扩展模块、SB信号板的SM诊断地址。
表1.特殊寄存器诊断地址
诊断对象
特殊寄存器地址
功能
IO信息
SMB5
I/O错误状态
SMW98
I/O扩展总线通信错误
CPU
SMB6~SMB7
CPUID、错误状态和数字量I/O点
SMW100
CPU诊断报警代码
SMB1300-SMB1049
CPU硬件/固件ID
EM扩展模块
SMB8-SMB19
EM(扩展模块)ID和错误
SMW104~SMW114
EM(扩展模块)诊断报警代码
SMB1100~SMB1399
EM(扩展模块)硬件/固件ID
SB信号板
SMB28~SMB29
SB(信号板)ID和错误
SMW102
SB(信号板)诊断报警代码
SMB1050~SMB1099
SB(信号板)硬件/固件ID
诊断方法举例以AM06模块为例,说明如何通过模块的指示灯状态、CPU信息、特殊寄存器SM数值这三种方式来诊断模块的状态。
表1.AM06模块诊断信息
AM06模块指示灯状态
PLC信息和特殊寄存器(通过状态图标监视)
故障说明
DIAG指示灯状态
IO通道灯状态
绿色长亮
绿色长亮
PLC信息:

系统块组态正确,供电正常
特殊寄存器中模块报警地址实时值:

请参考《S7-200SMART系统手册》章节D
绿色闪烁
不亮
PLC信息:

没有在STEP7-Micro/WINSMART软件的
系统块中组态该扩展模块
特殊寄存器中模块报警地址实时值:

请参考《S7-200SMART系统手册》章节D
红色常亮
不亮
系统块中组态了该模块:

特殊寄存器中模块报警地址实时值:

请参考《S7-200SMART系统手册》章节D
硬件故障,CPU识别不了该模块
系统块中没有组态该模块:

特殊寄存器中模块报警地址实时值:

请参考《S7-200SMART系统手册》章节D
红色闪烁
所有通道红色闪烁
PLC信息:

模块没有接24V电源
特殊寄存器中模块报警地址实时值:

请参考《S7-200SMART系统手册》章节D
红色闪烁
某个或几个通道红色闪烁
PLC信息:

通道值超限
特殊寄存器中模块报警地址实时值:

请参考《S7-200SMART系统手册》章节D
通过一个特殊寄存器中模块报警地址实时值来说明如何查看CPU及模块的报错信息。如表1.AM06模块诊断信息中最后一行AM06通道0的通道值超出下限时SMW104值为20000_0000_0000_1000:d=0,表示输入通道
20000_0000_0000_1000:c=0,表示0通道
20001_1001的解释如下:
20001_1001:a=1,表示该模块是模拟量模块
20001_1001:qq=01,表示模块有2AO
SMB9=20100_0000:c=0,无错误
20100_0000:b=0,无错误
20100_0000表示AM06模块有诊断报错。
表3.SMB8~SMB18I/O模块ID和错误说明
SMB8~SMB18I/O模块ID和错误说明
偶字节
奇字节
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
m
0
0
a
i
i
q
q
c
d
0
b
0
0
0
m
m:模块是否存在
0
存在
c
0
无错误
1
不存在
1
组态/参数化错误
a:I/O类型
0
数字量
d
0
无错误
1
模拟量
1
诊断报警
ii:输入信息
0
0
无输入
b
0
无错误
0
1
2AI或8DI
1
总线访问错误
1
0
4AI或16DI
m
0
OK
1
1
8AI或32DI
1
缺失已组态模块
qq:输出信息
0
0
无输出
0
1
2AO或8DO
1
0
4AO或16DO
1
1
8AO或32DO
上面以AM06模块为例说明了硬件诊断的方法,用户可以用该方法来诊断其它CPU、EM扩展模块和SB信号板的信息状态。