当前位置: 主页 > PLC控制

请教大家个指针寻址的问题?

这是一个通讯块里程序
LP##Send_PZD1通信本地数据第一个地址,DB21.DBW44.0
SRD3
T#Addr_PZD_Block存放地址(整型)
请问#Addr_PZD_Block存放的是44吗?还是其他呢?还有装载指针后,ACCU1里内容是什么?谢谢!

最佳答案

1、首先要熟悉指针格式:
、指针AR格式: 
 10000YYY00000BBBBBBBBBBBBBBBBXXX 
这里的第31bit被固定为1,同时,第24、25、26位有了可以取值的范围。bit24-26的取值确定了要寻址的区域,它的取值是这样定义的:  DB(数据块)为 100 。
其中XXX(指定bit位)表示:指定bit位。3-18bit指定byte字节。
 例如:当AR=840000D4(hex)=10000100000000000000000101100000(b),实际上就是等于DBX44.0。 
2、程序:
LP##Send_PZD1//.DBW44.0装入ACC1
SRD3//将ACC1右移3位。
T#Addr_PZD_Block存放地址(整型)
如果ACC1为10000100000000000000000101100000(b),
ACC1右移3位后为00010000100000000000000000101100(b)。
如果变量#Addr_PZD_Block为整型(16位),T#Addr_PZD_Block指令将ACC1的低16位装入变量#Addr_PZD_Block中,此时其为0000000000101100(b),即十进制的44。
ACC1右移3位后为00010000100000000000000000101100(b)。
2、如果进一步要熟悉指针寻址见:
、《STep7编程之地址概念详解》连接
htTP://wenku.baidu.com/view/b2b4d3375a8102d276a22fd3.html

http://www.chinakong.com/rencai/disp.ASp?id=1633&leibie=4
、《西门子STL间接寻址常问问题集》
http://www.ad.siemens.com.cn/download/docMessage.aspx?
ID=6175&loginID=&srno=&sendtime=

提问者对于答案的评价:
谢谢阿鸣大师!

  • 关注微信

猜你喜欢

微信公众号