回复:69.这个值为什么会变为300?值的副本发生了变化是什么意思?为什么读到的值就保持不变?写得值要变化?

Siemens_PLC编程精英训练营

西门子1847工业学习平台

  • 帖子

    1108
  • 精华

    0
  • 被关注

    15

论坛等级:侠圣

注册时间:2018-09-30

钻石 钻石 如何晋级?

发布于 2022-05-24 09:07:58

1楼

这个问题还是得回到值传递的原理,如果是值传递,我们可以这么理解,FB内部变量#INOUT和外部变量“MyDataBlock”.myInt是两个变量,当FB开始被调用执行时,FB内部变量#INOUT从外部变量“MyDataBlock”.myInt读取一次数值100,之后在FB程序执行过程中,#INOUT不再从外部变量“MyDataBlock”.myInt读取数值,如果对#INOUT进行读写访问,访问的都是#INOUT本身的数值,所以如果对#INOUT写入300,那么#INOUT的值就变成300。在FB执行的最后#INOUT的值会更新给“MyDataBlock”.myInt

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

PLC编程精英训练营

共有1552条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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