注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

SIEMENS运动控制器/伺服驱动器

SIMOTION/S120——纯技术BLOG

 
 
 

日志

 
 

每天学点SIMOTION(17)TO编程3:周期执行与顺序执行  

2016-01-22 15:54:23|  分类: SIMOTION_D |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
周期任务
周期任务,比如BackgroundTask,会在执行完成后自动重新开始,或者在一个预定时间后重新开始。周期任务会有一个监视时间,如果超时则会有一个超时响应,比如CPU停机。这意味着周期任务中的程序代码必须在很短时间里完成。有一些程序任务需要花费一些时间才能完成,比如定位操作,这样的任务会占用多个周期才能执行完成。这样的程序命令中都会有一个输入参数NextCommand,一般需要设置成IMMEDIATELY。这样程序是否执行完成还需要在后续程序中加以判断。这种操作,也称为异步执行
顺序任务
顺序任务,比如MotionTask,在触发执行一次以后即终止。每次开始执行,所有的本地变量会被重新初始化。顺序任务没有监视时间,它们可以持续运行很长一段时间。顺序任务只受用户程序的控制,这意味着用户程序可以随意开始、停止、暂停、或者继续一个任务。顺序任务中的代码是按先后顺序执行的,一般前一个命令执行完毕以后,才执行下一个命令。比如,轴第一次使能,然后回零。这时,一般会将TO命令的nextCommand参数设置成WHEN_COMMAND_DONE。TO命令只有在前面的任务完成后,才能继续往下执行。这也叫作同步执行
通用流程
一般情况下,最好将顺序任务放到MotionTask中去执行。BackgroundTask与MotionTask的区别是:
  • MotionTask顺序执行,上下命令之间只有一个转换条件需要判断,这个判断条件在IPO周期中有较高优先级,要想减少MotionTask响应的时间,可以通过WAITFORCONDITION来临时提高优先级
  • BackgroundTask中一般有多个转换条件,这会加重CPU负荷并延长处理周期。与顺序任务相比,它的优势在于可以并行处理多个请求或任务。
同步与异步执行
同步执行:程序与实际命令运行状态一致。如果运动命令需要执行一段时间,那么程序会处于等待状态,直到任务完成。
异步执行:程序与实际命令运动无关。如果运动命令需要执行一段时间,那么这段时间里程序一直处于循环执行状态。
  评论这张
 
阅读(177)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017