回复:S7-200 带参数子程序调试问题

siemenswj

  • 帖子

    139
  • 精华

    0
  • 被关注

    3

论坛等级:侠客

注册时间:2006-06-26

普通 普通 如何晋级?

发布于 2015-03-14 20:55:21

17楼

展开查看
以下是引用迷失中原在2015-02-10 10:48:07的发言 >10楼:关于带参数的子程序,用着是很方便,但是用的不当确实会有大问题。
感觉楼主还是没有察觉自己的程序哪里出了问题,应该是很“侥幸”的解决了双输出的问题。
其实正如芳季老师所说,参数子程序的调用,一定要秉承“先赋值、后使用”的原则,这是应为子程序的局部变量区域是共用的,如果不对局部变量进行初始化,就回出现执行第二个子程序的时候,L0.2其实是第一个子程序的L0.2保留的值,因此楼主的双输出就出现了。
至于楼主“无心插柳”的解决问题,是因为楼主将子程序的执行周期改了,原来是每个周期执行,现在是由“启动”变量控制,当两个启动信号不同时执行,程序逻辑控制没问题,但是一旦同时接通,还是会出现老问题的!
分析了原因,就好解决问题了!带参数的子程序,变量类型为IN和IN/OUT的变量,在子程序开始执行的时候,自动将实参赋值到形参中,自动完成赋值初始化。因此,楼主只需要将“输出”变量的变量类型改为“iN/OUT”即可,这样当 第二个子程序执行的时候,系统会自动将Q0.1的值赋给L0.2。
不知道楼主明白了没??
谢谢。我也碰到这个问题。活到老学到老
认真做事,老实做人
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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