加载中…
个人资料
思路盛
思路盛
  • 博客等级:
  • 博客积分:0
  • 博客访问:117,181
  • 关注人气:20
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

应用RMCtask下执行Program机制的容易产生的程序Bug及解决办法

(2021-07-15 21:04:56)
标签:

deltamotion

rmc150e

rmc200

rmc75e

液压伺服控制

分类: 美国DELTA控制器FAQ
       使用不同的task来执行不同的程序是RMC控制器实现功能和执行程序非常清晰方便的机制。但是如果缺乏对这一机制的实际应用经验,也会望文生义,或者因为其他控制器类似的机制产生一些想当然的理解。
       我在此先概述一下这一机制的一些特点和应用技巧:
       首先不同的控制器有不同数量的task可以设定来使用。比如RMC75E最多可以设置四个Task; RMC150是十个Task;RMC200 是 三十二个Task。但是有这么多Task也要省着用。因为增加一个Task会增加CPU的计算负荷,会减少分配给程序执行所需要的时间。 因为我们知道为了实现比如250微秒的控制器周期。我们需要尽可能留出更多的有效时间给程序执行和轴控制计算。所以对应高动态要求的应用需要在尽可能少的任务中来执行程序。
        其次Task中在一个时刻只能执行一个程序。这意味着在程序执行过程中,如果在同一个任务下触发了执行新的程序,那么触发之前执行的程序就停止了。这就会产生你任务他该执行而实际没有执行的情况。
        下面是个实际工程案例中的问题:客户希望产生一个程序执行完成的脉冲信号,告诉PLC可以执行其他程序了。PLC是对这个信号是否为1来判断程序是不是执行完成了。是1就触发新的程序。这个时候出现的问题是在3秒信号为1的时候,可能PLC收到信号在同一个task中触发了新的程序,这样就不会执行最后一步复位的指令了。这个信号没有复位,造成了其他程序不能正常执行。 这个三秒对通讯来说足够长了。但是这个编程是不严谨的。 所以我建议客户在PLC中判断这个信号的下降沿来触发新程序的执行。这样很好的解决了这个程序bug。
应用RMCtask下执行Program机制的容易产生的程序Bug及解决办法

 task 机制的一个好处是对于互斥性的程序,就是说不能同时执行的程序,可以安排的一个task下面来执行。这样可以减少task的数量。

关于Task的更多技巧和案例,后续还会补充和完善。

Slsheng@163.com  北京思路盛 www.slsheng.com.cn

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有