回复:MW0到MW50中的数据移位

n次看你的背影

  • 帖子

    2321
  • 精华

    73
  • 被关注

    53

论坛等级:奇侠

注册时间:2008-03-11

普通 普通 如何晋级?

发布于 2013-06-05 10:18:10

3楼

楼主:以前为一个朋友想过办法,写了一段代码,有详细的注释,你可以试试。


A M 100.0 //扫描条件的状态(M100.0=1条件满足,M100.0=0条件不满足)
FP M 100.1 //判断条件的上升沿
JCN END //条件的上升沿来到数据移动一次,反之跳转到END标签

LAR1 P#48.0 //装载倒数第二个数据的地址到地址寄存器1(初始化地址寄存器1)
L 25 //循环次数,数据个数减一(26-1=25)
NEXT: T LW 20 //暂存当前的循环次数
L MW [AR1,P#0.0] //装载当前地址里面的数据到ACCU1
T MW [AR1,P#2.0] //将当前ACCU1里面的数据写到高字地址里面
TAR1 //将当前地址寄存器1里面的数据写到ACCU1里面
L P#2.0 //ACCU1移到ACCU2,并将P#2.0装载到ACCU1里面
-D //ACCU2-ACCU1的差值存入ACCU1(地址递减一个字)
LAR1 //装载当前ACCU1里面的内容到地址寄存器1
L LW 20 //装载当前循环次数
LOOP NEXT //循环次数减一,跳转到NEXT标签
//当循环次数减至0时,离开循环,往下执行
END: NOP 0
佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54765条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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