回复:第二阶段学习中关于“引用”的问题请教

俞清洲

版主

  • 帖子

    692
  • 精华

    0
  • 被关注

    12

论坛等级:侠圣

注册时间:2016-05-19

钻石 钻石 如何晋级?

发布于 2024-06-01 12:24:17

1楼

对于问题1,是一件水到渠成的事情,需要时间和经验,而且需要把Variant数据类型用熟,早期只要了解规则就可以了,程序折腾多了就能驾驭了。这里解释一下使用引用的意义:首先是符号访问更方便,节省语句的数量。另外,能节省L区的空间占用,通常是在标准化编程时配合Variant参数类型使用。没有开放引用功能时,使用Variant参数类型时,需要在L区构建数据存储区中转实参数据,使用了引用后,可以直接去实参的存储区访问,在L区只是保存个地址标签,不保存实际数据,所以能省下L区存储空间。对于CPU的全部资源,偶尔用几处引用不会有明显影响,基本可以忽略了,而对于那些大量的使用标准化编程,大量的使用Variant参数类型的项目才能体现意义。而对于大型项目,标准化编程是大势所趋,可以更有效的使用L区空间,编程也更顺手。

对于问题2,引用类型指的是块调用时传递的是地址标签,值类型指的是传递的是实际的数据。调用FB时要使用实例数据块,也就是IDB,值传递就是把这些值保存到IDB中,执行FB的代码时,访问参数变量,实际访问的就是IDB中的数据,打开IDB,就能看到这些参数,在线监视都能看到实际传递的数据值。但是对于数组、结构体等复杂数据类型,如果同时还是InOut参数,就不是值类型了,是引用类型,就是在IDB中只保存地址标签,相当于一个指针值,没有实际数据,打开IDB监视不到实参的数据值,这就是引用类型。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

PLC编程精英训练营

共有1542条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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