回复:关于DB块使用与M使用的区别问题

小.苹.果

  • 帖子

    101
  • 精华

    2
  • 被关注

    38

论坛等级:侠士

注册时间:2012-06-16

普通 普通 如何晋级?

发布于 2017-03-24 09:24:08

3楼

给你总结一下吧:

1------FC重复调用的时候,IN、OUT 形参对应的实参如果是DB块,那么多次调用之前会互相干扰,而实参IQM不会相互干扰

2------但是IN_OUT 形参对应的实参 DBIQM都不会干扰

3------TEMP变量不允许用来作为需要将上一次的值保留到下一次调用的情况,比如边沿状态。最好是任何时候在调用之前都对temp清零后在调用

4------FB的stat不存在TEMP的这种情况,可以随意使用。因为stat有专门的存储区

5-----FB不存在FC的这种特性,因为所有FB都有自己对应的DB。


IN  OUT  与IN_OUT不同的是,IN_OUT每次调用的时候都是先读其值,结束时在讲运行的状态值付给他,而in就是块调用的时候读取实参其值,执行完后不刷新其状态,而out就是 只在块结束最后把out形参存储区域里的值甩出去刷新out对应实参的值。

temp就是 每次执行完后并不会保存其状态,每次调用之前其值可能是任意的-----,所以用之前最好清零



至于IQM 与DB的区别 我觉得是因为IQM 都是PLC固有的烧底层程序的时候就烧到PLC的CPU里了,你可以直接访问的印象区域,而DB块是人为后建立的,其实PLC在访问DB块的时候 要先执行一个动作就是打开DB块 这一步是比I/Q/M多出来的一步。我想这里的M与DB所产生的的区别就是因为DB块需要先打开的这个特性引起的,但至于具体分析逻辑,我却不知道,估计这要开发PLC的人应该知道,跟DB块的具体运行机制有关系



努力工作学习,充实自己,为家人创造美好生活!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54618条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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