官方的例子,在这一段:
L 320
T MD 28
文档只是注释说将整形数320转换为字节指针为p#40.0,但是实际程序中并没有这一步,是不是应该这样:
L 320
SLD 3
T MD 28
或者
L 320
L 8
*I
T MD 28
图片说明:
最佳答案
官方的例子没有错,对于十进制数320,如果要形成p#40.0就不能再左移3位了。
1、十进制数320,将其看为32为指针时为:十进制数320为十六进制的140,即:
当作为双字指针时,就应该按照3-18bit指定byte,0-2bit指定bit来确定最终指令要操作的地址
0000 0000 0000 0000 0000 0001 0100 0000 为指针p#40.0。
2、注意什么是需要左移3位(乘以8)?
、如果要形成p#40.0,直接取十进制数40时,需要左移3位后形成地址指针,例如:
L 40
SLD 3
T MD 28
、如果要形成p#40.0,而十进制数320,已是十进制数40的8倍了,即已为地址指针了,就不能再左移3位了。
3、见建议看看:
见《关于S7-300和S7-400指针寻址的说明与例程(更新版)(2008.03.04) 》下载:
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=F0215
详见《step7编程之地址概念详解》连接:
http://ishare.iask.sina.com.cn/f/22746895.html
http://www.gongkong365.com/bbs/job.php?action=download&aid=96
提问者对于答案的评价:
牛逼
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc235125.html