MD400存着一个浮点数,为了简化程序,我想把MD400每次程序更新后的值分别存在,DB19里。
逻辑是这样的:
第一次 MD400 to DB19.DBD0
第二次 MD400 to DB19.DBD4
第三次 MD400 to DB19.DBD8
.
.
.
第N次 MD400 to DB19.DBD4*(N-1)
现在想做一个指针,指向 DB19.DBD[**指针**]。
用梯形图做的时候MOV IN:MD400 OUT:DB19.DBD[**指针**]。
输出的数据类型有误。
求哥哥们跟我说下大概思路,还有梯形图 用MOV指令把一个浮点数存入DBD里的格式。谢谢。
最佳答案
1、梯形图不支持指针间接寻址,需应用STL指令表语言编写。
2、大致程序思路:
、 程序初始指针部分:
OPN DB 19 //打开DB19
L P#0.0 //初始写指针
LAR1
、判断每次MD400被更新后:
L MD400 //读数据
T DBD [AR1,P#0.0] //按写指针指示的地址写数据
+AR1 P#4.0 //写指针指向下一数据地址
3、注意:
、如何判断 MD400被更新?
、 DB 19的长度必须定义得足够大,否则会出错的。
4、建议你看看下述资料,这个问题就不求人了:
、《关于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=
提问者对于答案的评价:
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc192519.html