利用LabVIEW工具包实现Multisim自动化

2009-02-26 14:21:12来源: NI公司

该文档介绍了LabVIEW Multisim连接工具包(ß版)。该工具包可从ni.com/labs获得,它是Multisim自动化API的一个封装程序。利用这一组针对LabVIEW的工具包VI,您可以创建获取电路仿真数据的应用。

在该篇白皮书中,您将学习关于Multisim自动化的使用技巧和该工具包的有关知识。

目录

  1. 引言
  2. 改进验证的必要性
  3. Multisim与LabVIEW
  4. 仿真的自动化
  5. LabVIEW Multisim连接工具包
  6. 该工具包的应用
  7. 利用LabVIEW连接工具包的Multisim自动化的用例

引言

传统的电路设计与测试领域,因为不同的工具和缺少一个便于传输设计和测试数据的通用接口,而继续被分割。设计的初始分析和系统原型性能验证之间的这一分割,长时间以来导致了错误和多次重复构造设计原型。

将仿真作为设计流程的一个环节,我们可以动态评估电路的性能并尽早发现错误。利用改进后的验证,以及原型系统性能的基准评估,可以更为恰当地评判该设计的整体成功与否。

NI Multisim与NI LabVIEW,作为集成化平台的一部分,在传输仿真和实测数据的能力方面具有独特之处。通过这样的集成,测试环境(LabVIEW)不仅能够采集原型测量数据,还能够采集仿真的输出结果。这两组数据通过一个接口,可以方便地进行比较和相关处理。利用一组扩展的分析函数,LabVIEW可以进一步分析该原型系统与期望结果(仿真结果)的偏差。

在该篇简介性的白皮书中,您将学习如何利用LabVIEW Multisim连接工具包(ß版)采集LabVIEW环境中的仿真数据。利用这一组VI您可以进行可编程控制及实现Multisim仿真的自动化。Multisim 10.1支持与COM-aware编程语言连接的自动化功能特性。LabVIEW Multisim连接工具包是该自动化功能特性的一个封装程序,从而支持与LabVIEW的连接及实现可视化的Multisim仿真测量。通过这一采集过程,您获得了一种改进的验证方法。

改进验证的必要性

为了理解改进验证的必要性,我们必须首先了解设计流程。传统的电路设计流程由三个主要阶段组成:

  1. 必须输入设计拓扑,并通过仿真验证设计决策
  2. 验证后的设计必须通过布局和布线过程构造原型系统
  3. 必须验证原型系统的性能

最后,当我们根据原型系统的验证结果改善设计时,我们便进入到了重复循环的状态。

输入与仿真、布局与布线、测试与验证

然而,该设计流程在此阶段的一个主要问题便是,没有实现传统的设计领域与测试验证领域之间的集成。这两个领域之间的连通性的缺乏,增加了工程师们传输数据和测量的难度。由于没有对设计性能和设计规范(即仿真结果)比较的准确把握,准备的评估设计的性能变得愈加困难。这可能意味着错误在设计流程中重复发生并进入到制造阶段。

这便是所谓的“砖墙鸿沟”。对于可预见的、统一的且不断改进的从设计规范到原型系统验证的设计流程的一个障碍。

为了克服这一砖墙鸿沟,我们需要一个同时集成了设计与验证功能的平台。现在,Multisim的图形化设计与LabVIEW的验证能够无缝结合,以便克服这一障碍并帮助实现改进的验证方案。

Multisim与LabVIEW

Multisim是一款针对模拟与数字电路的原理图输入和交互式仿真环境。通过将SPICE仿真的功能封装在一个图形化界面内,使得电路仿真更为方便和快捷。Multisim含有多个不同的分析功能,其范围覆盖从瞬态到AC的分析和从蒙特卡罗到最劣分析。Multisim与布局工具(如Ultiboard和Mentor Graphics)连接,以具体实现电路的原型系统。

http:/zone.ni.com/cms/images/devzone/tut/image12573.jpg

LabVIEW是一种专为快速开发应用而设计的图形化编程语言。它可以使工程师们快速连接硬件并进行实际的测量。利用LabVIEW,工程师们可以以图形化的方式确定算法,以分析与应用需求相关的测量数据。

http:/zone.ni.com/cms/images/devzone/tut/image24564.jpg

正是通过整合这两个环境才使得实际测量结果和仿真测量结果可以进行比较和分析,从而改善实际电路的验证。该整合工作可以通过Multisim自动化API完成。

仿真的自动化

Multisim自动化API支持基于COM接口实现的Multisim仿真的自动化和数据采集。该API允许您编程控制Multisim仿真,而无须察看Multisim。利用COM-aware语言编写的客户端(如NI LabVIEW),可以通过这一接口访问Multisim,并利用该仿真引擎采集仿真测量结果。

通过该API,您可以:

  1. 打开与关闭已有电路。
  2. 可选地接入一个信号以替代现有的电压或电流源。
  3. 启动、停止和暂停仿真。
  4. 从现有的静态探针读出仿真结果。
  5. 列举原理图中的组件。
  6. 利用数据库中的组件替代在用组件。
  7. 获取和设置电阻、电容和电感组件的标称值。
  8. 枚举变量。
  9. 获取和设置仿真中的有源变量。
  10. 生成关于原理图的报告,包括BOM表和netlist报告
  11. 生成该电路的图像文件。
  12. 该API可以改变和替换设计中的顶层组件;子电路中的组件和层次结构中的组件不可以改变。 

设置输入

为了设置针对自动化的Multisim仿真,需要定义某些元素以供最终轮询原理图确定输入与输出数值。

利用该API,您能够设置一个信号源的数值。在下面的原理图中,输入值是电流源与电压源(如V2)。在Multisim原理图中,在您将需要该自动化API能够调整或设置输入数值的任意位置,放置一个DC或AC电源。该DC或AC电源创建了Multisim仿真引擎与自动化程序之间的连接。

放置一个DC或AC电源的步骤包括:

  1. 选中放置>>组件。
  2. 在“选择一个组件” 的对话框中选中主数据库。
  3. 在“组”字段,选中“信号源”组。
  4. 在“族”字段,选中“电源”族。
  5. 这里,您可以选择“交流电源”或“直流电源”作为信号源。

设置输出

输出用布置在需要进行分析处理的节点上的探针表示。这些探针及其所采用的名称指定了相应的自动化应用——将从原理图中采集仿真数据的节点。

放置和识别探针的步骤包括:

  1. 选择仿真>>仪器>>测量探针。
  2. 将该探针与电路中感兴趣的节点相连接(如下面的输出所示)。
  3. 双击该探针。
  4. 选中显示键。
  5. 在RefDes部分,键入该探针的名称。对电路的输出而言,output通常是一个合适的名称。

 

http:/zone.ni.com/cms/images/devzone/tut/image24546.jpg

自动化

完成电路设置后,就该开始实现该仿真的自动化了。自动化是基于Active-X实现的,而且,这些Active-X控件支持您与C、Visual Basic和LabVIEW等编程语言连接,并从Multisim原理图或Multisim仿真采集数据。

下面我们看到的LabVIEW中的一小部分代码是基于Active-X实现与Multisim的连接。

http:/zone.ni.com/cms/images/devzone/tut/image12585.jpg

 

LabVIEW Multisim连接工具包

LabVIEW Multisim连接工具包(β版)是一组面向Multisim自动化API的封装程序。各种函数,如打开、关闭和查看电路的函数,以及运行、暂停和停止仿真的函数,均已包含在VI中。这就意味着可以利用标准的LabVIEW编程实现自动化,而不是必须访问Active-X控件(如上所示)。

如欲下载和安装该连接工具包,敬请访问ni.com/labs按照相关说明下载。

如果成功安装,您可以在连接函数选板(如下所示)内看到LabVIEW Multisim连接工具包,并可以通过函数>>连接>>Multisim选中该工具包。

http:/zone.ni.com/cms/images/devzone/tut/image12550.jpg

 

工具包函数

下表描述了工具包中所有的各种子选板、其相关的VI及其一般用途或功能特性。

连接函数

功能特性

描述

http:/zone.ni.com/cms/images/devzone/tut/image24554.jpg 

Multisim连接

  • Multisim连接.vi
  • Multisim已连接.vi
  • Multisim断开.vi

 

这些连接VI支持您连接Multisim仿真引擎或者断开该连接。

http:/zone.ni.com/cms/images/devzone/tut/image24552.jpg

 

I/O配置与控制

  • Multisim枚举输入.vi
  • Multisim保留输入.vi
  • Multisim设置输入数据.vi
  • Multisim清除输入数据.vi
  • Multisim枚举输出.vi
  • Multisim设置输出请求.vi
  • Multisim输出就绪.vi
  • Multisim获取输出数据.vi
  • Multisim清除输出请求.vi

自动化仿真包括各种I/O单元。这些I/O函数支持您获取、设置或清除仿真的输入与输出。

 http:/zone.ni.com/cms/images/devzone/tut/image24556.jpg

仿真控制

  • Multisim运行仿真.vi
  • Multisim暂停仿真.vi
  • Multisim重新开始仿真.vi
  • Multisim停止仿真.vi
  • Multisim运行仿真直至下一个输出.vi
  • Multisim等待下一个输出.vi
  • Multisim仿真状态.vi
  • Multisim执行AC扫描.vi
  • Multisim执行命令行.vi

通过这些控制函数完成对仿真的实际控制(包括运行、停止、暂停、重新开始等)。

 http:/zone.ni.com/cms/images/devzone/tut/image24558.jpg

文件管理

  • Multisim打开文件.vi
  • Multisim保存.vi
  • Multisim新建文件.vi
  • Multisim文件名称.vi
  • Multisim电路名称.vi

这些标准VI支持您打开、保存、关闭和命名通过该工具包查看的原理图。

http:/zone.ni.com/cms/images/devzone/tut/image24560.jpg

电路配置

  • Multisim枚举组件.vi
  • Multisim枚举部分.vi
  • Multisim替换组件.vi
  • Multisim枚举变量.vi
  • Multisim有源变量.vi

正如前面提及的,该工具包支持您使用该API功能在设计中改变取值/组件的功能特性。

 http:/zone.ni.com/cms/images/devzone/tut/image24562.jpg

错误与例程

  • Multisim最后一条错误的信息.vi
  • Multisim记录文件.vi
  • Multisim报告.vi
  • Multisim版本信息.vi
  • Multisim路径.vi
  • Multisim注册停止事件.vi
  • Multisim获取电路图像.vi

这些标准的VI支持您处理错误以及其他与使用该自动化API相对应的例程。

多态函数

为了更为方便地设计,许多LabVIEW函数是多态函数,这意味着单个组块根据“个性化”设置不同具有多项功能。例如,如果我们查看下面的记录文件函数,它具有三种特性:

  1. 获取记录文件路径
  2. 设置录入文件路径
  3. 禁止录入文件路径

下表展现了所有各种可用的多态函数及其相关特性:

函数

特性

枚举输入

  • 一维字符串数组
  • 变量

枚举输出

  • 一维字符串数组
  • 变量

设置输入数据

  • 原始数据
  • 采样数据

清除输入

  • 输入
  • 所有输入

清除输出

  • 输出
  • 所有输出

AC扫描

  • 字符串
  • 一维字符串数组
  • 变量

保存

  • 保存
  • 保存为…

枚举组件

  • 一维字符串数组
  • 变量

有源变量

  • 获取
  • 设置

RLC数值

  • 获取
  • 设置

上一条错误的信息

  • 应用中的错误
  • 电路中的错误

报告

  • BOM(实际、虚拟、txt格式、csv格式)
  • Netlist(探针、未使用探针、txt格式、csv格式)

录入文件

  • 获取
  • 设置
  • 禁止

Multisim路径

  • 获取
  • 设置

该工具包的应用

下面我们可以看到关于如何设置AC分析的一个小型范例。其代码几乎完全是基于上面提到的LabVIEW Multisim连接工具包VI。您将注意到LabVIEW实现编码的方式是基于从一个函数到另一个函数的“数据流”的。通过仅选择一些基本的连接VI,您就可以采集仿真数据。

该代码的基本流图从左至右,执行下列功能:

  1. 连接至Multisim自动化API(Multisim连接选板)
  2. 基于“文件路径输入”数据打开一个Multisim文件(文件管理选板)
  3. 枚举电路内的各种输入与输出(I/O配置与控制选板)
  4. 执行AC分析(仿真控制选板)
  5. 等待AC分析的结束(仿真控制选板)
  6. 获取分析的输出数据(I/O配置与控制选板)
  7. 显示仿真数据
  8. 关闭与Multisim自动化API的连接(Multisim连接选板)

利用LabVIEW连接工具包的Multisim自动化的用例

现有三个主要的针对仿真自动化与LabVIEW Multisim连接工具包的用例:

  1. 单个环境中的仿真与验证的自动化
  2. 执行复杂的多仿真分析
  3. 利用LabVIEW的网页功能特性实现在线仿真

仿真与验证

凭借LabVIEW所提供的与硬件的直接连接,可以方便地在单个环境中采集真实测量数据和仿真测量数据。两组测量数据利用同一个接口,LabVIEW可以用于比较仿真测量数据和真实测量数据,以验证一个物理原型系统相对于仿真结果的性能。

这体现了一种非常简单却很强大的基于最初设计规范来标定原型系统的性能的方式。这就是所谓的集成设计与测试。

http:/zone.ni.com/cms/images/devzone/tut/image12589.jpg

关键字:LabVIEW  Multisim  方针  自动化

编辑:冀凯 引用地址:http://www.eeworld.com.cn/Test_and_measurement/2009/0226/article_508.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
LabVIEW
Multisim
方针
自动化

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved