找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
1、
语法没有问题,逻辑有问题,可能不是你想要的结果。
当外循环第一执行时 Temp_2 = 5
此时当内循环第一次执行时 Temp_1 = 7,此时 将DB2.DBB7 赋值给 DB2.DBB5
此时当内循环第二次执行时 Temp_1 = 8,此时 将DB2.DBB8 赋值给 DB2.DBB5
当外循环第二执行时 Temp_2 = 6
此时当内循环第一次执行时 Temp_1 = 7,此时 将DB2.DBB7 赋值给 DB2.DBB6
此时当内循环第二次执行时 Temp_1 = 8,此时 将DB2.DBB8 赋值给 DB2.DBB6
最后的结果是,DB2.DBB5、DB2.DBB6、DB2.DBB8 的值都是 DB2.DBB8 的值
2、你是想将 DB2.DBB7、DB2.DBB8 平移到 DB2.DBB5、DB2.DBB6 的话,那就用一个循环就可以。代码如下,可复制
FOR #Temp_1 :=5 TO 6 DO
POKE(area:=16#84,
dbNumber:=2,
byteOffset:=#Temp_1,
value:=PEEK(area:=16#84,
dbNumber:=2,
byteOffset:=#Temp_1+2));
END_FOR;
如附图
3、资料
http://www.ad.siemens.com.cn/productportal/Prods/S7-1200_PLC_EASY_PLUS/07-Program/03-instruction/03-Address/03-PEEK_POKE.html
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!