回复:FB编程疑问:间接寻址问题?

dudongdong

  • 帖子

    70
  • 精华

    0
  • 被关注

    4

论坛等级:游侠

注册时间:2014-03-02

普通 普通 如何晋级?

发布于 2015-03-25 18:52:19

6楼

出现这种情况的原因在于,STEP7在创建FB时,块属性默认是“具有多实例能力的”
所以,当我们创建的FB没有被更高级的FB调用时,即不存在“多重背景模型”的时候,AR2总是指向P#DBX0.0的,
也就是说FB的声明参数总是从DBX0.0开始定义的。但是LAR2 P##TUse这条语却使AR2指向了P#DIX5.0
那么FB的声明参数就会从DBX5.0开始定义
即你看到的
var_IN
Clear Bool 0.0实际上是从DBX5.0处定义的,那么执行
A DIX[AR2,P#0.0]后就相当于A #Clear,而不是 A TUse .0
要想A TUse.0,就得写成A DIX[AR2,P#5.0]
或者将块属性‘具有多重实例能力’的钩去掉,这样A DIX[AR2,P#0.0]就同A TUse.0一样了。
会说话、会办事、会做人
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54617条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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