回复:请教诊断缓冲区的说明

萧⑨郎

  • 帖子

    216
  • 精华

    0
  • 被关注

    5

论坛等级:游侠

注册时间:2011-02-19

普通 普通 如何晋级?

发布于 2011-10-10 09:42:35

3楼

访问的DB块的确没有DBW1990,最大地址为DBX1498.5
但是我寻址的时候写了保护啊
我的做法是读取这个DB块的长度,然后转成指针,当AR1大于等于此指针的时候,跳转到程序的最后
这样有问题吗?怎么会寻址到DBW1990呢?奇怪啊。


我的程序贴在下面:
L L#0
T #DB_Limit

L #NextPosNo
L 0
<=I
JC y009

OPN DB1003
L 0
T #No_1

L DBLG
SLD 3
L DW#16#84000000
+D
T #DB_Limit

y001: L #No_1
L 10
*I
SLD 3
L DW#16#84000000
+D
LAR1

TAR1
L #DB_Limit
>=D
JC y009

L DBW [AR1,P#0.0]
L #NextPosNo
==I
JC y002

L #No_1
INC 1
T #No_1
JU y001

y002: A DBX [AR1,P#8.3]
= #NextPos_RdyWrite

O DBX [AR1,P#8.1] //FnhWrite_X
O DBX [AR1,P#8.5] //FnhWrite_Y
= #NextPos_FnhWrite

y009: NOP 0


L #LastPosNo
L 0
<=I
JC y019

L 0
T #No_2

y011: L #No_2
L 10
*I
SLD 3
L DW#16#84000000
+D
LAR1

TAR1
L #DB_Limit
>=D
JC y019

L DBW [AR1,P#0.0]
L #LastPosNo
==I
JC y012

L #No_2
INC 1
T #No_2
JU y011

y012: L DBD [AR1,P#2.0]
L L#0
<>D
= #LastPos_Tskin


y019: NOP 0
这是咋回事呢?
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54756条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。