程序1S执行多次

请各位帮帮忙,这个问题困扰我很久,但是我又描述不太出来,我想做一个程序,就是每分钟变量值加30,我用下面的程序写的,我发现接通一秒钟的过程中该程序其实已经执行了很多次,怎么样才能一分钟只加一次,也就是让这段程序只执行一次?
A     #ramp_up
      FP    #FP120
      A     #TEMP   //temp每次接通1s
      FP    #FP122
      JCN   l001
      L     "EPICS_AODO".Frequency4104_SET
      L     1.5e+2
      <R
      JCN   l002
      L     7.0e-2
      L     "EPICS_AODO".Frequency4104_SET
      +R
      T     #temp1
      JU    l003
l001: A     #ramp_down
      FP    #FP120
      A     #TEMP
      FP    #FP122

      JCN   l002
      A(
      L     "EPICS_AODO".Frequency4104_SET
      L     1.5e+2
      <=R
      )
      A(
      L     "EPICS_AODO".Frequency4104_SET
      L     0.0e+0
      >=R
      )
      JCN   l002
      L     "EPICS_AODO".Frequency4104_SET
      L     7.0e-2
      -R
      T     #temp1
l003: L     #temp1
      T     "EPICS_AODO".Frequency4104_SET

l002: NOP 0
另外我之前发的帖子问的问题,好像也是扫描多次的问题
http://www.ad.siemens.com.cn/service/answer/tobe_solution.aspx?Q_ID=133713&cid=1077

图片说明:

程序1S执行多次   

最佳答案

我们需要看的不是你的代码,你找不出来问题,应该不是代码的问题,你需要看你的代码在哪里调用的,比如ob1它是循环扫描的,一分钟要扫描很多次。你需要明确你的这个程序在1s接通的过程中会被扫描多少次。

你的程序应该使用循环中断组织块(ob35等,设置周期是1s),在这些ob中调用你的这部分程序。

论坛上有人提过同样的问题,我还给出了代码,应该就是你吧?

提问者对于答案的评价:
谢谢!!!

专家置评

在循环终端中调用,如果循环中断的周期仍然比较短的话,通过编程实现累加一定次数之后再触发一次你的程序。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc167376.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月10日 下午9:09
下一篇 2017年6月10日 下午9:09

相关推荐