回复:2台泵开启调用FC块同时动作问题

youhm

  • 帖子

    4924
  • 精华

    81
  • 被关注

    51

论坛等级:至圣

注册时间:2008-06-28

普通 普通 如何晋级?

发布于 2012-06-29 18:08:42

1楼

O #relayrqjidianq
问题就在这里,当#relayrqjidianq的实参是一个绝对地址引用的DB块数据时,这个形参#relayrqjidianq将用一个临时变量来处理这个参数,做为一个OUT参数,块开始执行不会读取实参到形参里,所以这个临时变量就没有被赋值,所以当你的输入实参是一个绝对地址引用的DB块数据时,这条指令就违背了临时变量先赋值后使用的原则,因为系统很多时候临时变量区域是重叠使用的,所以临时变量要先赋值后使用,不然就会引起错误。
如何避免这个问题呢?
1.可以使用IN_OUT替换OUT,因为IN_OUT在块开始时会读入实参到形参,所以临时变量也就被赋值了
2.可以用OPN指令先打开数据块,在参数输入DBXx.y这样的数据,或者是其他区域M、Q等,因为这些做为实参时是直接访问实参地址,而不会使用临时变量
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54764条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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