(三)NI采集卡应用学习:在Qt中实现多路数据的同时采集、显示、绘图及存储

1、使用NI MAX创建多路输入的测量任务
在这里插入图片描述
本处设置Dev1/ai0:3四路电压输入,采样率均为100,差分连接。
2、代码

// 设置地址
void Widget::on_add_pushButton_clicked()
{
   
    address_txt = QFileDialog::getExistingDirectory(this, tr("Open Directory"),
                                                      "/home",
                                                   QFileDialog::ShowDirsOnly
                                                      | QFileDialog::DontResolveSymlinks);

    ui->begin_pushButton->setEnabled(true);
    ui->add_pushButton->setEnabled(false);

    //操作记录
    QString current_date = ui->textEdit->toPlainText();
    QDateTime current_date_time =QDateTime::currentDateTime();   //获取当前时间
    current_date +=current_date_time.toString("hh:mm:ss");
    current_date += (address_txt);
    current_date += "\n";
    ui->textEdit->setText(current_date);
}

// 开始采集
void Widget::on_begin_pushButton_clicked()
{
   
    //创建文本文档
    QDateTime current_date_time =QDateTime::currentDateTime();   //获取当前时间
    QString thename = current_date_time.toString("yyyy-MM-dd-hh-mm-ss");
    fileName = thename+".txt";
    fileName = address_txt+"/"+fileName;
    file.setFileName(fileName);
    file.open(QFile::WriteOnly);

    //开始采集数据
    int32       error = 0;
    char        errBuff[2048] = {
    '\0' };

    error += DAQmxCreateTask("",&taskHandle);
    error += DAQmxCreateAIVoltageChan(taskHandle, "Dev1/ai0:3", "", DAQmx_Val_Cfg_Default, -10.0, 10.0, DAQmx_Val_Volts, NULL);
    error += DAQmxCfgSampClkTiming(taskHandle, "", rate, DAQmx_Val_Rising, DAQmx_Val_ContSamps, sample);
    error += DAQmxSetAITermCfg(taskHandle,"Dev1/ai0:3",DAQmx_Val_Diff);
    error += DAQmxRegisterEveryNSamplesEvent(taskHandle, DAQmx_Val_Acquired_Into_Buffer, sample, 0,
                                                 EveryNCallback, (void*)this);
    error += DAQmxRegisterDoneEvent(taskHandle, 0, DoneCallback, NULL);
    error += DAQmxStartTask
  • 12
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 54
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 54
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值