有關S7-300尋址問題

已锁定

阿垣

  • 帖子

    2
  • 精华

    0
  • 被关注

    5

论坛等级:游民

注册时间:2014-11-06

普通 普通 如何晋级?

有關S7-300尋址問題

1362

9

2014-12-07 23:32:24

展开查看
引用自找答案,问题ID:121797

請問各位前輩下面指令的意思:
OPN DB 21
L 194
L 8
*I
L #ON_M_CODE
+I
LAR1
// Transfer to temp variable
A DBX [AR1,P#0.0]
A #Mcode_Enable
AN DB21.DBX 33.7
= #MCODE_ON
請問AR1內的數值為多少??? DBX [AR1,P#0.0] 出來的結果為何???

提问者:阿垣


艾星落尘 回答道:

内部区域寄存器间接寻址,指针格式与存储器间接寻址的32位指针相同,第0位~第2位作为寻址操作的位地址,第3位~第18位作为寻址操作的字节地址,第19位~第31位没有定义
AR1里的值就是194x8+#ON_M_CODE
DBX[AR1,P#0.0]的值为DB21.DBX(194 + #ON_M_CODE / 8)#ON_M_CODE的值除以8以后变成ax8+y形式,所以就是DB21.DBX(a+194).y
S7-300和S7-400寻址:http://www.ad.siemens.com.cn/download/docMessage.aspx?ID=1597&loginID=&srno=&sendtime=
补:假如是10的话,除以8余数是2,那么就是(194+2).2 即 DBX196.2;其实就是(194x8+#ON_M_CODE)除以8,取余数 ;根据寄存器寻址的定义:0位~第2位作为寻址操作的位地址,第3位~第18位作为寻址操作的字节地址;如果说寄存器内部的值是10,那么就要扣除8,剩下的就是位地址,1为字节地址,我给的资料里,也有介绍!

还有2人在找答案上回答了该问题,查看全部>
請問各位前輩下面指令的意思:
OPN DB 21
L 194
L 8
*I
L #ON_M_CODE
+I
LAR1
A DBX [AR1,P#0.0]
A #Mcode_Enable
AN DB21.DBX 33.7
請問若#ON_M_CODE =10,那AR1內的數值為多少??? DBX [AR1,P#0.0] 出來的結果為何???
有關S7-300尋址問題 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54619条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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