西门子PLC数据段传输
郑志武
发布于2012-12-19 23:44
2
0
标签:
想将一段区域的数据整体复制到另外一段数据内,应该怎么用指针实现啊,比方说piw0--piw100传到db1.dbw0--db1.dbw100怎么写!
佳答案
这种程序比较简单,不需要使用地址寄存器ar1,ar2,使用32位指针即可。
opndb1
lp#0.0
tmd0
l100
next:tmw4
lpiw[md0]
tdbw[md0]
lmd0
+16
tmd0
lmw4
loopnext
另:moveblk不支持piw区,所以不能使用。
另外,对楼上的地址寄存器ar1,ar2提点修改意见:ar2可以省略,因为ar1中的地址相同
opndb1//打开db1
lp#0.0//初始读指针
lar1
l100//100个字的循环计数为初值
m001:tmb10//计数值送入mb10
lpiw[ar1,p#0.0]//按读指针指示的地址读数据
tdbw[ar1,p#0.0]//按写指针指示的地址写数据
+ar1p#2.0//读指针指向下一数据地址
lmb10//取循环计数值
loopm001//循环计数值如为0则结束循环;如不为0减1后则转向标号为m001的语句,继续循环。
有关指针编程的资料请参考下载中心f0215文档:s7-300/400寻址
https://www.ad.siemens.com.cn/download/docmessage.aspx?id=1597&loginid=&srno=&sendtime=