| «上月 | 12年1月 | »下月 | ||||
|---|---|---|---|---|---|---|
| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 | ||||
心情日历
最新日志
最新评论
最新回复
友情链接
站点信息
blog名称:PLC提高ZONE
日志总数:1
评论数量:2
留言数量:0
访问次数:1963
建立时间:2010年9月3日
日志总数:1
评论数量:2
留言数量:0
访问次数:1963
建立时间:2010年9月3日
S7-300400间接寻址的问题:
要写一段程序实现这样的功能,在存储器中存储事先编 好的程序中要用到的数据的地址,然后将这些地址从存储器中取出来,间接寻址取数如下:MD20中存储的是DB1.DBX1.0为起始地址的数据的地址,用间接寻址来取DB1中的数据放到MD40中,遇到了以下问题
1,OPN DB1
L MD20 //MD20=84000008(DB1.DBX1.0)
LAR1
L W[AR1,P#0.0]
T MW40
以上程序我用PLCSIM仿真,一RUN,SF亮,我开始以为是程序错误,后来我看了一下诊断缓冲区
原来是所寻址地址不可用,我一想,一开机MD20=0这样的地址肯定不可用了,于是我在OB100将MD20赋值为84000008,问题解决
2,我将DB1.DBW0写入78,但MW40中为7800,不解,于是我想了想,84000008代表的地址是DB1.DBX1.0所以 L W[AR1,P#0.0]取的其实是DB1.DBW1的数据所以为7800
==============================
点击此处阅读全文
hxinstar 2010/9/3 16:40:31 | 阅读全文(486) | 回复(2)
9 1 :
