找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
本人认为楼主所给的程序有问题,应该为:
L MD0 //将MB0改为MD0,应该为双字长。理由见下述解释。
T #TEMP0//如果#TEMP0(必须双字长)中为27
A L[#TEMP0]
=M100.0 //即当L 3.3置位,则M100.0置位。
1、关于间接寻址:
这是间接寻址:间接寻址就是间接的给出指令的确切操作数。存储器间接寻址具有两个指针格式:单字和双字。
单字指针是一个16bit的结构,从0-15bit,指示一个从0-65535的数值,这个数值就是被寻址的存储区域的编号。
双字指针是一个32bit的结构,从0-2bit,共三位,按照8进制指示被寻址的位编号,也就是0-7;而从3-18bit,共16位,指示一个从0-65535的数值,这个数值就是被寻址的字节编号。
因此就本程序来讲,#TEMP0必须是双字(所以要用MD0来传送)。
2、上述程序问题:
L 是临时变量,只在本程序段内有效。
A L 10.0
=M100.0
如果要达到上述指令的效果,#TEMP0必须是双字(所以要用MD0来传送),因为需要形成带有字节与位编号的地址。
例如赋值为十进制27时,换算方法:
1、十进制27为十六进制的1B,即0001 1011.
2、32bit的结构:0000 0000 0000 0000 0000 0000 0001 1011;从0-2bit,共三位,按照8进制指示被寻址的位编号,则为3。而从3-18bit,共16位,这个数值就是被寻址的字节编号,则为3。
3、位编号为3,字节编号为3。这样,即形成地址3.3.
4、A L[#TEMP0]则等价于,A L3.3。
5、相关文档:
见《关于S7-300和S7-400指针寻址的说明与例程(更新版)(2008.03.04) 》下载:
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=F0215
详见《step7编程之地址概念详解》连接:
http://www.plc365.com/jishu/57.html
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
专家置评
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城