请教,关于FM450-1通道地址的问题

按照手册里写的方法,创建了UDT格式的数据块 DB1 和DB2,分别为俩通道。
再给DB1 和DB2分配模块地址和通道地址。当前模块的地址为512。

给DB1的模块地址赋值:
L        512
T       “通道1”.MOD_ADR

给DB1的通道地址赋值:
 L     P#512.0
 T     "通道1".CH_ADR
我在DB块里监控 实际的通道地址为16#1000。
请问下这个P#512.0 跟这个16#1000是怎么关联的?

最佳答案

P#512.0  是一个32 位的指针常数。
先说前面  512(十)=2#0000 0000 0000 0000 0000 0010 0000 0000
P#512.0 这个指针常数就是将上面的二进制数左移3位,则得到
P#512.0 = 2#0000 0000 0000 0000 0001 0000 0000 0000
将上面的二进制码转换为十六进制,从最右边数,每四位对应一位十六进制位
则得:
P#512.0= 16#00001000,去除前导0 ,则为 16#1000
可参考下面手册,子解指针结构。如图示的内容
https://support.industry.siemens.com/cs/document/79632832

图片说明:

请教,关于FM450-1通道地址的问题  

提问者对于答案的评价:
谢谢您。我懂了。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月30日 下午10:51
下一篇 2020年10月30日 下午10:51

相关推荐