找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
LD SM0.0
MOVD &VB0, VD20 //将VB0开始的初始的地址(vw0)放到VD20
FOR VW14, 1, 2 //循环2次
+I *VD20, VW12 //将VD20指向的地址内的数据(vw0)与VW12相加,结果放到VW12
+D 2, VD20 //递增一个字节
NEXT
输出为300吗????????
本程序是我看网上高手改的 不知道对不对 因暂时无PLC测试 还请高手先详解下 感觉西门子的指针和C指针有区别 知道的按我的格式解释下呀
+D 2, VD20 //这里地址是VB2的 还是vw2的 (为什么)
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
LD SM0.1
MOVW 300, VW0
MOVW 0, VW2
MOVW 0, VW12 //上电以上初始化赋值
LD SM0.0
MOVD &VB0, VD20 //间接寻址将VB0开始的初始的地址(16#08000000)放到VD20,. VD20的值是134217728.
FOR VW14, 1, 2 //循环2次。
+I *VD20, VW12 //将VD20指向的地址内的数据(vw0)与VW12相加,结果放到VW12
+D 2, VD20 //循环一次&VB0+2,结果放到VD20.
NEXT
输出为300吗????????不是,下面是我联机监控的数据。
VD20是134217732,VW12是65535,来回跳动。如果修改FOR VW14, 1, 3 后,VD20是134217734.如果修改FOR VW14, 1, 5 后,VD20是134217738.
<S7-200 可编程控制器系统手册>下载:
http://www2.ad.siemens.com.cn/download/Upload/AS/manual/1017[2].pdf
补充回答:MOVD &VB0, VD20 // 这里用&VW0有什么区别,&VW0的间接寻址是VB0了,VB0的值是1。和&VB0区别很大,&VB0的值是16#08000000。
+D 2, VD20 //这里地址是VB2的 还是vw2的 (为什么)都不是,是间接寻址将VB0开始的初始的地址(16#08000000)放到VD20也就是这个MOVD &VB0, VD20 指令执行后的数据,VD20是134217728.执行+D 2, VD20后,结果VD20是134217732。
手册的解释和这个有很大出入。
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
专家置评
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城