请教有关P#DBn.DBX x.y地址常数问题

P#DBn.DBX x.y地址常数,例如P#  DB1.DBX0.0 ,这是指针型48位寻址。
但在下述文档中在介绍32位寻址时,例举了例如P#  DB1.DBX0.0 。这个用意何在?没有看明白。是本人没有看明白,还是下述这篇文档该丢扔进废纸篓里?!
哪位朋友看看明白了讲讲:介绍32位寻址时,为什么例举了例如P#  DB1.DBX0.0?
从下述文档中是这样写的。并请看截取的图片。
《关于S7-300和S7-400指针寻址的说明与例程(更新版)》其中第17、第18页:
http://www2.ad.siemens.com.cn/Download/Upload/AS/faq/F0215.pdf

图片说明:

请教有关P#DBn.DBX x.y地址常数问题    请教有关P#DBn.DBX x.y地址常数问题   

最佳答案

阿鸣老师:我个人意见,文档中的举例不是太合适,理由如下:
试问:按照32位交叉区域寄存器寻址的定义格式,就对于P#DB1.DBX0.0来说:
0-18位就不用说了,代表具体地址0.0;
19-23位未定义;
24-26为100,代表存储区域为DB区;
27-30位未定义;
31位为交叉区域指针标志位;
那么,可曾说明哪几位代表了具体的DB区的编号呢?没有。所以,对于32位指针来说,要完整表达DB1.DBX0.0的地址,是无能为力的。

所以,要使用的话,只能先打开DB块。
如:
OPN DB1
L P#DBX0.0
LAR1

提问者对于答案的评价:
就被本问题询问了几位资深的用户精英,均表示这个文档在描述32位指针时例举了P#  DB1.DBX0.0 绝对是不合适的。又反映西门子含有描述不当的文档、手册还有一定数量的。记得前些时候,西门子开展了一次纠错有奖活动。希望西门子及时、彻底地更新常用的手册、文档,以免像我们这样用户中招。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc242650.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 下午10:05
下一篇 2018年12月1日 下午10:06

相关推荐