西门子S7300程序错误诊断 点击:105 | 回复:0



李东泽

    
  • [版主]
  • 精华:7帖
  • 求助:25帖
  • 帖子:1209帖 | 6375回
  • 年度积分:216
  • 历史总积分:44409
  • 注册:2010年3月25日
发表于:2018-06-25 13:32:33
楼主

网友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”所在的行。


1分不嫌少!


楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师