研华PCI1716L的C#编程

2023-05-16

新建windows窗体项目;
添加引用研华的库文件

 

将库添加using

 

整个代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Automation.BDaq;
using System.IO;
namespace 研华1716L
{
    public partial class Form1 : Form
    {
        WaveformAiCtrl waveformAiCtrl = new WaveformAiCtrl();
        int getDataCount = 12000;
        short[] sectionBuffer=new short[12000];
        void waveformAiCtrl_DataReady(object sender, BfdAiEventArgs e)
        {
            waveformAiCtrl.GetData(getDataCount, sectionBuffer);
            StreamWriter sw = new StreamWriter("1.txt", true, Encoding.Default);
            for (int j = 0; j < 12000; j++)
            {
                sw.WriteLine(sectionBuffer[j]);
            }
            sw.Close();

        }
        public Form1()
        {
            InitializeComponent(); 
            string deviceDescription = "DemoDevice,BID#0";//根据设备改
            waveformAiCtrl.SelectedDevice = new DeviceInformation(deviceDescription);
            waveformAiCtrl.Prepare();
           
        }

        private void button1_Click(object sender, EventArgs e)
        {
            waveformAiCtrl.DataReady += new EventHandler<BfdAiEventArgs>(waveformAiCtrl_DataReady);
            waveformAiCtrl.Start();
        }

      
    }
}


实现简单功能点击按钮,将读的文件向TXT中写。原理性的就这些,整体的程序,放在代码仓库吧。
/*************************

华研采集卡C#二次开发

1.安装驱动,研华DAQNavi软件开发工具包下载地址:线上服务 - 研华


安装之后可参考例程进行开发
 

还有开发手册

2.可添加华研采集卡控件



3代码添加控件

        private void InitializeComponent()
        {
            this.SuspendLayout();

           
            // 
            // Form1
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(274, 80);
            this.Name = "Form1";
            this.Text = "Form1";
            this.Load += new System.EventHandler(this.Form1_Load);
            this.ResumeLayout(false);
            // 
            // udCounterCtrl1
            // 
            this.components = new System.ComponentModel.Container();
            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(UpDownCounterForm));
            this.udCounterCtrl1 = new Automation.BDaq.UdCounterCtrl(this.components);
            this.udCounterCtrl1._StateStream = ((Automation.BDaq.DeviceStateStreamer)(resources.GetObject("udCounterCtrl1._StateStream")));

        }

        #endregion
        private Automation.BDaq.UdCounterCtrl udCounterCtrl1;


4.C#对象创建instantDiCtrl.SelectedDevice = new DeviceInformation(“PCI-1750,BID#0”),卡名称可在安装的驱动软件中找到,或者输入卡号,代码示例:


        public UpDownCounterForm(int deviceNumber)
        {
            InitializeComponent();
            udCounterCtrl1.SelectedDevice = new DeviceInformation(deviceNumber);
        }

        private void UpDownCounterForm_Load(object sender, EventArgs e)
        {   
            if (!udCounterCtrl1.Initialized)
            {
                MessageBox.Show("No device be selected or device open failed!", "UpDownCounter");
                this.Close();
                return;
            }

            //set the title
            this.Text = "UpDown Counter(" + udCounterCtrl1.SelectedDevice.Description + ")";
    
        }

5.其他可参考官方示例代码

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

研华PCI1716L的C#编程 的相关文章

随机推荐

  • Qt中带返回值的信号发射(使用QMetaObject::invokeMethod)

    一般来说 xff0c 我们发出信号使用emit这个关键字来操作 xff0c 但是会发现 xff0c emit并不算一个调用 xff0c 所以它没有返回值 那么如果我们发出这个信号想获取一个返回值怎么办呢 xff1f 两个办法 xff1a 1
  • C++:delete和delete[]释放内存的区别

    C 43 43 中free 与delete的区别 1 new delete是C 43 43 的操作符 xff0c 而malloc free是C中的函数 2 new做两件事 xff0c 一是分配内存 xff0c 二是调用类的构造函数 xff1
  • C++基本知识点

    1 字符串的末尾 39 39 也算一个字符 xff0c 一个字节 2 使用库函数strcpy a b 进行拷贝b gt a操作 xff0c strcpy会从源地址一直往后拷贝 xff0c 直到遇到 39 39 为止 所以拷贝的长度是不定的
  • C++析构函数

    格式 xff1a 类名 void 没有参数 xff0c 没有返回值 xff0c 不能被重载 xff0c 一个类只能有一个析构函数 对象销毁时自动执行 主要负责清理对象生命周期中的动态资源 include lt iostream gt usi
  • QT中Json的使用方法(类和json字符串相互转换的方法)

    在QT5 0版本以后支持对Json的使用 xff0c 直接使用QT提供的json类进行数据的组织和解析 Json类介绍QJsonDoucument它封装了一个完整的 JSON 文档 xff0c 并且可以从 UTF 8 编码的基于文本的表示以
  • Qt中QJsonObject类

    00 目录 01 QJsonObject类简介 02 公有类型 03 公有成员方法 04 公有成员方法解析 05 参考示例 06 附录 01 QJsonObject类简介 Header include lt QJsonObject gt q
  • QT中操作Txt文件(Qt中QString与QByteArray互相转化方法)

    Qt如何把QString写入txt文件中 1 示范代码 由于write不能把QString直接写入文件中 xff0c 因此有两种方法来处理 xff1a 1 使用QTextStream类 中英文都可以存 读入文件 QFile file fil
  • QCoreApplication类各函数功能说明(获取应用程序路径、获取上一级目录)

    QT获取当前目录的上一级目录dir xff1e cdUp QDir dir 61 new QDir QDir currentPath D Project Core dir gt cdUp dir gt path D Project 1 构造
  • qt中解决QString中文乱码问题方法

    Qt中解决中文乱码的问题 qt中一般在设计师界面中设置的中文标题啥的都能正常显示 但是在QString中 xff0c 比如QPainter在绘制Text的时候 xff0c 传入的 char 如果含有中文 xff0c 则一般都会显示乱码 这个
  • QString转换QByteArray时中文问题解决方案

    平常转换没怎么注意 xff0c 一般QString转换成QByteArray不会出现问题 xff0c 今天涉及到QJsonDocument类 xff0c 转换出现以下问题 xff1a 1 用toLocal8Bit QJsonDocument
  • 2020-08-27python二(转载)

    usr bin python3 python二 print 39 Python二 39 39 39 39 11 多个变量赋值 Python允许你同时为多个变量赋值 例如 xff1a 同时为多个变量赋值 xff0c 这些变量的值为1 a 61
  • QT中QLIST清空问题分析

    1 代码分析 向QList中添加4个项 QList lt QWidget gt lstWidget lstWidget append new QWidget lstWidget append new QWidget lstWidget ap
  • DAQ数据采集卡软件编程-只支持一个程序来访问设备

    1 安装软件开发包 xff08 SDK xff09 DAQNAVI SDK 2 可识别到数据采集卡片 3 加载C 编程的动态链接库 dll文件 xff08 Automation BDaq dll与Automation BDaq4 dll区别
  • 实现与研华 PCI 采集卡通讯

    如果使用过 PCI 采集卡的盆友应该对 研华 这个品牌不陌生 xff0c 可以说研华还是很强大的 最近因为工作需要 xff0c 使用一块研华的 PCI1714UL 型号的采集卡 xff0c 去高速采集电压信号 xff0c 学习了几天后分享给
  • QT中connect函数的几种用法详解总结

    前言 信号与槽机制是QT非常核心的东西 xff0c 通过信号与槽我们可以将不同的部分有机的结合起来 xff0c 使得各个组件之间的交互简单高效 xff0c 信号与曹槽像是设计模式中的观察者模式 xff08 我自己觉得是这样 xff09 xf
  • Qt中QThread安全退出方式总结

    QThread的使用方式 在Qt中 xff0c 使用QThread实现子线程的方式有两种 xff1a 继承QThread xff0c 重写run函数 继承QObject xff0c 使用moveToThread方式移动进QThread QT
  • Qt断开信号与槽的方法,Qt信号的处理 (connect和disconnect和blockSignals的使用方法)

    关于信号与槽的研究 DisConnect bool QObject disconnect const QObject sender const char signal const QObject receiver const char me
  • Qt QList清空问题

    1 代码分析 向QList中添加4个项 QList lt QWidget gt lstWidget lstWidget append new QWidget lstWidget append new QWidget lstWidget ap
  • Qt 信号和槽及第五个参数详解(线程相关)

    注意 xff1a 信号发送给信号容易阻塞 xff0c 需要设置好QObject Connect函数中第五个参数 xff0c Qt DirectConnection xff1a 发送的信号在哪个线程则接收方就运行在哪个线程上 前言 信号槽是Q
  • 研华PCI1716L的C#编程

    新建windows窗体项目 xff1b 添加引用研华的库文件 将库添加using 整个代码如下 xff1a using System using System Collections Generic using System Compone