传感器数据采集与实时展示解决方案

对于数据传输量大的应用场景,如要求传感器有较高的采集与上送速率,通常来说,上位机实时接收、解析是可以做到的,但是一旦涉及到同步存储或同步的曲线展示,实际上就肯定力不从心了。

以曲线展示为例,无法做到数据实时刷新、展示的主要原因在于数据接收、解析、展示(通常展示之前需要进行数据整理,根据框架的要求治理成所需数组类型)几个模块既是相互依赖的,又都是cpu密集型的,即使在一个进程内分别使用独立线程处理数据接收、解析、展示,仍然起不到很好的实时展示效果,界面卡顿严重。

我使用Qt框架的多线程在Windows系统中进行测试,效果非常不理想,使用"TCP&UDP测试工具"模拟数据发送(注意,这儿还只是手动发送,只不过速度较快而已,还远远达不到传感器的数据实时上送速度),刚开始曲线可以刷新,2-3秒钟之后,曲线就停止刷新,只有当数据发送结束之后,过一段较长时间之后,数据才一次性全部刷新到曲线,体验非常不好。

所以我想使用多进程的方式来试试,可是数据同步中间件采用什么比较好呢,考虑了时序数据库、MQ、Redis等,最后选择了RabbitMQ。

进程1-VSDT数据接收程序:1)可灵活、自主设置帧格式、数据体的数据格式,无需修改代码,对帧进行解析;2)设置接收选项,定时、定点、或无限接收模式。


VSDT-数据接收程序

进程2-VSDT数据解析程序:可对解析后的数据设置变换公式,得到实际的数据值。


VSDT-数据解析程序

进程3-VSDT数据展示程序:可设置当前展示的点数,并实时展示数据曲线。


VSDT-数据展示程序

视频加载中...

展开阅读全文

页面更新:2024-04-13

标签:传感器   实时   时序   曲线   框架   进程   解决方案   速度   效果   程序   数据

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top