案例分享:Qt高频fpga采集数据压力位移速度加速度分析系统(通道配置、电压转换、采样频率、通道补偿、定时采集、距离采集,导出exce、自动XY轴、隐藏XY轴、隐藏显示通道,文件回放等等)

发布时间:2022-07-05 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了案例分享:Qt高频fpga采集数据压力位移速度加速度分析系统(通道配置、电压转换、采样频率、通道补偿、定时采集、距离采集,导出exce、自动XY轴、隐藏XY轴、隐藏显示通道,文件回放等等)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

需求

  1.0-7通道压力采集,采集频率1~100Khz(1,10,20,30…1000Khz);  2.0-7通道压力,可设置补偿值,测量范围;  3.编码器0,1脉冲采集,计算位移,速度,加速度;  4.所有通道可设置别名,隐藏/显示状态;  5.支持定时采集,指定距离采集(以编码器周长,分辨率与脉冲计算);  6.支持分组,可将通道0-7分为2组,并且可以分别采集和停止;  7.对设置设置界面和主界面的所有相关配置参数进行保存,并在下次启动时恢复最后一次启动的配置数据  8.支持日志系统,对相关操作和数据进行日志输出  9.支持坐标轴缩放;  10.支持不同y坐标进行加权操作,使其显示在同一个图中;  11.使用udp重传控制机制,保障传输大量数据时,数据传输速度快,稳定,可靠。  12.支持需要的数据可打印;

 

相关博客

  《案例分享:Qt高频fpga采集数据压力位移速度加速度分析系统(通道配置、压转换、采样频率、通道补偿、定时采集、距离采集,导出exce、自动XY轴、隐藏XY轴、隐藏显示通道,文件回放等等)》  《案例分享:Qt多通道数据采集系统(通道配置、电压转换、采样频率、通道补偿值、定时采集、导出excel和图表、自动XY轴、隐藏XY轴、实时隐藏显示通道)》  《案例分享:Qt多段Y轴折线图框架(双Y轴段折线、支持拽拖、浮动游标显示X值各段Y值、支持大量实时显示下位机数据)》  《案例分享:Qt多通道数据采集系统(通道配置、电压转换、采样频率、通道补偿值、定时采集、导出excel和图表、自动XY轴、隐藏XY轴、实时隐藏显示通道)》  《Qt开发笔记之QCustomPlot:QCustomPlot介绍、编译与使用》  《Qt开发笔记之Qwt(一):Qwt介绍、编译与Demo》

 

体验下载地址

  特别注意:发布用的模拟数据方式,过程中的演示Demo,模拟数据方式与数据处理相关的功能不可用。  CSDN(免积分):https://download.csdn.net/download/QQ21497936/23361384  QQ群:1047134658(点击“文件”搜索“highFreq”,群内与博文同步更新)

 

Demo演示

  

案例分享:Qt高频fpga采集数据压力位移速度加速度分析系统(通道配置、电压转换、采样频率、通道补偿、定时采集、距离采集,导出exce、自动XY轴、隐藏XY轴、隐藏显示通道,文件回放等等)

  

案例分享:Qt高频fpga采集数据压力位移速度加速度分析系统(通道配置、电压转换、采样频率、通道补偿、定时采集、距离采集,导出exce、自动XY轴、隐藏XY轴、隐藏显示通道,文件回放等等)

 

Demo v1.20.1

  

案例分享:Qt高频fpga采集数据压力位移速度加速度分析系统(通道配置、电压转换、采样频率、通道补偿、定时采集、距离采集,导出exce、自动XY轴、隐藏XY轴、隐藏显示通道,文件回放等等)

 

Demo v1.7.1(提供模拟采集演示版本)

  

案例分享:Qt高频fpga采集数据压力位移速度加速度分析系统(通道配置、电压转换、采样频率、通道补偿、定时采集、距离采集,导出exce、自动XY轴、隐藏XY轴、隐藏显示通道,文件回放等等)

  

案例分享:Qt高频fpga采集数据压力位移速度加速度分析系统(通道配置、电压转换、采样频率、通道补偿、定时采集、距离采集,导出exce、自动XY轴、隐藏XY轴、隐藏显示通道,文件回放等等)

  

案例分享:Qt高频fpga采集数据压力位移速度加速度分析系统(通道配置、电压转换、采样频率、通道补偿、定时采集、距离采集,导出exce、自动XY轴、隐藏XY轴、隐藏显示通道,文件回放等等)

  

案例分享:Qt高频fpga采集数据压力位移速度加速度分析系统(通道配置、电压转换、采样频率、通道补偿、定时采集、距离采集,导出exce、自动XY轴、隐藏XY轴、隐藏显示通道,文件回放等等)

  回放,可查看之前采集的数据(回放之后,可导出当前回放的数据到excel表)  

案例分享:Qt高频fpga采集数据压力位移速度加速度分析系统(通道配置、电压转换、采样频率、通道补偿、定时采集、距离采集,导出exce、自动XY轴、隐藏XY轴、隐藏显示通道,文件回放等等)

  数据导出为excel表,查看数据:  

案例分享:Qt高频fpga采集数据压力位移速度加速度分析系统(通道配置、电压转换、采样频率、通道补偿、定时采集、距离采集,导出exce、自动XY轴、隐藏XY轴、隐藏显示通道,文件回放等等)

相关头文件

#ifndef HIGHFREQCOLLECTMaiNWINDOW_H
#define HIGHFREQCOLLECTMAINWINDOW_H

#include <QMainWindow>
#include <QLabel>
#include <QPushButton>
#include <QAbstractButton>
#include <QCheckBox>
#include <QFrame>
#include <QElapsedTimer>
#include <QTimer>

#define SIMULATION  (1)     // 是否模拟

namespace Ui {
class HighFreqCollectMainWindow;
}

class HighFreqCollectMainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicIT HighFreqCollectMainWindow(QWidget *parent = 0);
    ~HighFreqCollectMainWindow();

PRotected:
    void loadCFg();
    void saveCfg();
    void updateEncodeStep();

protected:
    void initControls();
    void updateControls();
    void updateControlsplayback();                                  // 更新控件回放控件
    void initCustomPlot();

protected slots:
    void slot_initControls();

protected slots:
    void slot_lineVisibleButtonClicked(bool checked);               // 是否显示通道槽函数
    void slot_startCollect();                                       // 开始采集槽函数
    void slot_startCollect2();                                      // 开始采集槽函数
    void slot_timeOutCollectEnd();                                  // 定时器停止
    void slot_timeOutCollectEnd2();                                 // 定时器停止
    void slot_startPlayback();                                      // 开始回放
    void slot_stopPlayback();                                       // 停止回放

private slots:
    void on_pushButton_apply_clicked();

#if SIMULATION
    void on_pushButton_startSimulationAll_clicked();                // 开始采集所有
    void on_pushButton_startSimulation_clicked();                   // 开始采集组1
    void on_pushButton_startSimulation2_clicked();                  // 开始采集组2
#endif
    void on_pushButton_stopAll_clicked();                           // 停止所有
    void on_pushButton_stop_clicked();                              // 停止组1
    void on_pushButton_stop2_clicked();                             // 停止组2

    void on_pushButton_group_clicked();
    void on_pushButton_channelSet_clicked();
    void on_pushButton_paramSet_clicked();
    void on_pushButton_playback_clicked();
    void on_pushButton_export_clicked();
    void on_pushButton_exit_clicked();

private:
    Ui::HighFreqCollectMainWindow *ui;

#if SIMULATION
public: // 模拟
    void startSimulation();
    void startSimulation2();
    void stopSimulation();
    void stopSimulation2();

protected slots:
    void slot_timeOutSimulation();
#endif

protected slots:
    void slot_playback();

private:
    bool _collecting;
    bool _collecting2;
    bool _collectFinished;
    bool _collectFinished2;

private:
    QList<QString> _listChannelName;
    QList<QColor> _listChannelColor;
    QList<double> _listChannelOffset;
    QList<double> _listChannelMin;
    QList<double> _listChannelMax;

    int _c;
    int _c2;
    int _n;
    int _n2;
    int _freq;
    int _mode;
    QString _saveDir;

    QList<QLabel *> _listLabelName;
    QList<QPushButton *> _listPushButton;

    QString _cfgFile;

    QList<QCheckBox *> _listCheckedBox;

private:
    QElapsedTimer _elapsedTimer;

#if SIMULATION
private:
    double _nowX;                       // 当前X值,即当前采集时间,从0开始
    double _nowMinY;                    // 最小Y值
    double _nowMaxY;                    // 最大Y值
    QTimer *_pTimerSimulation;          // 模拟采集时使用的定时器
    int _intervalSimulation;            // 模拟采集间隔
#endif

private:
    QTimer *_pTimerCollectEnd;          // 采集固定式时间时使用
    QTimer *_pTimerCollectEnd2;         // 采集固定式时间时使用
    double _distanceEnd;                // 采集固定距离时使用
    double _distanceEnd2;               // 采集固定距离时使用
    double _encoder0Count;              // 当前采集位移0脉冲数
    double _encoder1Count;              // 当前采集位移1脉冲数
    double _encoder0Step;               // 编码器0的脉冲位移
    double _encoder1Step;               // 编码器1的脉冲位移

private:
    QList<int> _listGroup1;             // 组1组成
    QList<int> _listGroup2;             // 组2组成

private:
    bool _playback;                     // 当前是否回放
    QString _record;                    // 回放的记录名称(文件夹名称,yyyy-MM-dd hh-mm-ss)
    QTimer *_pTimerPlayback;            // 回放读取数据定时器
    bool _FirstPlayback;
};

#endif // HIGHFREQCOLLECTMAINWINDOW_H
 

若该文为原创文章转载请注明原文出处本文章博客地址:https://hpzwl.blog.csdn.net/article/details/120345072

脚本宝典总结

以上是脚本宝典为你收集整理的案例分享:Qt高频fpga采集数据压力位移速度加速度分析系统(通道配置、电压转换、采样频率、通道补偿、定时采集、距离采集,导出exce、自动XY轴、隐藏XY轴、隐藏显示通道,文件回放等等)全部内容,希望文章能够帮你解决案例分享:Qt高频fpga采集数据压力位移速度加速度分析系统(通道配置、电压转换、采样频率、通道补偿、定时采集、距离采集,导出exce、自动XY轴、隐藏XY轴、隐藏显示通道,文件回放等等)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。