登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:程序错误诊断

点击:2057 回复:1

网友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”所在的行。
 [/URL]
12-03-16 11:03
1楼
该帖内容不符合相关规定!
12-03-16 12:57

工控新闻

更多新闻资讯