蹭热度:循环程序的本质

已锁定

yanxiao

版主

  • 帖子

    12204
  • 精华

    47
  • 被关注

    189

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

蹭热度:循环程序的本质

3243

21

2022-06-28 14:43:00

star star star star

循环程序的本质:就是用同一段代码,处理不同的数据。

不过,这是废话。


计算机中的数据,都是放在存贮器中,以地址方式访问,因此,程序指令访问数据的方式,可称之为数据的寻址方式。

1、如果数据直接出现在指令中,称之立即寻址方式

一般,常数可以直接放入指令中,直观又快速。

比如:

MOVW 0,AC0 // 0就是常数,直接出现在指令中

2、如果指令中出现的是一个具体的数据地址,可称之为直接寻址方式

这可能是使用最多的一种寻址方式

比如:

MOVW VW0,AC0 // VW0是数据地址,把VW0中的数据装入AC0中

3、上面两种寻址方式,在循环中处理不同的数据,似乎是达不到的,因为数据寻址与代码绑得太紧了。

所以,第三种的寻址方式,称之为间接寻址

比如:

MOVD &VW0,AC1 // 间址寻址的准备,把VW0的地址装入AC1

MOVW *AC1,AC0 // 间址寻址,AC1中存贮数据的地址,由此地址指向的数据装入AC0

这样,一条MOVW *AC1,AC0就可以处理不同的数据,只要变更AC1中的数据地址即可。


以上这些也是废话,在PLC内混谁还不懂呢?


在Smart中,大部分的数据支持间接寻址

唯独位变量不能间接寻址,比如Ix.x、Mx.x、Qx.x等等。

关于位变量通过编程方式实现间接寻址,另贴讨论。


抛个砖,期待高人的见解。


蹭热度:循环程序的本质 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9137条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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