用博途v12给S7-1200编程,想复制某个DB块中的一段连续数据区到某个连续的io域,应该用什么指令?应该怎么做?我试move_BLK指令好像不行,它只接受array的搬移
最佳答案
1、使用SFC20“BLKMOV”复制存储区域可以呀。它只接受array的搬移?DB块中的一段连续数据区就是array呀。有关SFC20“BLKMOV”的用法见:
<S7-300400的系统软件和标准功能>下载:
htTP://www.ad.siemens.com.cn/download/SearchResult.ASpx?searchText=1023
2、给你一个循环程序:例:
将DB20*20个字送入PIW256-PIW275,
OPNDB20//打开DB20
LP#0.0//初始读指针
LAR1
LP#256.0//初始写指针
LAR2
L20//20个字的循环计数为初值
M001:TMB10//计数值送入MB10
LDBW[AR1,P#0.0]//按读指针指示的地址读数据
TPIW[AR2,P#0.0]//按写指针指示的地址写数据
+AR1P#2.0//读指针指向下一数据地址
+AR2P#2.0//写指针指向下一数据地址
LMB10//取循环计数值
LOOPM001//循环计数值如为0则结束循环;如不为0减1后则转向标号为M001的语句,继续循环。
提问者对于答案的评价:
我用LAD编程,对回答内容还需要学习测试
专家置评
建议使用SCL的peek、poke指令来做。