以AM06模块为例,说明如何通过模块的指示灯状态、CPU信息、特殊寄存器SM数值这三种方式来诊断模块的状态。
表1. AM06模块诊断信息
AM06模块指示灯状态 |
PLC信息和特殊寄存器(通过状态图标监视) |
故障说明 |
|
DIAG指示灯状态 |
IO通道灯状态 |
||
绿色长亮 |
绿色长亮 |
PLC信息: |
系统块组态正确,供电正常 |
特殊寄存器中模块报警地址实时值:
|
|||
绿色闪烁 |
不亮 |
PLC信息: |
没有在STEP 7-Micro/WIN SMART软件的 |
特殊寄存器中模块报警地址实时值:
|
|||
红色常亮 |
不亮 |
系统块中组态了该模块: |
硬件故障,CPU识别不了该模块 |
系统块中没有组态该模块: |
|||
红色闪烁 |
所有通道红色闪烁 |
PLC信息: |
模块没有接24V电源 |
特殊寄存器中模块报警地址实时值: |
|||
红色闪烁 |
某个或几个通道红色闪烁 |
PLC信息: |
通道值超限 |
特殊寄存器中模块报警地址实时值: |
通过一个特殊寄存器中模块报警地址实时值来说明如何查看CPU及模块的报错信息。如表1. AM06模块诊断信息中最后一行AM06通道0的通道值超出下限时SMW104值为2#0000_0000_0000_1000。根据表2. SMW100~SMW114系统报警代码格式说明中的解释:
综合起来就是AM06模块的第0个输入通道的通道值超出下限,与CPU信息中的报错信息一致。
表2. SMW100~SMW114系统报警代码格式说明
SMW100~SMW114系统报警代码格式 |
|||||||||||||||||
|
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
d |
s |
c |
c |
c |
c |
c |
c |
a |
a |
a |
a |
a |
a |
a |
a |
||
d:报警位置 |
0 |
输入通道或其它非IO模块 |
|||||||||||||||
1 |
输出通道 |
||||||||||||||||
s:报警范围 |
0 |
在单个通道上 |
|||||||||||||||
1 |
在整个通道 |
||||||||||||||||
c:通道号 |
c |
c |
c |
c |
c |
c |
如果s位为0,则c值表示受影响的通道 |
||||||||||
如果s位为1,则c=0 |
|||||||||||||||||
a:报警类型 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
00H:无报警 |
||||||||
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
01H:短路 |
|||||||||
0 |
0 |
0 |
0 |
0 |
x |
x |
x |
02H~05H:保留 |
|||||||||
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
06H:断路 |
|||||||||
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
07H:超出上限 |
|||||||||
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
08H:超出下限 |
|||||||||
0 |
0 |
0 |
0 |
x |
x |
x |
x |
09H~0FH:保留 |
|||||||||
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
10H:参数化错误 |
|||||||||
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
11H:传感器或负载电压缺失 |
|||||||||
0 |
0 |
0 |
x |
x |
x |
x |
x |
12H~1FH:保留 |
|||||||||
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
20H:内部错误(MID问题) |
|||||||||
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
21H:内部错误(IID问题) |
|||||||||
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
22H:保留 |
|||||||||
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
23H:组态错误 |
|||||||||
0 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
24H:保留 |
|||||||||
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
25H:固件损坏或缺失 |
|||||||||
0 |
0 |
1 |
0 |
x |
x |
x |
x |
26H~2AH:保留 |
|||||||||
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
2BH:电池电压低 |
|||||||||
x |
x |
x |
x |
x |
x |
x |
x |
2CH~FFH:保留 |
用同样的方法来查看SMB8和SMB9的实时值,根据SMB8和SMB9的数值结合表3. SMB8~SMB18 I/O模块ID和错误中的说明得到模块AM06的ID信息和错误说明。
SMB8=2#0001_1001的解释如下:
SMB9=2#0100_0000的解释如下:
SMB9=2#0100_0000表示AM06模块有诊断报错。
表3. SMB8~SMB18 I/O模块ID和错误说明
SMB8~SMB18 I/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信号板的信息状态。