研华PCI1716L的C#编程

新建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.其他可参考官方示例代码

C#中,使用PCIe-1884采集卡并通过Automation.BDaq库获取数据并将其可视化为示波器,并以CSV格式保存到桌面,你需要经过以下步骤: 1. **安装驱动和库**: - 首先,确保你已经安装了设备所需的驱动程序。这通常可以从官网下载。 - 然后,引入`Automation.BDaq`库,如果你使用的是NuGet包管理器,可以在项目中添加`DAQmx.NET`库。 2. **连接到采集卡**: 使用`BDaq.AIn`类,创建一个实例并指定PCIe-1884的通道和配置。例如: ```csharp var daq = new AIn("Dev1/ai0"); ``` 3. **配置通道设置**: 设置采样率、范围和其他必要的配置选项,如: ```csharp daq.SetSampleRate(1000); // 每秒1000次采样 daq.SetVoltageRange(10); // 电压范围,单位V ``` 4. **开始数据采集**: 调用`Acquire`方法开始采集数据,同时设定一个缓冲区来存储数据: ```csharp double[] buffer = new double[1000]; // 例如1000个样本 int samplesCollected; while ((samplesCollected = daq.Acquire(buffer)) > 0) { // 数据在此处填充 } ``` 5. **数据分析和展示**: 将采集到的数据点绘制到模拟示波器上。可以利用第三方库(如OxyPlot)实现波形显示,但这超出了`Automation.BDaq`库的基本功能。 6. **数据保存**: 使用`System.IO.File`类将数据保存为CSV文件: ```csharp string filePath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\data.csv"; using (StreamWriter writer = File.CreateText(filePath)) { for (int i = 0; i < samplesCollected; i++) writer.WriteLine(buffer[i]); } ``` 7. **停止采集**: 在完成所有操作后,别忘了关闭设备资源: ```csharp daq.Close(); ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值