回复:S7-300模拟量默认地址为啥是从256开始?

n次看你的背影

  • 帖子

    2321
  • 精华

    73
  • 被关注

    53

论坛等级:奇侠

注册时间:2008-03-11

普通 普通 如何晋级?

发布于 2011-05-29 14:14:08

18楼

呵呵Automann老兄,在下作最后一次分析,来证明QB0就是PQB0;PI/PQ(外设区)地址并不是从零开始的。当然I/Q、PI/PQ区都属于过程映像区,它们的读写原则是我们的共识!我们不能为了抓住一只老鼠,而烧掉整座房子!我们不能再消耗太多的精力了,在尊重真理、科学的基础上,求同存异吧!

Automann老兄说:“QB0、PQB0里面的值是都是99并不能能证明QB0、PQB0地址是同一个地址!这是因为后两条指令通过PQB0将数据送输出模块(立即输出)的同时,数据同时被送入QB0,而QB0的值要等到下一个扫描周期开始时才被送到输出模块。只不过我等凡胎肉眼,看不出这个时间差而已!”

Automann老兄!那么我们一起建一个新的S7-300项目,没有任何中断、OB1里面只有这四条语句,我们来分析它们一个机器周期的执行过程。
L 88 //将常数88装载到累加器1
T QB 0 //将累加器1里面的内容88传送到过程映像区QB0

L 99 //将常数99装载到累加器1,此时88被移到累加器2
T PQB 0 //将累加器1里面的内容99传送到过程映像区PQB0

此时OB1执行结束,也就是说一个程序扫描周期结束。紧接着PLC的操作系统执行刷新过程映像区(I/Q、PI/PQ);并将刷新的结果传送至模块,此时一个机器周期才结束。如果PQB0这个地址存在,那么QB0里面的值应该88,PQB0里面的值应该是99;因为在这个过程中我们只对QB0作了一次写88操作。然而我们可以在线观察到QB0=PQB0=99,也就是说,在执行
L 99
T PQB 0
过程中,还是执行写QB0的操作,很显然QB0、PQB0是同一个地址。您就是把这个程序执行n次也是这个结果。所以我个人认为:PI/PQ(外设区)地址0并不存在!PI/PQ(外设区)地址并不是从零开始编址的!

上面的文字,是在下对此贴的最终技术讨论发言,后面也就无语了,因为我并不想为了抓住一只老鼠,而烧了整座房子。
Automann老兄,如果您愿意,您今晚看完“无诚勿扰”后,依然可以请我吃宵夜!不要让您、我都感觉遗憾哦!:)
佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54761条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。