回复:斜坡函数与扫描周期的事情... ...

Zane

版主 西门子1847工业学习平台

  • 帖子

    21062
  • 精华

    399
  • 被关注

    1486

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2018-03-12 00:07:58

22楼

按照A=A+B,增量累加思路实现斜坡函数,

在OB1里调用,其变化是不均匀的,扫描周期本身就是变化的,计算精度如果以TIME输出的话,每次最大误差不大于1毫秒,若果平均扫描周期为10毫秒的话,10秒钟的斜坡,最大时间误差可能会达到少1秒(极值),如果平均扫描周期为50毫秒的话,最大时间误差则是少0.2秒(极值),可见斜坡时间确定的前提下,扫描周期越长,精度反而越高,但曲线变得不光滑了,成锯齿状。


在定时中断里调用,由于定时中断属于较低级的中断,因此中断的间隔是有抖动的,取决于CPU的性能及高级中断的任务的多少,但是如果采用的时间增量是固定值(即中断间隔时间)的话,就不会有累计误差,因此不建议在定时中断里调用的斜坡函数再做时间间隔测量的工作,这样做反而会导致误差累计及增大。


综合来说,中断方式的精度高,累积误差小,信号变化均匀,曲线平滑,但占用资源;而OB1调用方式,信号变化不均匀,累积误差大,曲线相对粗糙,但不占用系统资源。


另外,还需要注意的是如果是用32位单精度浮点数计算的话,那么增量值与累积值的倍数是受单精度浮点数的有效位数限制的,尤其是在增量值较小,而斜坡时间很长的情况下,采用整型量累加可避免此类问题。

Zane 注册自动化系统工程师 Always save before download
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10588条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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