首页 » labview » 技术文章

如何为NI Multisim创建基于LabVIEW的虚拟仪器

2014-01-14

核心提示:Multisim的交互式仿真功能旨在帮助硬件设计更好地理解电路行为。然而,仿真的质量高度依赖于应用的信号及分析和显示仿真数据的方

Multisim的交互式仿真功能旨在帮助硬件设计更好地理解电路行为。然而,仿真的质量高度依赖于应用的信号及分析和显示仿真数据的方法。为了缩短传统设计和测试之间的距离,Multisim提供了实现和使用个性化仪器的功能,该功能基于LabVIEW并配合使用SPICE电路,可将传统的电原理图转化为虚拟原型化。现在,用户可以将实际的信号连接到Multisim中,使用输出数据驱动实际电路或者根据需要显示仿真数据。
 
系统要求
Multisim的最新版本是NI Multisim 10.0.1。该版本的Multisim支持在LabVIEW 8.2.xLabVIEW 8.0.x中创建的LabVIEW仪器。
需要考虑的问题
  • 用户可以创建输入仪器(Multisim输入数据到基于LabVIEW的仪器)或者输出仪器(基于LabVIEW的仪器输出数据到Multisim)
  • 在仿真运行过程中,输入仪器持续从Multisim接收数据。如果需要构建或使用连接到实际I/O上的仪器(DAQGPIB、串口、文件等),请考虑仿真时间(SPICE Tmax、电原理图复杂度、CPU速度等有关)与“实时”之间的关系。
  • 输出仪器不能在仿真运行时将数据传输到Multisim。这意味着数据采集、生成等需要在开始SPICE仿真前完成(例如,首先使用麦克风记录数据,然后开始仿真)
  • 基于LabVIEW的仪器在LabVIEW的项目中构建,所以需要LabVIEW 8.0或后续版本来创建新型的仪器。
  • 只需要使用LabVIEW创建仪器。而不需要在运行Multisim的机器上安装LabVIEW软件。
 
创建新型仪器
创建输入或输出仪器几乎是同样的流程。在这篇手册中,我们将创建新型的输入仪器,从SPICE电路中接收信号,并将其与上限和下限值进行比较。我们还会解释其与创建输出仪器的不同之处。
Note: DO NOT delete any of the front panel controls or block diagram code. Everything the template comes with is required for communication between Multisim and an instrument based on LabVIEW.
注意:不要删除前面板上的控件或程序框图程序框图代码。模板中的一切内容都是在Multisim和基于LabVIEW仪器间进行通信所需要的。
步骤1:复制并重新命名模板项目
1.     ...samples\LabVIEW Instruments\Templates\Input 文件夹复制到新的目录中。
2.     ..\Input 文件夹重新命名为 ..\In Range
3.     ..\In Range\StarterInputInstrument.lvproj文件重新命名为 In Range.lvproj
4.     LabVIEW中,双击..\In Range\In Range.lvproj项目文件将其打开。
5.     Starter Input Instrument.vit上点击右键,并选择Save As。在弹出的对话框中,将模板重新命名为In Range Instrument.vit
6.     重复相同的过程将Starter Input Instrument_multisimInformation.vi 重新命名为 In Range Instrument_multisimInformation.vi (注意:不管为子VI选择什么样的名称,都必须保持“_multisimInformation.vi”的扩展名,使得Multisim能够加载仪器)
7.     保存项目。


 

步骤2:指定界面信息

1.     In Range_multisimInformation.vi 上双击将其打开。
2.     切换到VI的程序框图中 ( Ctrl-E, 或者点击Window > Show Block Diagram)
3.     输入下列信息:
1.     Instrument ID = "InRange" (用于在MultisimLabVIEW间进行通信)
2.     Display name = "In Range" (显示在Multisim仪器工具列表中的名字)
3.     Number of pins = "1" (设定仪器输入管脚的数目)
4.     Input pin names = "In" (使用在SPICE netlist netlist report中的管脚名称)
4.     保存 (File > Save) VI文件并关闭程序框图和前面板。
注意:有效的仪器可以拥有输入管脚或输出管脚,但是不能两者兼有。如果将输入管脚和输出管脚的数目都设定为>0,那么该仪器不会被认为是有效的LabVIEW/Multisim仪器。

注意:在创建输出设备时,需要为输出管脚数目和输出管脚名称填写合适的值。
 
步骤 3: 创建个性化仪器
构建仪器的前面板
1.     In Range Instrument.vit上双击将其打开。
2.     选择前面板,并将其更改为下面的图形。
1.     移动 (不是删除)所有用户不该看到的控件。
2.     在前面板上点击右键,从数值控件中添加一个水平指针条。
3.     将控件重新命名为Upper Limit
4.     在指针条上点击右键,选择数据范围,并输入如下图所示值。
5.     重复上述步骤,创建名为Lower Limit的指针条,并将其默认值设定为-5
6.     Boolean Control选板选板中摆放一个方形LED,并将其重新命名为In Range ?

 
注意:前面板中还有一个名为“Sampling Rate [Hz]”的控件,其默认值为10kHz。该控件决定了数据从仿真传输到基于LabVIEW仪器的速率。如果需要更改该参数,可以通过更改默认值或通过在仪器界面上访问该控件来实现。
完成仪器的程序框图
 
1.     切换到程序框图 ( Ctrl-E) ,并将下列图形化代码添加到下面while loop的“Updata datacase结构中。
1.     扩大case结构的空间(按住Ctrl键,使用鼠标左键画一个方框)
2.     从数组选板中摆放一个“Index array”的VI,为管脚1(输入管脚)选择数据。
3.     从波形选板中摆放 "Get waveform components"VI从连线中提取Y轴数据。
4.     在比较选板中摆放"In Range and Coerce"VI,并将前面板的控件连接到上限和下限的终端上。
5.     从数组选板中摆放一个“Index arrayVI,并将输入连接到"In Range and Coerce" 函数的"In Range"终端上。将输出标量连接到前面板的方形LEDIn Range ?”上。
6.     保存VI,并且关闭前面板和程序框图。

注意:创建输出仪器的过程非常相似,只需要将所有需要发送到Multisim的数据连接到update Initial Output Data的条件结构分支中被命名为Multisim输出管脚的控件上即可。
注意:如果需要保存电路的仪器数据(设置、控件值等),则应当在"Serialize Data" "Deserialize Data"结构中加入适当的代码。
 
步骤 4: 构建个性化仪器
1.     展开Build Specifications,并在Source Distribution上双击将其打开。
1.     选择"Distribution Settings"条目。
2.     Distribution Directory 改为 ...\In Range\Build\In_Range.llb
3.     点击Build 按钮。
2.     在构建过程完成后,点击Done
3.     保存项目 (File > Save Project) ,并关闭LabVIEW
 


 
安装并使用个性化仪器
Multisim内使用个性化仪器所有的所需都在Multisim安装包中提供。如果需要与同事或其它Multisim用户共享新型仪器,只需要将项目..\Build目录下的*.llb文件发送给他们。
1.     转到项目的build 文件夹 "...\In Range\Build\",并将新型的仪器"In_Range.llb" 复制到Multisim安装目录... \lvinstruments\文件夹中。
2.     启动 Multisim.
3.     从仪器工具栏的LabVIEW类型或者从 Simulate 菜单(Simulate > Instruments > LabVIEW Instruments > In Range),访问新型的“In Range”仪器。
4.     创建简单的电路,测试仪器的功能。
1.     摆放波形发生器。
2.     摆放新的In Range 仪器,并且将其连接到波形发生器的+管脚上。
3.     摆放 Ground,并将其连接到波形发生器的Ground管脚上。
4.     在波形发生器的图标上双击打开它的界面,输入如下值:
1.     Waveform: Sine Wave
2.     Frequency: 60 Hz
3.     Amplitude: 10 Volts
5.     In Range 仪器图表上双击并打开它的界面。
5.     开始仿真并确认仪器的行为。
 
 

相关新闻

排行榜