LabVIEWwilliam hill官网
直播中

王智豪

5年用户 40经验值
擅长:可编程逻辑 MEMS/传感技术 接口/总线/驱动
私信 关注
[问答]

Labview 数据处理 while循环中定时或者定量刷新

要求: 实时数据处理
如何做:对于采集到的数据以数组流的形式传输。处理时在while循环中添加 matlab Script (M. Script)模块进行数据的处理。
        M. Script 模块用 A 接收实时数组流。由于采样数为1k,A 为 6(采集通道数)X 1000 的数据形式。即每次计算1000个数据点。需要实时处理的需求,我将其放入到while循环中,设置了一个定时,每隔1s,刷新一次。这样传入到M.Script模块中的数据就会发生变化。
问题:采样率为10k。 这样不能保证所有的数据都进行了处理,即使我设置了定时时间为100ms,按道理1s内会处理10k个数据点,正好和数组流的速度相匹配。但是不能保证采集卡的数据速度能跟的上(这点不太清楚采集卡的处理速度是否可以匹配上数据的传输速度)。在定时上还有两种方法:1是等待(ms),2是等待下一个整数毫秒(这个涉及同步问题。第一个整数倍时间不能保证时间间隔正好是100ms)。

在定时处理任务中避免不了的就是,数据流来的时间正好是你设置的时间间隔的某一个的开始。所以想采用定量处理,每处理1k个数据就刷新一次。感觉山是可行的,但定量处理的话时间上就不能保证1s内我到底处理了10k中的多少数据。

请各位大佬帮忙解决一下,在while循环中实时的处理数据,怎么来设置这个处理刷新方式,尽可能多的处理数据使得处理效果较好。

谢谢您的回复。
已退回5积分

回帖(2)

老蜗牛

2019-6-10 16:11:04
生产者消费者模式:生产者循环有多少采集多少,消费者循环按你的处理需求处理一定数量的数据。
2 举报
  • 王智豪: 您好,我是刚接触这个,直接对照需求看的部分知识。需求就是在采集系统中嵌套Matlab Script模块进行数据的实时处理。
    您说的这个生产者消费者模式我还不清楚,还需要去学习了解一下。
    我说的那个while循环来刷新数据流来进行实时处理可行吗
  • 老蜗牛 回复 王智豪: 用N采样就可以,不需要用循环时间管控

老蜗牛

2019-6-10 16:11:07
生产者消费者模式:生产者循环有多少采集多少,消费者循环按你的处理需求处理一定数量的数据。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分