s7200子程序多次调用 点击:2919 | 回复:9



信仰的真相

    
  • 精华:0帖
  • 求助:90帖
  • 帖子:104帖 | 398回
  • 年度积分:0
  • 历史总积分:1934
  • 注册:2012年3月14日
发表于:2015-02-13 11:58:45
楼主
求助帖10分-已结帖

楼主写了一个子程序,三个泵运行两个,备用一个,时间到了换泵。调用一次运行的好好地,调用两次结果发现有问题

这个是子程序里面的:

当m0.0为ON时,即使m0.1接通,vw110也不会随着时间增加,只有m0.0不接通,只有一次调用时,vw110才增加,楼主在想是否是因为L存储区已经被第一个占用了,那如果我想多次运用,应该怎么编程?





工控剑客

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 10回
  • 年度积分:0
  • 历史总积分:9
  • 注册:2014年12月18日
发表于:2015-02-13 17:17:51
1楼

把上升放到外面去试试看!

fypy

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 163回
  • 年度积分:0
  • 历史总积分:857
  • 注册:2009年6月29日
发表于:2015-02-13 18:50:29
2楼

很多地方都违反了子程序规则,比如先赋值再使用原则、多次调用不可加边沿。

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2015-02-13 19:33:57
3楼

基本不知道带参数子程序是什么回事。

除了楼上说的,还有,off的状态的指令盒不是赋值形式。这一点很少人能明白。

hujiamiao1990

  • 精华:0帖
  • 求助:10帖
  • 帖子:14帖 | 202回
  • 年度积分:0
  • 历史总积分:761
  • 注册:2011年8月01日
发表于:2015-02-13 20:32:05
4楼

每次调用子程序的时候吧局部变量置0,

信仰的真相

  • 精华:0帖
  • 求助:90帖
  • 帖子:104帖 | 398回
  • 年度积分:0
  • 历史总积分:1934
  • 注册:2012年3月14日
发表于:2015-02-14 09:17:15
5楼


回复内容:

对: 芳季 基本不知道带参数子程序是什么回事。除了楼上说的,还有,... 内容的回复!

请问不是赋值形式是什么意思??

信仰的真相

  • 精华:0帖
  • 求助:90帖
  • 帖子:104帖 | 398回
  • 年度积分:0
  • 历史总积分:1934
  • 注册:2012年3月14日
发表于:2015-02-14 10:17:18
6楼

问题已解决,的确是子程序里面用了上升沿触发导致不能多次调用,上升沿该到主程序就好了

laughing110

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 43回
  • 年度积分:131
  • 历史总积分:7740
  • 注册:2015年3月29日
发表于:2015-03-29 15:54:59
7楼

不管是300还是200 边沿触发都是有一定个数限制的 不过这些可以查看非致命性错误看出来的

金格瑞机械

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 19回
  • 年度积分:0
  • 历史总积分:13
  • 注册:2015年3月13日
发表于:2015-04-01 14:42:44
8楼

在机械行业有这么多高手在,在对问题的处理的质量上确实是让人很欣慰,

我们木屑颗粒机工程师与竹屑颗粒机工程师在电器设备也有一定的了解,

我会让他们多跟你们学习一下,互相进去。

ntplc2017

  • 精华:0帖
  • 求助:0帖
  • 帖子:38帖 | 375回
  • 年度积分:0
  • 历史总积分:685
  • 注册:2018年5月11日
发表于:2018-09-06 08:59:08
9楼

子程序里面只看这个部分是没有问题的,L存储区使用的用法并不是不能多次使用,而是使用之后有传入也有传出,传出之后不会保存,所以只要把它的参数在传出之前保存好就行了。



热门招聘
相关主题

官方公众号

智造工程师