找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
可以调用系统功能块SFC20来实现:
1、SFC20 :
SFC20 “BLKMOV”:复制存储区域,可将存储器区(= 源区域)的内容复制到另一个存储器
区(= 目标区域)。
2、有关SFC20:
、以下为允许的源区域:
部分数据块
存储位
输入的过程映像分区(部分过程映像)
输出的过程映像分区(部分过程映像)
、不允许指定 STRING类型的数组。
3、应用SFC20注意:
源区域与目标区域一定不可以交叉。如果指定的目标区域大于源区域,此功能只将
源区域中包含的数据复制到目标区域。
如果指定的目标区域小于源区域,则只复制目标区域中能容纳的数据。
如果已用STEP 7在数据块或本地数据区中定义了源和目标字符串,并要在SRCBLK
和DSTBLK参数中使用这些字符串,SFC20也会将源字符串的“最大长度”和“实际长
度”发送到目标字符串。为了防止发生这种情况,请自行创建在SRCBLK和DSTBLK
参数中使用的ANY指针。请使用STRING数据类型完成此操作。
4、应用循环语句也很简便:
例:
L P#-0.0 //初始读指针
LAR1
L P#-0.0 //初始写指针
LAR2
L 75 // 75个双字的循环计数为初值
M001: T MB 10 //计数值 送入MB 10
OPN DB 0 //打开DB0
L DBD [AR1,P#0.0] //按读指针指示的地址读数据
OPN DB 1 //打开DB1
T DBD [AR2,P#0.0] //按写指针指示的地址写数据
+AR1 P#4.0 //读指针指向下一数据地址
+AR2 P#4.0 //写指针指向下一数据地址
L MB 10 //取循环计数值
LOOP M001 //循环计数值如为0则结束循环;如不为0减1后则转向标号为M001的语句,继续循环。
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
专家置评
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城