回复:【万泉河】重新发现FB块之INOUT

看雪001

  • 帖子

    2417
  • 精华

    87
  • 被关注

    232

论坛等级:至圣

注册时间:2012-04-25

钻石 钻石 如何晋级?

发布于 2018-08-09 14:29:22

16楼

展开查看
以下是引用伊默在2018-08-07 11:43:17的发言 >15楼

确定 对于FC来说,一个接口类型“IN”在STL编程环境下既可以读也可以写操作,够了  ???

这真是颠覆了我十几年的认知啊! 


IN :在调用开始时, 从实参复制到形参

OUT : 在调用结束时, 从形参复制到实参

IN_OUT : 在调用开始时, 从实参复制到形参;在调用结束时, 从形参复制到实参


难道不是这个规律么?

而对于IN,假设实参为指针, 那么调用开始的时候传递的是指针, 在块内对指针指向的寄存器进行了操作。 这样即使在块结束后没有形参到实参的输出,但是指针指向的寄存器已经操作了。这就有点类似"IN_OUT"的效果了... ...


我做的试验如下:

1,新建FC8,FC8新建IN接口“IN0 INT”

 

 

 2,在OB1中调用FC8,赋实参“MW70”——》#IN0,

 

 MW70可读写!

但同样的程序在FB中,MW70是不能写的,这必须由背景数据块再赋值给保留的接口,这引发一个问题:有必要在FB接口再填写实际参数吗?

大道至简,知易行难
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3364条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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