回复:如何快速传送的批量性存储区变量?

n次看你的背影

  • 帖子

    2321
  • 精华

    73
  • 被关注

    53

论坛等级:奇侠

注册时间:2008-03-11

普通 普通 如何晋级?

发布于 2013-04-19 19:59:44

3楼

quote:以下是引用ujsqmz在2013-04-19 14:58:42的发言:
最近一段程序上,犯了难题。想一次性传送大量的变量数据,但感觉一个一个的使用MOVE指令,非常的麻烦。
举个例子吧,想把PIW200为起始,到PIW296的连续数据,传送到MW500为起始的变量存储区内,想问问如何批量性传送,可以不一条一条的使用MOVE指令?


楼主,类似的问题,刚好以前为一个坛友出过主意,你也许可以参考一下。为了提高程序的循环效率,96个字节刚好是24个双字,循环24次就好了。300PLC外设地址一般从256开始的,我就从PIW300到PIW396举例吧!


LAR1 P#0.0 //初始化地址寄存器1
L 24 //循环次数(数据个数)
NEXT: T LW 20 //存储当前的循环次数
L PID [AR1,P#300.0] //装载当前PID地址里面的数据到ACCU1
T MD[AR1,P#500.0] //将当前ACCU1里面的数据写到M区当前的地址里面
+AR1 P#4.0 //地址寄存器1的内容加P#4.0(地址向前递增一个双字)
L LW 20 //装载当前循环次数
LOOP NEXT //循环次数减一,跳转到NEXT标签
//当循环次数减至0时,离开循环,往下执行
佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54651条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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