回复:间接寻址示例看不懂。求教。

艾星落尘

  • 帖子

    996
  • 精华

    1
  • 被关注

    179

论坛等级:至圣

注册时间:2010-02-26

白金 白金 如何晋级?

发布于 2017-04-05 16:17:28

4楼

     L   #dbnumber

     T   MW100

     OPN  DB[MW100]   //将 #dbnumber这个值赋给MW100,也就是MW100的值对应的就是OPN指令打开的DB号


     L  P#18.0     

     T  MD40          //取初始的地址18.0,对应的从第18个字节开始,对应你的第一个疑问。

     L  10

next:T  MB50           //LOOP循环指令的格式

     L   0

     T   DBW[MD40]     //这个指令要和之前的OPN指令结合起来看对应相应的DB块,MD40对应的是地址的数据,假如 #dbnumber为10,那么这里就是DB10.DBW[MD40],DBW[MD40]是间接寻址的一种表示方式。

     L  MD40

     L  P#2.0

     -D 

     T  MD40           //指针数据MD40自减两个字节的变量

     L  MB50

     LOOP next         //执行循环指令

整个程序的意思就是:将#dbnumber的数据对应的DB块里的数据,从DBW18开始到DBW0,共10个字清零,循环指令执行了10次;

如果不是很理解间接寻址,建议看看如下材料,会对你有所帮助的。

https://support.industry.siemens.com/cs/document/79632832/s7-300和s7-400寻址?dti=0&lc=zh-CN


一个人在战斗
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54716条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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