本人以前做西门子200较多 通讯 模拟量 间接寻址 for循环都用过 ,最近有项目需要用到西门子300,看间接寻址的手册看得有点迷糊了 ,请大师们'给指点指点,有例子的话就感激不尽了 谢谢
最佳答案
1、建议系统看看:
、《关于S7-300和S7-400指针寻址的说明与例程(更新版)(2008.03.04) 》下载:
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=F0215
、《step7编程之地址概念详解》连接:
http://ishare.iask.sina.com.cn/f/22746895.html
http://www.gongkong365.com/bbs/job.php?action=download&aid=96
、《西门子STL间接寻址常问问题集》
http://www.ad.siemens.com.cn/download/docMessage.aspx?
ID=6175&loginID=&srno=&sendtime=
2、实例:
典型的循环语句编程:
1. 将PIW128- PIW147,共20个字送入DB10中
在OB1:
OPN DB 10 //打开DB 10
L P#128.0 //初始读指针
LAR1
L P#0.0 //初始写指针
LAR2
CALL FC 100
2. 将PIW256- PIW275,共20个字送入DB20中
OPN DB 20 //打开DB 20
L P#256.0 //初始读指针
LAR1
L P#0.0 //初始写指针
LAR2
CALL FC 100
建立一FC块:
在FC100:
L 20 // 20个字的循环计数为初值
M001: T MB 10 //计数值 送入MB 10
L PIW [AR1,P#0.0] //按读指针指示的地址读数据
T DBW [AR2,P#0.0] //按写指针指示的地址写数据
+AR1 P#2.0 //读指针指向下一数据地址
+AR2 P#2.0 //写指针指向下一数据地址
L MB 10 //取循环计数值
LOOP M001 //循环计数值如为0则结束循环;如不为0减1后则转向标号为M001的语句,继续循环。
提问者对于答案的评价:
谢谢 还希望以后多多指教
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc236656.html