欢迎光临
我们一直在努力

Matlab与Labview混合编程(二)

版权声明无需授权即可转载

之前生成得.Net文件夹里面有两个.Net文件,分别是MagicSquareComp.dll和MagicSquareCompNative.dll,通过文件夹里面的readme文件我们可以知道他们之间的区别,主要在于对MWArray文件的调用

MagicSquareComp.dll -contains the generated component using MWArray API.

MagicSquareCompNative.dll -contains the generated component using native API.

这里我们使用MagicSquareComp.dll文件,通过LabVIEW调用.Net文件的方法也很简单,在Block Diagram下面通过Connectivity » .NET » Constructor Node弹出选择.Net Constructor选项框选择之前生成的.Net文件,构造器选择Class1(),点击OK这样我们就已经成功将.Net文件加载到LabVIEW中,接下来我们通过它的方法和属性来实现这个函数的功能

.Net文件得加载可以理解为对一个类的实例化,实例化之后就可以使用这个类得属性和方法,它的方法就是Matlab里面得函数,在这节点得new reference连接端右键选择它得方法,我们可以看到这个节点有几个可以使用得方法其中makesquare(MWArray x) 就是matlab里面得那个函数,括弧里面是输入变量x是MWArray得类型,这个类型是Matlab特有得数据类型,为了可以正确使用这个数据类型,我们需要使用上一节说过得MWArray得类文件,调用方法与之前一样,调用后,选择如下图所示得构造器之后在输入端给定一个常量,这里为了验证函数得正确性,常量为5接下来在输出端,我们可以直接使用MWArray得ToString方法获得最终得结果

通过ToString得方法我们只是得到了一串字符串,对于后续结果得使用不是很方便,接下来我们通过ToArray得方法得到数组得结果要想得到正确得数组,我们首先需要知道数组得行列数分别是多少,这里可以通过Dimensions得属性得到,还可以通过NumberofDimensions得到数组得维度从这里得知,结果是个5行5列得二维数组,所以需要用两个For循环来构建最终得结果,最终得程序如下

我们使用一个While循环实现实时更改输入获取最终得输出,通过Dimensions得数值来作为For循环得循环次数,最终得程序如下下一篇我们看看如何应对多个输出,下次见

赞(27)
分享到: 更多

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址