回复:分享个数组求和的自定义库

跃溪

  • 帖子

    252
  • 精华

    0
  • 被关注

    4

论坛等级:侠士

注册时间:2020-03-28

钻石 钻石 如何晋级?

发布于 2025-06-12 18:05:01

13楼

展开查看
以下是引用芳季在2025-06-12 15:37:40的发言 >12楼

什么通讯有本事检索L区的值啊?而且是能够侦测到正在调用指定的子程序的指定调用的时候去检索L区。就指定的子程序:是说plc有很多子程序,之中的求和子程序。

指定调用:是说求和子程序在程序中被不同地方调用过很多次,而其中的关于AIW48这个的调用。

就连plc自己本身,除了正在调用的子程序之外,都没有任何可能得知本次调用中的L值。L地址也没有提供地址给通讯去访问。试问,什么通讯这么牛逼能检索L区的值?

你这个L一旦输出到V区,说明这次调用已经结束。结束才写出去一次。上一次的写也就是上次的调用结束。中间并没有再次赋值。

你好好斟酌一番了。

看看是不是我们之间谁一直误会了些什么?

简化一下,我们争议的是不是 OUT  是最后整个子程序执行完才赋值给外部接口?还是 在计算过程中赋值?


你的理解是,OUT 就像C语言的返回值一样,在函数最后的Return中返回出去。

我的理解是,IN 和 OUT 类似C语言的函数参数,函数参数分 传值调用 和 引用调用, 引用调用是通过的指针的方式传递,改变形参的值就是改变实参的值,比如这里如果我们OUT(LW6)接的是VW0,那LW6改变的同时,VW0也会跟着变,如果外部设备在计算过程中读取了VW0,可能读到的就是一个临时数值。

我认为 OUT 是引用调用的可能性非常高,如果是传值调用,那它自己得建一个临时变量作中间值,不太合理,但也只是我的推测,我也很难验证。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9026条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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