找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
OPN DB 2601
L MD 980
SLD 3
T MD 984
LAR1 MD 984
L DB9.DBD0
T DBD [AR1,P#0.0]
L DB9.DBD4
T DBD [AR1,P#4.0]
下载,监视,发现DB9.DBD0和DBD4的数据并没有传送到DB2601相应的双字中。
后来修改一下
L DB9.DBD0
T MD972
L DB9.DBD4
T MD976
OPN DB 2601
L MD 980
SLD 3
T MD 984
LAR1 MD 984
L MD972
T DBD [AR1,P#0.0]
L MD976
T DBD [AR1,P#4.0]
可以按预想的传送数据了。
以上,为何不能将DB块数据直接赋值给间接地址,是不是有什么使用限制
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
你所看到的不是使用限制,而是理解不正确。
1、严格地说,两段程序都有问题,不够严谨。当然这与你的问题不相关。
第一段,第 1 行语句,MD988 的初值在什么时候赋值的?
第二段,第 6 行语名,MD980 的初值在什么时候赋值的?
2、第一段传送不成功主要的问题
第5行打开了 DB2601
第10行又装载了 DB9.DBD0 此时数据块寄存器隐式指定的是 DB9,那后面的传送类操作就对DB9操作。
3、第二段,
你是用前面的4个语句先将DB9中的源数据做了转存,然后第5行打开的是 DB2601 那后面的传送类操作就对DB2601操作。
4、像这样的传送如果对两个数据块操作,可以使用 DB 数据块寄存器、DI 数据块寄存器,分别指向两个数据块。
这个链接中的实例是可以用来参考的,上手试试
https://support.industry.siemens.com/cs/document/79632832
《西门子STL间接寻址常问问题集》中章节 1.3 STEP 7 中哪些操作会覆盖DB/DI寄存器或者地址寄存器AR1/AR2的内容?,你看一下
https://support.industry.siemens.com/cs/cn/zh/view/76492353
1500 的 STL 间接寻址可以用 300/400 的资料参考
1500 间接寻址
http://www.ad.siemens.com.cn/productportal/prods/published/Prog/Prog_2.4/Prog_2.4.html
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
专家置评
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城