我这里有一段语句表编的程序,大致如下:
AR1 P##c300
L W#16#1002
T W [AR1,P#0.0]
L DW#16#4005B
T D [AR1,P#2.0]
L P#4.0
T D [AR1,P#6.0]
L B#16#89
T B [AR1,P#6.0]
LAR1 P##c400
L W#16#1002
T W [AR1,P#0.0]
L DW#16#40000
L P##c100
T D [AR1,P#6.0]
L B#16#87
T B [AR1,P#6.0]
也可以看图片1
请高手给我分析一下,这些程序是什么意思,主要实现什么功能。望指点
图片说明:
最佳答案
1、这些程序是什么意思?
这是一段指针寻址的程序,从图片中看:程序中
#c300为实际地址0.0;#c400为实际地址10.0;#c100为实际地址20.0;#c700为实际地址22.0。
上述地址开始的区域均为TEMP(临时)区L:
AR1 P##c300//初始地址指针为#c300,即0.0
L W#16#1002
T W [AR1,P#0.0]//将16进制常数1002存入LW0中
L DW#16#4005B
T D [AR1,P#2.0] //将双字长16进制常数4005B 存入LDW2中
L P#4.0
T D [AR1,P#6.0] //将地址常数P#4.0存入LDW6中
L B#16#89
T B [AR1,P#6.0] //单字节长16进制常数89存入LB6中
LAR1 P##c400//初始地址指针为#c400,即10.0
L W#16#1002
T W [AR1,P#0.0] //将16进制常数1002存入LW10中
L DW#16#40000//将双字长16进制常数40000装入累加器1中
L P##c100//将地址常数#c100(20.0)存入装入累加器1中,原累加器1中内容存入累加器2中.
T D [AR1,P#6.0] //将地址常数#c100(20.0)存入LD20.0中
L B#16#87
T B [AR1,P#6.0] //单字节长16进制常数87存入LB26中
2、主要实现什么功能?
具体的实际功能需要你自己根据完整的程序去分析,单从上述程序只能给出指令表面的意义。有关指针文档,见:
见《关于S7-300和S7-400指针寻址的说明与例程(更新版)》下载:
http://www2.ad.siemens.com.cn/Download/Upload/AS/faq/F0215.pdf
详见《step7编程之地址概念详解》连接:
http://www.plc365.com/jishu/57.html
提问者对于答案的评价:
回答的很详细
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc246139.html