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

VS2017与LabVIEW跨平台计算器开发
本文介绍如何使用Visual Studio 2017创建一个计算器类库,实现基本算术运算及平方根计算,并通过LabVIEW调用此DLL文件,完成计算器功能的实现。

 

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

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

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

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中项目,在前面板完成控件的布局和属性调整

其中滑块控件的属性如图

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

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

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

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

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

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

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值