网友aabbcc:下面是硬件诊断的一个故障信息,我可以判断使用DB块点40364超出DB范围,但是请教各位,是否能判断出哪个DB块中的点出现问题?谢谢
Event 1 of 10: Event ID 16# 2522
Area length error when reading
Global DB, bit access, Access address: 40364
Requested OB: Programming error OB (OB121)
Priority class: 1
Internal error, Incoming event
04:45:39.699 PM 03/02/2012
网友lbgk:你先加入空的OB121下载到PLC中,试一下,看看能否正常运行。
网友aabbcc:PLC运行没有问题,OB121等已经加入,错误的点我也找到了,一个个查的,只是不知道怎么快速找到,谢谢了,明天我按照办法试试看。
廖:下面做一个实验,在OB1中输入指令“L DB5.DBB9”,DB5中只有一个Int型的占位符变量。
打开CPU模块信息的诊断缓冲区,下面是有关的事件的详细信息:
事件 2 / 18: 事件 ID 16# 4562
因编程错误导致 STOP 模式 (未装载或无法装载 OB,或者无 FRB)
用户程序中的断点:循环程序 (OB1)
优先等级: 1
OB 编号: 1
模块地址: 6
之前的工作模式:RUN
请求的工作模式:STOP (内部)
内部错误, 进入的事件
05:17:16.875 2012-03-16
事件 3 / 18: 事件 ID 16# 2522
读取时发生区域长度错误
全局 DB,字节访问, 访问地址: 9
OB 编号: 1
模块地址: 6
所需的 OB:编程错误 OB (OB121)
在当前工作模式下,OB 未找到、或被禁用、或无法启动
内部错误, 进入的事件
05:17:16.875 2012-03-16
上述信息的确没有给出错误的数据块的编号。生成和下载OB121可以解决编程错误引起停机的问题,但是只能掩盖错误,需要找到错误和消除错误。
要找到错误点很容易,打开CPU模块信息的诊断缓冲区,选中事件“读取时发生区域长度错误”,点击按钮“打开块”,将会打开访问出错的数据块地址的OB1,光标在出错的指令“L DB5.DBB9”所在的行。
楼主最近还看过