Labview有强大快捷的控件图表编辑功能,matlab有强大的数学建模仿真功能。是不是有时你也感觉labview里的matlab脚本有点太局限了。那就一起来个强强联合,联合仿真style走起。在论坛上看到很多同学在找labview和matlab联合仿真的方法,正好呢,前段时间和同事做了个这么个小软件,基于labview和matlab中simulink的混动车况运行联合仿真。把经验和过程给大家分享一下吧,这次分两拨来。之一,官方例程的实现。之二,混动车况联合仿真中的labview编程。说实话matlab是不太会的。我就知道怎么连接,建模?饶了我吧。另外呢,说实话,看了论坛上好多问题贴,嘛情况也有,不知道咋解决,反正呢,我这个路子确实实现了,而且跑的很happy。本来想是同事在他电脑上编simulink的程序,我在我的PC上编labview程序,然后呢,走tcp联调,不过没实现,再说吧。好了,下面切入正题。 一、 准备工作,软件的安装
Win8.1专业版32位
Labview 2012
SIT 2012
Matlab 2010a
软件的安装包都在我的百度网盘里了,需要的同学可以去down一下。
链接:http://pan.baidu.com/s/1dD11CWx 密码:zkw8
这里有个问题,就是软件的安装顺序,看了很多资料。不止一处提到要按照啥啥顺序安装。记住一点就行。前边不管,SIT最后安装,就能跑的happy。至于操作系统,我这边仅测试过win8.1和XP。
二、 配置环境
以上软件都安装完毕之后,确认一下。
1. Labview里后面板程序框图,控制设计与仿真里有SIT图标。
2. Matlab打开之后,会显示这几条信息
然后运行>> edit matlabrc命令,在弹出的窗口的最末行会看到
打开simulink 可以找到 NI SIT Blocks
以上这几幅图说明软件安装都OK 了。
三、 matlab中simulink的编程
就是一个sin曲线。没有别的,官方例程里照猫画虎过来的。运行时间改成inf吧。这样在labview里sin就可以连续的运行了。
最初刚接触的时候,我把labview里的子vi编程思维带了过来,想当然的认为SIT in1和SIT out1就是两个接口变量,labview从in把参数放进来,然后out把结果抛出去。Labview和in还有out一一对应。需要多少输入输出就来多少in和out, 然后,我就想当然的错了。不是酱紫滴,竟然不是酱紫滴。传递到labview的是sine wave的一些属性。和in out不是直接联系的。
四、 labview的编程
放两个旋钮,一个曲线图就OK 了,程序不用管,待会儿自动生成。打开工具下的SIT Connection Manager,进入配置页面。
两个步骤, 1、配置模型路径。
2、控件和变量建立连接。
下面还有一个Data Logging下一篇帖子再讲。这个是数据存储。
建立好连接然后就OK.可以看到前面板多了一堆按钮,后面板自动生成了程序。两个旋钮没有连接任何东西,不用管它。这里有个问题就是当输入输出多了的时候,如果中途需要改动,会出现很烦人的情况,中途改动后再重新生成连接和第一次生成连接效果不太一样。就是给到输出的那个case那里会有很多更改之后没用的东西。反正自动生成的。我就把控件择出来,整个再重新生成一把。这应该是挺笨的了。
五、 运行以及注意事项
模型里不用管它,从vi里面直接运行,然后绿色按钮,然后就enjoy吧。调节一下两个旋钮,好的。
OK,至此基于labview和matlab中simulink的联合仿真环境已经搭建并验证运行完毕。
六、 总结
如果需要更详细的信息,请大家打开labview的帮助。老外的讲解更加的详细。
剧透一下,下一期,来一篇实际的仿真应用。matlab的程序不是我搞的,所以就不分享了。Labview的还是分享给大家。另外,用到了tdms及diadem报表插件。Diadem这个货无意中看到的,还没研究太明白,我就会用它搞个小破报表。挺好玩,挺好用的。
多学习,常总结,乐分享,幻化无影,我是刀侠。
幻影刀侠
昭星科技
15-09-05
74