汪 源, 王良成, 王连胜
(三亚学院 理工学院, 海南 三亚 572022)
两种软件联合仿真在电子类实验教学中的应用
汪 源, 王良成, 王连胜
(三亚学院 理工学院, 海南 三亚 572022)
本文介绍了LabVIEW联合Multisim的仿真方法,利用两种软件的优势,大大扩展了仿真的适用领域和范围,使以往的电子类实验教学中难以直接仿真的实验得以实现,同时使数据在仿真时可实时地在软件间进行传输,真正达到了实时联动仿真。联合的结果丰富了电子类教学的资源,提高了学生的学习积极性和创新意识。
LabVIEW;Multisim;联合仿真
实验室虚拟仪器工程平台LabVIEW(Laboratory Virtual Instrumentation Engineering Workbench)是由美国国家仪器公司(NI公司)所开发的一种用图标代替文本行创建应用程序的图形化编程语言。它采用数据流的编程方式,程序框图中节点之间的数据流向决定了程序的执行顺序。LabVIEW主要应用于仪器控制、数据采集、数据存储、数据分析和数据显示等领域[1]。
Multisim是一款用于原理电路设计、电路功能测试的仿真软件,可以虚拟设计测试和演示各种电子电路(电工学、模拟电路、数字电路等),具有丰富的仿真分析能力。通过Multisim和虚拟仪器技术,可以完成从理论到原理图捕获与仿真再到原型设计和测试的完整综合设计流程。
电子类实验教学的应用中,LabVIEW软件的优势在于可以按照实际的需要设计“虚拟仪器”,用于产生、采集和处理各种信号,具有强大的数据运算和处理功能,且仪器界面友好和美观,但LabVIEW不能进行电子电路的仿真;
Multisim软件的优势在于可以对各类电子电路进行仿真并进行相关的测试,但对于特殊信号的产生(如非正弦的周期信号、公式信号等)、对输出信号的数据进行特殊处理(如仿真产生的电信号转换为其他物理信号、最大功率传输问题中负载大小的判断等)等方面存在缺陷。
Multisim被NI公司收购以后,其性能得到了较大的提升,最大的改变就是Multisim 与LabVIEW的完美结合,使其具有以下新特点:①可以根据自己的需求制造出真正属于自己的仪器;②所有的虚拟信号都可以通过计算机输出到实际的硬件电路上;③所有硬件电路产生的结果都可以传输到计算机进行处理和分析。用户可以创建输入仪器(Multisim输入数据到基于LabVIEW的仪器)或者输出仪器(基于LabVIEW的仪器输出数据到Multisim)。改进后,LabVIEW和Multisim之间的数据传输、数据处理、功能融合得到了更好地实现,在真正意义上实现了联合仿真[2]。
在电子类实验中,基于LabVIEW和Multisim的联合仿真方法有两种:一种为基于LabVIEW环境调用Multisim虚拟仪器,另一种为基于Multisim环境调用LabVIEW虚拟仪器[2-4]。前一种方法在文献[4]中已有较为详细的描述,本文将以“温度采集模拟系统”为例详细描述后一方法,即基于Multisim环境调用LabVIEW虚拟输入仪器,调用LabVIEW虚拟输出仪器的步骤可类似得出,方法共分如下5步[6]。
1)搭建编程环境
安装Multisim10.0或以上版本软件及LabVIEW8.0或以上版本软件(注意:在安装Multisim过程中需安装NI LabVIEW-Multisim Co-simulation插件)。
2)构建模板项目(基于LabVIEW环境)
(1)将LabVIEW的安装目录中samplesLabVIEW InstrumentsTemplatesInput (若为Window7或以上操作系统,目录为C:UsersPublicDocumentsNational Instruments Circuit Design Suite 11.0samplesLabVIEW InstrumentsTemplates)文件夹复制并重新命名为“温度传感器”;
(2)将其中“Starter Input Instrument.lvproj”项目文件重新命名为“温度传感器.lvproj”,并打开;
(3)将“Starter Input Instrument.vit”重新命名为“温度传感器Instrument.vit”;
(4)将“Starter Input Instrument_multisimInformation.vi”重新命名为“温度传感器Instrument_multisimInformation.vi”(注意:必须保持“_multisimInformation.vi”的扩展名);
(5)保存项目。
3)指定界面信息(基于LabVIEW环境)
打开“温度传感器Instrument_multisimInformation.vi”,输入下列信息:Instrument ID =“温度传感器”,Display name =“温度传感器”,Number of input pins =“1”,Input pin names =“In”,并保存关闭VI文件。
注意:有效的仪器只能拥有输入管脚或输出管脚,否则为无效的仪器。
4)创建输入仪器(基于LabVIEW环境)
(1)构建仪器的前面板——打开“温度传感器Instrument.vit”,构建如图1所示的前面板;
图1 输入仪器的前面板
(2)完成仪器的程序框图——按温度传感器对信号的转换要求完成仪器的程序框图设计,结果如图2所示(注意:创建输出仪器的过程非常相似,只需要将所有需要发送到Multisim的数据连接到Update Initial Output Data的条件结构分支中被命名为Multisim输出管脚的控件上即可);
(3)保存VI,并且关闭前面板和程序框图;
(4)构建输入仪器——展开Build Specifications,并双击打开Source Distribution,选择“Distribution Settings”条目,将Distribution Directory改为 ...温度传感器Build温度传感器.llb,完成后保存项目并关闭LabVIEW。
注意:不要删除VI前面板上的控件或程序框图
图2 输入仪器的程序框图
中的代码,模板中的一切内容都是在Multisim和基于LabVIEW仪器间进行通信所需要的。
5)安装输入仪器(基于Multisim环境)
在Multisim内使用的仪器都在Multisim安装包中提供。
(1)将构建的输入仪器“温度传感器.llb”复制到Multisim安装目录中“lvinstruments”文件夹中;
(2)启动 Multisim,从仪器工具栏的LabVIEW类型或者从Simulate 菜单(Simulate > Instruments > LabVIEW Instruments >温度传感器),访问输入仪器“温度传感器”;
(3)在Multisim中构建如图3所示的温度采集模拟系统电路,并将电路输出的电信号输入到“温度传感器”输入仪器中(图3中XLV1控件)。
图3 Multisim中构建温度采集模拟系统的电路
2.1 基于Multisim环境调用LabVIEW虚拟仪器
按照上述的联合仿真方法,在Multisim程序中设计相应的电子电路,虚拟产生与实际电路相似的电信号,通过调用LabVIEW虚拟仪器的方法将该电信号输入LabVIEW程序进行相应的数值计算转换为与之对应的物理信号,并实时显示结果。
上述的“温度采集模拟系统”案例中,Multisim程序通过对如图3所示的电子电路进行仿真得到温度传感器采集并进行放大的电压信号,将该电压信号输入到“温度传感器”输入仪器中,Multisim程序将实时调用LabVIEW程序对电压值进行如图2所示的数值运算,得到与之对应的温度值,并将结果实时显示在“温度传感器”输入仪器的面板上,结果如图4所示。
图4 “温度传感器”输入仪器运行结果
注意:如果需要构建或使用连接到实际I/O上的仪器(如DAQ、GPIB、串口、文件等),请考虑仿真时间(与SPICE Tmax、电原理图复杂度、CPU速度等有关)与“实时”之间的关系;输出仪器不能在仿真运行时将数据传输到Multisim,因此数据采集、生成等需要在开始SPICE仿真前完成(如先使用麦克风记录数据,然后开始仿真)。
此外,Multisim软件中自带了部分可以调用的LabVIEW虚拟输入仪器和虚拟输出仪器,利用这些LabVIEW虚拟仪器可以大大扩展Multisim软件仿真的运用领域,丰富电子类实验教学资源。图5和图6展示的是基于Multisim环境调用LabVIEW虚拟输出仪器“信号发生器”来产生锯齿波的案例,此外还可根据实际情况自定义LabVIEW虚拟仪器来满足联合仿真的需要。
图5 LabVIEW虚拟输出仪器“信号发生器”
图6 Multisim中调用“信号发生器”产生锯齿波
通过Multisim环境调用LabVIEW虚拟仪器将Multisim进行电子电路信号处理的功能和LabVIEW进行数值计算和结果显示的功能有机、实时地结合,优势互补,实现了其它虚拟仿真软件不能实现的功能,为传感器电路信号的实时转换、电子电路信号的实时处理等提供了简单、有效的虚拟仿真方法。
2.2 基于LabVIEW环境调用Multisim虚拟仪器
文献[9]中介绍的基于LabVIEW环境调用Multisim虚拟仪器的方法也广泛适用于电子类实验教学中。该方法由LabVIEW生成变化的信号或变化的电路元件参数来控制Multisim程序中的信号源或元件参数的变化,Multisim程序实时仿真电子电路产生的信号后将信号输回LabVIEW程序进行处理、显示等操作。
图7展示的是“正弦稳态电路最大功率传输定理”案例,通过LabVIEW程序改变Multisim程序中压控可调电阻的阻值(由Multisim程序中IO3接口控制)实时仿真电路变量的变化情况,并将结果输回LabVIEW程序进行信号波形显示和功率计算,从而达到寻找最大功率电阻阻值。图8为“RLC串联电路响应”案例,通过LabVIEW程序改变Multisim程序中电阻、电感和电容的大小,实时仿真电路变量的变化情况,并在LabVIEW程序中实时显示各种阻尼过程的响应。
图7 正弦稳态电路最大功率传输定理的前面板和程序框图
从中可以看出LabVIEW软件对于数据分析、处理及显示等方面的优势,但不同情况下电路的响应又是调用Multisim软件来实现的,真正将这两种虚拟仿真软件有机结合起来实现联合仿真。
图8 RLC串联电路响应的前面板和程序框图
本文通过介绍两种基于LabVIEW和Multisim仿真软件的联合仿真方法,大大扩展了联合仿真方法的适用范围,使得以往高校电子类实验教学中难以直接仿真的实验项目得以实现,同时联合仿真方法使得数据在仿真时可以实时地在这两种仿真软件中相互传输,真正意义上达到了实时联动仿真。联合仿真方法大大丰富了电子类实验教学的资源,在教学过程中极大提高了学生的学习积极性和创新意识。
[1] 陈敏, 汤晓安. 虚拟仪器软件LabVIEW与数据采集[J]. 沈阳: 小型微型计算机系统, 2001(4):501-503.
[2] 陈海生, 王峰, 郭晓云, 等. 一种LabVIEW和Multisim联合仿真的方法[J]. 南京: 电气电子教学学报, 2014(2):118 -120.
[3] 刘 俊. 基于LabVIEW结合Multisim的仿真[J]. 重庆: 重庆工学院学报, 2008(7):73-76.
[4] National Instruments. 如何为NI Multisim创建基于LabVIEW的虚拟仪器[EB/OL]. http://www.ni.com/ tutorial/5635/zhs/, 2009-04-23/2015-08-01.
Application of The Co-simulation Method with Two Softwares in Electronic Teaching
WANG Yuan, WANG Liang-cheng, WANG Lian-sheng
(PolytechnicInstitute,SanyaUniversity,Sanya572022,China)
The paper introduce co-simulation methods with LabVIEW and Multisim. It use the advantages of LabVIEW and Multisim, and greatly extend the applicable field and range. In addition,the two methods make the simulation of the electronic experimental project that hard to be simulated become a reality, and can real-time transmit the data that between the LabVIEW and Multisim, in order to achieve the real-time co-simulation. The two methods enrich the resources of electronic teaching, and improve the students′ learning initiative and innovation consciousness.
LabVIEW; Multisim; co-simulation
2015-08-04;
2015-09- 25
海南省高等学校教育教学改革研究项目(Hnjg2016ZD-20)
汪 源(1984 - ),男,硕士,副教授,主要从事电工电子技术的教学和虚拟仿真技术的研究,E-mail:wangyuan0155@163.com
TP274
A
1008-0686(2016)03-0147-04