这是一个 通讯块里的程序,
L P##Send_PZD1 通信本地数据第一个地址,DB21.DBW44.0
SRD 3
T #Addr_PZD_Block 存放地址(整型)
请问#Addr_PZD_Block 存放的是44吗?还是其他呢?还有装载指针后,ACCU1里内容是什么?谢谢!
最佳答案
1、首先要熟悉指针格式:
、指针AR格式:
1000 0YYY 0000 0BBB BBBB BBBB BBBB BXXX
这里的第31bit被固定为1,同时,第24、25、26位有了可以取值的范围。bit24-26的取值确定了要寻址的区域,它的取值是这样定义的: DB(数据块)为 100 。
其中XXX(指定bit位)表示:指定bit位。3-18bit指定byte字节。
例如:当AR=840000D4(hex)=1000 0100 0000 0000 0000 0001 0110 0000(b),实际上就是等于DBX44.0。
2、程序:
L P##Send_PZD1 // .DBW44.0装入ACC1
SRD 3//将ACC1右移3位。
T #Addr_PZD_Block 存放地址(整型)
如果ACC1为1000 0100 0000 0000 0000 0001 0110 0000(b),
ACC1右移3位后为0001 0000 1000 0000 0000 0000 0010 1100(b)。
如果变量 #Addr_PZD_Block为整型(16位),T #Addr_PZD_Block 指令将ACC1的低16位装入变量 #Addr_PZD_Block中,此时其为0000 0000 0010 1100(b),即十进制的44。
ACC1右移3位后为0001 0000 1000 0000 0000 0000 0010 1100(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=
提问者对于答案的评价:
谢谢阿鸣大师!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc126101.html