在LabVIEW中使用C#代码搭建的dll

时间:2024-03-12 22:16:37

 

首先,我们以一个计算器程序为例

首先打开VS2017(任意版本VS均可),新建项目,选择.net类库文件

在LabVIEW中使用C#代码搭建的dll

然后对类的内部进行构建,设计两个共有类,一个负责数据处理一个作为运算结果的实体模型

Model

public class Results
    {
        public string OprSym { get; set; }//运算种类
        public double Result { get; set; }//运算结果
    }

Method(这里支持重载)

public Results OprFunctions(double A, double B, int Model)
        {
            Results ObjRes = new Results();
            switch (Model)
            {
                case 0: ObjRes.Result = A + B; ObjRes.OprSym = "A+B"; break;
                case 1: ObjRes.Result = A - B; ObjRes.OprSym = "A-B"; break;
                case 2: ObjRes.Result = A * B; ObjRes.OprSym = "A*B"; break;
                case 3: ObjRes.Result = A / B; ObjRes.OprSym = "A/B"; break;
                case 4: ; ObjRes.Result = Math.Sqrt(A); ObjRes.OprSym = "sqrt A"; break;
            }
            return ObjRes;
        }
 public Results OprFunctions(double A, double B, string Model)
        {
            Results ObjRes = new Results();
            switch (Model)
            {
                case "A+B": ObjRes.Result = A + B; ObjRes.OprSym = "A+B"; break;
                case "A-B": ObjRes.Result = A - B; ObjRes.OprSym = "A-B"; break;
                case "A*B": ObjRes.Result = A * B; ObjRes.OprSym = "A*B"; break;
                case "A/B": ObjRes.Result = A / B; ObjRes.OprSym = "A/B"; break;
                case "sqrt(A)": ; ObjRes.Result = Math.Sqrt(A); ObjRes.OprSym = "sqrt A"; break;
            }
            return ObjRes;
        }
    }

然后编译生成dll文件,默认在bin/debug文件夹下

 

在LabVIEW中使用C#代码搭建的dll然后我们在LabVIEW中项目,在前面板完成控件的布局和属性调整

在LabVIEW中使用C#代码搭建的dll

其中滑块控件的属性如图

在LabVIEW中使用C#代码搭建的dll

转到后面板,在后面板中我们找到.net功能模组

在LabVIEW中使用C#代码搭建的dll

有3个东西会被用到,分别是构造器节点,属性节点,调用节点

我们先选择构造器(相当于NEW一个实体对象),双击该控件,选择我们刚刚建立好的dll

在LabVIEW中使用C#代码搭建的dll

再讲线连接到一个调用节点(相当于方法),这个时候系统会自动给出方法中的参数和返回值

在LabVIEW中使用C#代码搭建的dll

将各个控件的值都对应连上即可

最后是输出的环节,我们将返回值连接到属性节点上(类似于拆包),就可以将包装在实体类中的运算结果解析出来,最后将其连接到输出控件就大功告成了