间接寻址错误原因分析

   2024-09-14 建材之家370
核心提示:下面一段程序如果最后一条指令前面没有注释符号“//”,在下载后不能成功地切换到运行模式,SF灯亮。最后一条指令加上注释号(该指令不起作用),运行出错时在CPU模块信息的诊断缓冲区中,有下面的诊断信息:事件8 / 15: 事件ID 16# 2523写入时发生区域长度错误全局DB,双字访问,访问地址:65532OB 编号: 1模块地址: 30所需的OB:编程错误OB

下面一段程序如果最后一条指令前面没有注释符号“//”,在下载后不能成功地切换到运行模式,SF灯亮。

最后一条指令加上注释号(该指令不起作用),运行出错时在CPU模块信息的诊断缓冲区中,有下面的诊断信息:

事件8 / 15:  事件ID 16# 2523

写入时发生区域长度错误

全局DB,双字访问,访问地址:65532

OB 编号:      1

模块地址:    30

所需的OB:编程错误OB (OB121)

在当前工作模式下,OB 未找到、或被禁用、或无法启动

内部错误, 进入的事件

08:55:02.726  2011-11-23

错误的原因是未给MW50赋值,其值为0,下面的减法运算结果为16#FFFF:

L     MW    50
 L     1
 -I    

导致最后一条间接寻址指令“ T    DBD [AR1,P#0.0]”的地址值远远地超出了DB1定义的范围(200字节)。

值得注意的是必须用“//”临时将最后一条指令屏蔽,才能对程序进行监控,从而发现问题。

 
举报收藏 0打赏 0评论 0
更多>相关评论
暂时没有评论,来说点什么吧
更多>同类电工资讯
推荐图文
推荐电工资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  帮助中心  |  网站地图  |  违规举报
粤ICP备14017808号粤公网安备 44030402000745号