labview调用MATLAB模型DLL文件的具体方法
本文档叙述使用NI的VeriStand架构,生成可在LabVIEW环境下使用MIT模块调用的动态链接库(DLL)
第一章 准备阶段
1.1 软件安装
(1)本方法所适配的软件版本为:MATLAB2016a、VS2010 、LabVIEW2018、VeriStand2018 SP1
(2)安装顺序为先安装 :VS2010,MATLAB,再安装LabVIEW,最后安装VeriStand。
注意:Matlab安装路径不能有空格键
1.2 软件直接联通显示
(1)安装完毕之后,打开MATLAB,显示NI VeriStand Model Simulation Server started表示软件安装无误,如图1所示,可以进行代码转换。
图1 软件中MATLAB和Veristand连通提示
(2)在matlab命令窗口中输入mex -setup ,若得到图2所示,表示已经下载完成合适的编译器
图2 MATLAB中有相应的编译器
第二章 MATLAB中生成DLL文件的具体步骤
步骤一:将simulink的控制器分离出来,留出所需要的输入输出接口,如图1所示。
图2 控制器原始框图
步骤二:配置NI VeriStand接口:
(1)在simulink中打开Library Browser,向下拖动,找到NI VeriStand Blocks并点击,出现如图3所示,在右边有NI VeriStand的输入输出接口。按照接口的实际数量需求,直接将其拖到控制器的simulink框图中,并输入接口信息,然后将NIVeriStandSignalProbe拖到框图中,如图4所示。
图3 在菜单栏中找到NI Veristand Blocks 控件
图4 将所需的输入输出连接完成
(2)配置完毕后,打开Model Configuration Parameters(也可点击设置按钮),先点击左侧的编译器中的Solver,设置开始时间为0,停止时间为inf(无穷),编译器种类选择Fixed-step;步长类型选择固定步长的ode3(Bogacki-Shampine),步长时间设置为0.01,如图5所示。
图5 步长的设置(即计算器的选择)
(3)完成后点击左侧的Code Generation,将system target file设置为NIVeriStand.tlc,编译语言选择C,如图6所示.以上完成代码转换前的配置工作。
图6 选择代码生成为Veristand形式
(4)然后点击右下角的Apply,最后点击上面最上方的build按钮,生成代码,如若生成代码无误,点击最上方VIEW中的Diagnostic Viewer,如图7所示,生成代码的路径在红色椭圆圈内。按路径打开文件夹,DLL如图8所示。
图7 DLL文件生成的路径
图8 在该路径下找到所生成的DLL文件
第三章 labview调用MATLAB生成的DLL文件的具体步骤
以上已经完成dll的生成工作,接下来是在LabVIEW中进行调用。调用dll使用MIT(Model Interface Toolkit)模块,此模块在安装VeriStand软件时已经附带安装完毕。我们可以打开LabVIEW软件的程序界面,右击下拉到控制与仿真,查看model Interface,说明MIT模块安装成功,如图9所示。确认MIT安装无误后,开始在LabVIEW中调用dll。
图9 打开labview 控制与仿真中的MIT模块
(1)步骤一:在LabVIEW中搭建框架,先建立循环,然后使用刚刚的MIT模块,调用dll主要使用三个子VI,Load Model.vi、Take Model Time Step.vi、Unload Model.vi,程序执行过程为确定dll路径,执行dll,卸载模型。
需要注意以下两点:
1. 在实际转换代码过程中,偶尔会遇到接口顺序错乱,简单来说就是控制器的simulink输入接口顺序在转换DLL后的顺序出现错乱,这种情况偶有发生,但是为了避免出错,在每一次代码转换后,我们都应进行DLL输入输出接口的校验。校验的方法如图10所示,在Load Model.vi后面添加Get Paths.vi,并将下面的多态VI选项更改为Imports以及Outputs,并添加输出显示,通过前面板查看输入输出的参数是否与simulink上一致。
图10 调用程序的编写
Simulink与labview输入输出对比如图11所示,可以看到输入参数顺序明显发生了变化。
图11 界面显示
2.将循环的隧道替换为移位寄存器,否则积分不能实现。如图11所示,椭圆圈内代表的移位寄存器,正方形内代表的隧道。使用时需要将上下两个都替换为移位寄存器,图示的只是作为描述使用。
图12 加入循环的程序
以上即可对MATLAB中的模型在labview中进行调用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)