对寄存器间接寻址看了好多资料都没看明白,希望能帮我用通俗的语言说说吗?现在有段程序大概意思懂,就是不明白这样做的道理和意思
LAR1 P##Source
LAR2 P##Target
//?
L B#16#10 // Load the syntax ID
T LB [AR1,P#0.0]
T LB [AR2,P#0.0]
L B#16#2 // Load data type Byte
T LB [AR1,P#1.0]
T LB [AR2,P#1.0]
L #ByteLen // Load 10 bytes
T LW [AR1,P#2.0]
T LW [AR2,P#2.0]
//Source
L #sDbNum // Source DbNum
T LW [AR1,P#4.0]
L P#DBX 0.0
L #sAddress // StartAddress
SLD 3
L P#DBX 0.0 // Because P#0.0 <> P#dbx0.0
+D
T LD [AR1,P#6.0]
// Target
L #dDbNum // Target DbNum
T LW [AR2,P#4.0]
L #dAddress // TargetAddress
SLD 3
L P#DBX 0.0 // Because P#0.0 <> P#dbx0.0
+D
T LD [AR2,P#6.0]
//?
CALL "BLKMOV"
SRCBLK :=#Source
RET_VAL:=#RetVal
DSTBLK :=#Target
P#0.0 1.0 4.0 6.0到底代表什么东西啊,怎么理解呀?还有
L B#16#10 // Load the syntax ID
T LB [AR1,P#0.0]
T LB [AR2,P#0.0]
L B#16#2 // Load data type Byte
T LB [AR1,P#1.0]
T LB [AR2,P#1.0]
B#16#10 B#16#2什么的都不明白含义呀,能结合以上例子解释一下吗
最佳答案
先请楼主看看:
《S7-300/400PLC ANY指针使用详解》连接:
http://blog.sina.com.cn/s/blog_669692a601019hvt.html
LAR1 P##Source//将源地址存入AR1
LAR2 P##Target//将目标地址存入AR2
L B#16#10 // 装入索引ID ,即一个字节的十六进制数10
T LB [AR1,P#0.0]//将索引ID10送人源地址+0偏移量为地址的LB中
T LB [AR2,P#0.0] /将索引ID10送人目标地址+0偏移量为地址的LB中
L B#16#2 // 装入数据类型,即一个字节的十六进制数2
T LB [AR1,P#1.0] // 将数据类型送人源地址+1.0偏移量为地址的LB中
T LB [AR2,P#1.0] // 将数据类型送人目标地址+1.0偏移量为地址的LB中
L #ByteLen // 装入字节长度
T LW [AR1,P#2.0] // 将字节长度送人源地址+2.0偏移量为地址的LW中
T LW [AR2,P#2.0] // 将字节长度送人目标地址+2.0偏移量为地址的LW中
……….。
1、 P#0.0 1.0 4.0 6.0到底代表什么东西啊,怎么理解呀?
这些都是地址的偏移量。例如:
LAR1 P#128.0 //初始读指针
LAR2 P#0.0 //初始读指针
L PIW [AR1,P#2.0] //128.0+2.0=130.0,即取PIW130.0。
T DBW [AR2,P#4.0] //0.0+4.0=4.0,即输入DBW4中。
2、楼主程序的前部分,执行后形成两个ANY的参数(见《S7-300/400PLC ANY指针使用详解》),即:
源与目标:
地址0:索引ID10;地址+1:数据类型;地址+2:字节长度。
2、 B#16#10 B#16#2什么的都不明白含义呀
这是数据类型,例如,B#16#10 表示以字节为单位(8位二进制)表示的十六进制数10.。
请楼主看看:
《S7-300/400PLC ANY指针使用详解》连接:
http://blog.sina.com.cn/s/blog_669692a601019hvt.html
3、 建议看看有关数据类型的文档:
见《S7-300的数据类型》其中,8、常数的表示方法。连接:
http://blog.gkong.com/more.asp?name=zhyo720211&id=2005
《Step 7 Elementary Data Types》:
http://www.plcdev.com/step_7_elementary_data_types
4、有关地址指针的用法,例如程序中 SLD 3指令的具体的作用。请见:
详见《step7编程之地址概念详解》连接:
http://www.plc365.com/jishu/57.html
见《关于S7-300和S7-400指针寻址的说明与例程(更新版)(2008.03.04) 》下载:
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=F0215
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc240951.html