当前位置: 主页 > PLC控制

梯形图和指针

MD400存着一个浮点数,为了简化程序,我想把MD400每次程序更新后的值分别存在,DB19里。
逻辑是这样的:
第一次MD400toDB19.DBD0
第二次MD400toDB19.DBD4
第三次MD400toDB19.DBD8
.
.
.
第N次MD400toDB19.DBD4*(N-1)

现在想做一个指针,指向DB19.DBD[**指针**]。

用梯形图做的时候MOVIN:MD400OUT:DB19.DBD[**指针**]。
输出的数据类型有误。

求哥哥们跟我说下大概思路,还有梯形图用MOV指令把一个浮点数存入DBD里的格式。谢谢。

最佳答案

1、梯形图不支持指针间接寻址,需应用STL指令表语言编写。
2、大致程序思路:
、程序初始指针部分:
OPNDB19//打开DB19
LP#0.0//初始写指针
LAR1
、判断每次MD400被更新后:
LMD400//读数据
TDBD[AR1,P#0.0]//按写指针指示的地址写数据
+AR1P#4.0//写指针指向下一数据地址
3、注意:
、如何判断MD400被更新?
、DB19的长度必须定义得足够大,否则会出错的。
4、建议你看看下述资料,这个问题就不求人了:
、《关于S7-300S7-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=

提问者对于答案的评价:

专家置评

已阅,最佳答案正确。

  • 关注微信

猜你喜欢

微信公众号