我在FC1功能块中加入如下程序后,CPU报错
OPN "REG_AREA_3"
LAR1 P#6.0 //初始化地址寄存器1(数据查询的起始地址)
L MW 412 //循环次数(数据查询个数)
NEXT: T LW 20 //存储当前的循环次数
L DBW [AR1,P#2.0] //将当前DB对应的地址里面的数据装载到ACCU1里面
L MW 188 //将MW188的内容(系统时间的时、分)移入ACCU
==I //比较ACCU1和ACCU2里面的内容(时、分)是否相等(如果相等RLO=1,如果不等RLO=0)
JCN M001 //如果不等,跳转到M001标签;如果相等,往下执行
L DBW [AR1,P#0.0] //将当前对应的动作号码装载到ACCU1里面
T MW 410 //将当前ACCU1里面的内容(模式号)写到MW400
JU M002 //找到动作码以后,无条件跳转到M002标签(跳出数据查询)
M001: +AR1 P#4.0 //地址寄存器1当前的地址递增4个字节(准备查询下一组数据)
L LW 20 //装载当前循环次数
LOOP NEXT //循环次数减一,跳转到NEXT标签,当循环次数减至0,离开循环,往下执行
相应的诊断文件为
Event 9 of 400: Event ID 16# 2522
Area length error when reading
Global DB, word access, Access address: 34984
FC number: 1
Module address: 28
Requested OB: Programming error OB (OB121)
Priority class: 1
Internal error, Incoming event
04:58:11.991 PM 05/21/2015
(Coding: 16# 2522 0179 8C24 88A8 0001 001C)
Event 10 of 400: Event ID 16# 2522
Area length error when reading
Global DB, word access, Access address: 34980
FC number: 1
Module address: 28
Requested OB: Programming error OB (OB121)
Priority class: 1
Internal error, Incoming event
04:58:11.991 PM 05/21/2015
(Coding: 16# 2522 0179 8C24 88A4 0001 001C)
其他的诊断文件都是类似的,就不一一例举了,请问这个报文是不是说明我DB背景数据块应用错误,相应DB块的设置如下: