回复:子程序重复调用的。。。。。

已锁定

手机用户20210508452698

  • 帖子

    191
  • 精华

    1
  • 被关注

    0

论坛等级:侠圣

注册时间:2021-05-08

普通 普通 如何晋级?

发布于 2022-11-17 09:44:59

9楼

展开查看
以下是引用不欲勿施13478405725在2022-11-17 09:42:22的发言 >8楼

这样吧,不要光说不练,无论采用任何方式,咱俩各自做一个可以重复调用的星三角程序,做完分享出来,你接招不?

以下是引用手机用户20210508452698在2022-11-17 09:32:13的发言 >4楼:倒不是一个周期内必...

引用4楼详细内容:

倒不是一个周期内必须有输出结果的子程序才能被多次调用,内部逻辑用了定时器且输出结果跟定时关联的子程序照样可以被重复调用的,关键是引脚定义要定义好,外部实参变量(包括复结构变量)赋给子程序形参(引脚)。

他这个程序中的星三角切换时间,在做子程序时不能定义为子程序的IN/OUT变量,应该定义成IN变量,子程序引脚IN/OUT实际是为了方便实参需经子程序内部处理后决定实参值的情况而设计的一个机制,星三角切换时间是外部设定值,这个值不是由子程序处理后决定的,所以应该赋到IN引脚,赋给IN/OUT引脚,如果子程序每个周期都能执行还好(比如他这个程序中的计数子程序,肯是每个周期都会被执行的,所以他也说了运行没问题),如果不是,就可能是个随机值(上电第一个扫描周期赋了初值也无济于事)。

针对你这个星三角问题,切换时间还是用定时器吧,实参定时器赋给子程序形参定时器

以下是引用不欲勿施13478405725在2022-11-16 23:41:29的发言 >2楼:我来帮楼主理清一下...

引用2楼详细内容:

我来帮楼主理清一下在不用IN/OUT脚和没有任何特别处的子程序,什么样的能重复调用,什么样的不能重复调用。

如果你的子程序在一个扫描周期内就可以有结果输出,这个子程序就可以重复调用。反之,你的子程序要多个扫描周期才能出结果,那么这个子程序就不能被重复调用。

这里只是帮楼主理清一下。

我输了,星三角控制的子程序我做不出来。

论坛怎么有嘎多奇葩的

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8940条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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