找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
楼主,这种程序比较简单,不需要使用地址寄存器AR1,AR2,使用32位指针即可。
OPN DB1
L P#0.0
T MD0
L 100
Next:T MW4
L PIW[MD0]
T DBW[MD0]
L MD0
+ 16
T MD0
L MW4
LOOP Next
另:MOVEBLK不支持PIW区,所以不能使用。
另外,对楼上的地址寄存器AR1,AR2提点修改意见:AR2可以省略,因为AR1中的地址相同
OPN DB 1 //打开DB 1
L P#0.0 //初始读指针
LAR1
L 100 // 100个字的循环计数为初值
M001: T MB 10 //计数值 送入MB 10
L PIW [AR1,P#0.0] //按读指针指示的地址读数据
T DBW [AR1,P#0.0] //按写指针指示的地址写数据
+AR1 P#2.0 //读指针指向下一数据地址
L MB 10 //取循环计数值
LOOP M001 //循环计数值如为0则结束循环;如不为0减1后则转向标号为M001的语句,继续循环。
有关指针编程的资料请参考下载中心F0215文档:S7-300/400寻址
http://www.ad.siemens.com.cn/download/docMessage.aspx?ID=1597&loginID=&srno=&sendtime=
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!