回复:200smart 一个寄存器向多个寄存器传送数值

已锁定

芳季

西门子1847工业学习平台

  • 帖子

    15511
  • 精华

    101
  • 被关注

    961

论坛等级:至圣

注册时间:2007-08-03

钻石 钻石 如何晋级?

发布于 2022-12-03 08:58:06

7楼

展开查看
以下是引用楼上黑在2022-12-02 16:06:37的发言 >楼主:上电初始化vd0 某一时按下一按钮开关 将vd0传送至vd4 然后清零vd0 然后继续vd0计数 某一时刻 按下按钮开关 将vd0的值传送vd8 然后vd0清零 然后继续vd0计数 某一时刻 按下按钮开关 将vd0的值传送vd12 然后vd0清零 然后重复N次操作 最后将传送的值 全部相加 怎么写程序简单点

从此,你就开始接触间接寻址合for指令了。

只需要同一条指令,MOVD VD0 *AC1,你就可以把VD0的值传递到你指定的地方。

当AC1=&VB4的时候,VD0就传到VD4。

当你把AC1用add指令加4之后,VD0就会传到VD8。

当你把AC1再加1000之后,VD0就会传到VD1008。

没看懂不要紧,一边看一边试。

全部加起来的话就用for。不断地指向下一个VD,然后累加到一起。

for前面把AC1=&VB4。AC=0 

*AC1+AC0=AC0

AC1+4=AC1

循环执行上面两步。循环的次数就是你数据的个数。

AC0就是得数了。


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8945条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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