回复:简单的锯齿波编程

芳季

西门子1847工业学习平台

  • 帖子

    15610
  • 精华

    102
  • 被关注

    966

论坛等级:至圣

注册时间:2007-08-03

钻石 钻石 如何晋级?

发布于 2019-04-16 15:00:13

24楼

展开查看
以下是引用Zane在2019-02-24 16:17:42的发言 >8楼

通用的,在OB1及定时中断中均可使用,且与定时中断的设置无关

以下是引用WWCWWC在2019-02-23 17:06:13的发言 >7楼:没有吃透你的要求,...

引用7楼详细内容:

没有吃透你的要求,是在OB1中编辑斜坡函数?

如果是,这个并不难,取一个根据斜坡时间长度的数据,用一个系统时钟的时间作为升、降速速率,做斜坡函数。

以下是引用Zane在2019-02-22 23:31:02的发言 >6楼:能不能编一个不要计...

引用6楼详细内容:

能不能编一个不要计算中断分辨率,在OB1及时钟中断中都能用的斜坡函数?

在任何程序中,观察系统高速时间坐标轴,当达到你要的时间增量的时候,就做需要的计算。

例如:我需要每5毫秒把输出增加5个刻度。那么开始执行的时候观察当前系统时间,假如是23400毫秒,并记住这个时间刻度,那么,观察到出现大于等于23405的时候就把变量加5。假如下一次观察的时候时间轴已经走到了23412,已经超过了两次(或多次)次的增量间隔,那么就要把变量的增加量乘以超过次数。此时变量就要增加10。

用这种方法,不需要定时中断,也不怕错过时间脉冲。任何程序的执行只要观察到系统时间轴,都可以作为时间基础进行有关时间的运算。在时间轴没有达到足够的增量的时候,相关程序不做数据处理,节省了运行时间。当时间轴到达后,并且等待到执行此程序时候,才执行一次处理。

我不太晓得这样的时间参考方式叫什么名堂,反正我就在一些经常要用标准时间分度,而又不需要太精密的场合,就会用上。

感觉就像汽车加燃油,到了油量灯亮了,不必立即找加油站,而是到了我顺手的那天那个加油站,才进去加油。如果亮灯马上加,我就加40升,如果亮灯还开了一天,那么我就加42升,亮灯两天就加45升……

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54706条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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