首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt、QWT和C++实时数据绘制

Qt、QWT和C++实时数据绘制
EN

Stack Overflow用户
提问于 2012-10-04 20:52:58
回答 1查看 4.1K关注 0票数 1

我是Qt,QWT的新手,对C++有一定的基础知识。

根据我所得到的项目,我必须获得一些数据,如太阳能电池板的电压和电流,温度,湿度等。所有这些数据由一些传感器采集,并由NI 6229 DAQ设备采集。

到现在为止,我只是给出了侧重点。现在我要说的是真正的问题。

我想获得数据,从DAQ设备和显示,绘图,记录和登录程序。

我决定使用C++、Qt和QWT。以及从DAQ设备获取数据的NIDAQMX。

我已经在一定程度上设计了一个GUI,但是我坚持的地方是我的代码的真正工作部分。

我不知道如何通过考虑性能标准来实现所有这些东西,我真的需要一个指南。

我应该如何处理数据采集?

我应该如何绘制我获得的数据?

是否需要用不同的线程或其他结构来分离这些线程?

收集几乎10个或12个通道的数据并实时绘制它是否会导致合理的性能问题?如果是的话,我如何处理呢?

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2012-10-04 22:58:07

如果您编写了一个使用NI 6229的简单程序,则需要设置操作的优先级:绘制或记录数据。

在大多数情况下,数据存储是最重要的操作。

在实践中,我使用了以下算法:

  • 一个GUI线程(通用UI +绘图),一个用于每个设备的数据采集线程,一个用于记录数据的线程。
  • 数据采集线程每次都运行(我们问设备:-准备了多少数据?- 10000个样本-好的,给我它)。由于NI 6659的采样频率小于1 MSample/s,我认为dT的值将大约为50-200毫秒(取决于接口)。
  • 从设备读取数据后,我使用队列将数据发送到线程以进行记录。
  • 密谋也是一样。我在数据抽取中使用qwt (但您应该保存峰值)。Qwt在这方面没有坏的例子。此外,您还可以找到提高绘图性能的解决方案。我的建议是将图表分割成组,例如,一个组可能包含4个图表。

这是解决方案的简单程序,而不是实时操作系统。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12735734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档