首页 学海无涯 IT技术 LabVIEW变化.NET的DLL——C#下调用NI数量采集设备效用的一种方法 [原创www.cnblogs.com/helesheng]
LabVIEW变化.NET的DLL——C#下调用NI数量采集设备效用的一种方法 [原创www.cnblogs.com/helesheng]
摘要 2、LabVIEW拥有创立.NET的DLL的效用,同意把LabVIEW下支付的数量采集卡使得软件包裹成可供Visual Studio .NET有利调用的动态链接库,大大降低数量采集软件开发的难度和资本

LabVIEW是NI商店的数量采集设备的正规阳台,在其上调用NI-DAQmx使得和接口函数能够快速的支付数量采集和控制程序。但当做一种图形化的支付语言,使用LabVIEW支付涉及算法和流水线支配的大型应用程序或者显示无法。所以在C#和VB等.net开发工具中实现NI-DAQmx使得的灵巧调用,对于数量采集设备的广泛应用效用重要,广泛的方法有:

1、使用NI商店为Visual Studio提供的集成式支付套件Measurement Studio,它包含的ActiveX和.NET控件,以及面向对象的数量采集硬件接口。但由于Measurement Studio属于付费软件,资本较高,且更加导致Measurement Studio的开发资源不多见,支付难度较大。

2、LabVIEW拥有创立.NET的DLL的效用,同意把LabVIEW下支付的数量采集卡使得软件包裹成可供Visual Studio .NET有利调用的动态链接库,大大降低数量采集软件开发的难度和资本。

在使用这一效用的并且,我还不料的觉察在LabVIEW环境下使用MathScript RT节点,越过Matlab的M语言支付的算法也能够包裹在DLL中,为.NET下的算法支付提供一种“近路”。以下内容迎接转载,但请注明出典: https://www.cnblogs.com/helesheng

一、在LabVIEW中支付DLL

开辟LabVIEW,创立一个种类。

LabVIEW变化.NET的DLL——C#下调用NI数量采集设备效用的一种方法 [原创www.cnblogs.com/helesheng]

 

 

在弹出的种类浏览器窗口中重命名项目名称为“测试DLL种类”,右键单击种类浏览器中的“我的计算机”挨次挑选“新建”->“VI”,创立一个叫做“单次采集少数样本数.vi”的VI。

LabVIEW变化.NET的DLL——C#下调用NI数量采集设备效用的一种方法 [原创www.cnblogs.com/helesheng]

 

 在该VI的程序框图界面输入以下数量采集卡采集数量的次序。实现用10KSPS的速度,从DEV1设备的大路0(ai0)一连采集指名列举的数量,并将之炫耀在波形图控件上。内中采集数量列举越过数值输入控件“samples per channel”在前面板输入取得。为有利实现DLL输出接口,下图的程序框图还将采样杀死输出到了叫做data的炫耀控件数组中。

LabVIEW变化.NET的DLL——C#下调用NI数量采集设备效用的一种方法 [原创www.cnblogs.com/helesheng]

 

 右键单击前面板窗口中单击右上角的连线端子图标,在弹出菜单中选择“模式”,以及一个输入端子和一个输出端子的模式(输入和输出端子的数量同意根据需要DLL包裹的函数的需要规定)。

LabVIEW变化.NET的DLL——C#下调用NI数量采集设备效用的一种方法 [原创www.cnblogs.com/helesheng]

 

 在工具选板中挑选“连线”工具将连线端子图标左面的输入端子一连到前面板上的数值输入控件“samples per channel”,图标右面的输出端子一连到前面板上的数目字炫耀控件“data”。连线端子的颜料将随所一连控件的数据类型发生改变。

在种类浏览器中右键单击“次序变化正规”挑选新建->.NET互操作次序集。

LabVIEW变化.NET的DLL——C#下调用NI数量采集设备效用的一种方法 [原创www.cnblogs.com/helesheng] 

在弹出的互操作次序集性质页面中挑选左面种类中的“音信”,填写DLL相关音信,这些命名将在C#调用DLL时使用。

LabVIEW变化.NET的DLL——C#下调用NI数量采集设备效用的一种方法 [原创www.cnblogs.com/helesheng]

 

 在左面种类中挑选 “源文件”,并在种类文件中挑选需要包裹为DLL的VI,单击下图中向右的蓝色箭头,将其搬移到右面的“导出”窗口中。

LabVIEW变化.NET的DLL——C#下调用NI数量采集设备效用的一种方法 [原创www.cnblogs.com/helesheng]

 

 在立刻弹出的定义VI原型窗如下图所示。

LabVIEW变化.NET的DLL——C#下调用NI数量采集设备效用的一种方法 [原创www.cnblogs.com/helesheng]

 

 将采集杀死data当做returnvalue返回,并且删除左面参数框中的data,部署后定义VI原型窗口成为下图所示的榜样。

LabVIEW变化.NET的DLL——C#下调用NI数量采集设备效用的一种方法 [原创www.cnblogs.com/helesheng]

 

 在“预览”窗口单击变化预览同意预览即将变化的DLL文件,检讨途径部署正确后,单击人间的变化按钮,即可在指名目录变化可供调用的DLL库。

LabVIEW变化.NET的DLL——C#下调用NI数量采集设备效用的一种方法 [原创www.cnblogs.com/helesheng] 

 

二、在C#中调用LabVIEW变化的DLL

在VS的C#支付环境中新建一个工程。右键单击“解决方案资源管理器”中的“引证”条款,挑选“增长引证”。

LabVIEW变化.NET的DLL——C#下调用NI数量采集设备效用的一种方法 [原创www.cnblogs.com/helesheng]

 

 增长事先在LabVIEW中创立的DLL文件。

LabVIEW变化.NET的DLL——C#下调用NI数量采集设备效用的一种方法 [原创www.cnblogs.com/helesheng]

 

 

在“解决方案资源管理器”中双击DLL,同意查阅该DLL中的方法。

在窗体代码中增长事先在LabVIEW中指名的命名空中。

LabVIEW变化.NET的DLL——C#下调用NI数量采集设备效用的一种方法 [原创www.cnblogs.com/helesheng]

 

以后就同意在C#代码中调用DLL中的数量采集设备支配函数了。 

LabVIEW变化.NET的DLL——C#下调用NI数量采集设备效用的一种方法 [原创www.cnblogs.com/helesheng]

 

 下图是我用USB-6009采集的LED电灯泡职业时的电流。内中使用了Measurement Studio中的波形炫耀控件WaveformGraph控件(其实使用时,不必然要安装Measurement Studio)。

LabVIEW变化.NET的DLL——C#下调用NI数量采集设备效用的一种方法 [原创www.cnblogs.com/helesheng]

 

 

三、在LabVIEW中包裹包含Matlab脚本的DLL

突发奇想,LabVIEW的MathScript RT节点同意包括Matlab的M脚本算法,那是不是同意越过LabVIEW将Matlab支付的算法包裹到可供C#调用的DLL中呢?试了一眨眼,还真同意!

如下图所示,在LabVIEW程序框图中扦插一个MathScript RT节点,对采集到的信号暗害快速傅里叶改换FFT,杀死相同当做VI的输出。

LabVIEW变化.NET的DLL——C#下调用NI数量采集设备效用的一种方法 [原创www.cnblogs.com/helesheng]

 

 更新LabVIEW种类浏览器中的互操作次序集和C#中的引证,不修改事先的代码,就探望了方面电流信号的FFT幅频特性图。

LabVIEW变化.NET的DLL——C#下调用NI数量采集设备效用的一种方法 [原创www.cnblogs.com/helesheng]

 

 

 

高兴 (0)

版权声明:本文由不言弃原创出品,转载请注明出处!

本文链接:https://www.agoni.top/article/detail/45182

本文配乐
来说两句吧
最新评论
聊天室