回复:200 Smart PLC子程序调用

--意孤行

  • 帖子

    517
  • 精华

    7
  • 被关注

    48

论坛等级:奇侠

注册时间:2016-12-16

普通 普通 如何晋级?

发布于 2019-09-18 11:30:21

10楼

展开查看
以下是引用--意孤行在2019-09-18 09:17:52的发言 >9楼

 你要是觉得具体那点是错误的可以讨论验证嘛,不用一下把论坛其他人分享的经验否定了吧


还有SMART  PLC 常规只有 临时变量,没有静态变量,当子程序需要用到静态变量时就要参数传递(类似300系列plc FC的INOUT 变量),例如楼主说的上升沿指令(两个扫描周期才能判断为沿指令)。


以下是引用--意孤行在2019-09-18 07:01:03的发言 >8楼:看一下论坛里面关于s...

引用8楼详细内容:

看一下论坛里面关于smart plc 关于子程序多次调用的方法吧,临时变量先赋值后使用的常规问题不说了。

只针对SMART PLC  同一级别调用的子程序使用同一个L区,这个验证出来的,不用怀疑。

子程序中临时变量子程序调用多少次也不会干扰     这个问题是针对 smart PLC的   不干扰的方法看看面连接。

   

http://www.ad.siemens.com.cn/club/bbs/post.aspx?b_id=3&b_sid=0&a_id=1207229&s_id=0&num=0#anch

http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=977362&b_id=3&s_id=0&num=40#anch

http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1026757&b_id=3&s_id=0&num=33#anch


以下是引用sangshunyang在2019-09-17 21:55:33的发言 >7楼:别误导人,子程序中...

引用7楼详细内容:

别误导人,子程序中临时变量子程序调用多少次也不会干扰,临时变量只在调用的子程序中起作用。

写程序变量作用域,变量的生命周期这个需要非常清楚。

以下是引用--意孤行在2019-09-17 17:08:40的发言 >2楼:两次调用子程序,...

引用2楼详细内容:

两次调用子程序,其实用的是同一个L区,临时变量相互干扰的

论坛里面有相关的帖子

即便是静态变量也是局部变量,这个问题还投过票呢吧!

1.smart 子程序内部没有静态变量, 相同调用层级的子程序 临时变量L区是相同的,只有遵循先赋值后使用模式,子程序可以多次调用。而且所谓的干扰就是没有遵循该原则。


2.这里所指的静态变量是指可以多个扫描周期保持的变量,临时变量是指子程序本次调用有效的变量,所有的临时变量都有存储位置,其他程序有可能引用到该存储位置。在smart plc子程序中 临时变量的存储位置是可以预知的,而且是固定的(仅仅与调用层级有关)

认真做事,低调做人
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9142条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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