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

迷失中原

  • 帖子

    466
  • 精华

    5
  • 被关注

    47

论坛等级:侠圣

注册时间:2013-01-18

白金 白金 如何晋级?

发布于 2015-02-10 10:48:07

10楼

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

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33300条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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