回复:如何准确的测量多个频率(或转速)?

已锁定

手机用户20230828277407

  • 帖子

    9
  • 精华

    0
  • 被关注

    0

论坛等级:新手

注册时间:2023-08-28

普通 普通 如何晋级?

发布于 2023-09-25 17:09:54

10楼

展开查看
以下是引用芳季在2023-09-25 13:23:31的发言 >8楼

其一。这里就只看见程序,就只聊程序。重启这瞬间来了个脉冲,那么这个脉冲你说是清了它还是留着它?

其二。高计从3456走到4567走了几?另一个高计从0000走到1111又是走了几?谁说必须复位的?租房子不是包租婆也是给你抄表底的吗?谁会把水表拨回0开始算?

再者,进入中断和处理得到结果是有时差的。这些细微的时间多了就看得见了。

 1、先说说你的其二,你是对的,但操作层面有点问题。     

      不复位的话,下一次减上一次是可以的。(当然靠近最大值拐角处要再验证一下算法的有效性,ARDUINO对系统计时有大拿进行过分析)。

     另外,要再梳理一下细节。我这个中断程序存在两个细节,一是将当前值清0,二是用HSC指令激活。可以当前值不清0,那下一次计满1000次中断怎么办?不是清当前值CV就是重设中断时的值PV。都得用HSC指令激活。是激活时算复位吗?

2、我最初是用的定时中断里对多个HSC采样,也是不一样的,差别也较大。这个按你的方法去试可能更有操作性。不过我这台SMART硬件定时中断有17%的不准,现在是提高HSC的准确度和一致性问题,时基准不准先可以不考虑。

3、对你的第一条,我觉得跟我这个现象不是一个问题。瞬间的脉冲属于正负1误差问题,可以接受,我试出来的4%的差别太大了。

4、至于进入中断和和处理结果的时差问题,除非中断中间系统又去做别的了,否则可以忽略不计。因为资料里说指令是us级的,中断里没几条指令。因为PLC指令不是处理器的汇编指令,没法去查真正的用时,应该对应的机器指令也长不了。资料里说中断也不支持嵌套,这是针对用户用的中断,实际系统有没有嵌套我就不知道了。这些都可以用BITIM大概看一下,回头我试一下。问题是,如果跟这个有关系,那后取数的应该比先取数的更多,实际是HSC0是1013,HSC3是971,更少。换一下顺序我也试过,一样的现象。我这个现象跟中断里的执行时间应该没关系。


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8945条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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