logo资料库

使用LabVIEW创建SignalExpress插件.pdf

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
使用 LabVIEW 创建 SignalExpress 插件 SignalExpress 是一个交互式的测量工具,它通过交互式对话框的方式发生、采集、分析并储存信号。您无 需编程,即可快速配置出一套高效的测量工作流程。SignalExpress 的一个关键特性在于它可使用 LabVIEW 中创建的插件步骤,从而扩展它自己的功能性。SignalExpress 可能需要用到 LabVIEW 用户 VI 的情况包括: • 控制 SignalExpress 中的步骤(step)程序所不支持的 GPIB 仪器或其它测量硬件 • 读写自定义格式的文件 • 执行更高级的分析运算 • 在执行过程中弹出向导对话框,为用户提供提示信息 本文详细描述了如何使用 LabVIEW 创建 SignalExpress 插件。请参考 SignalExpress 入门手册 (可从 ni.com/manuals 下载) 了解 SignalExpress 交互式测量技术以及 SignalExpress 信号采集和分析的基本特性。 目录 • 什么是一个 SignalExpress Step(步骤) • 基础知识——在 SignalExpress 中调用任何 LabVIEW VI 程序 • 了解 SignalExpress Execution Model(执行模式) • 示例——探究 SignalExpress 用户 VI 程序模板 • 在 SignalExpress 中调用 VI 程序 什么是一个 SignalExpress Step(步骤) SignalExpress 中的“步骤”有以下特性: • • “步骤”可以有输入和/或输出信号——输入或输出是指可以被您应用项目中的其它“步骤”用作一个输 入和输出信号。输出信号也可以被拖入 SignalExpress 中的交互式显示框中进行预览。 “步骤”有诸多参数。用户可以交互式对话中输入参数值或移动控件(滑条,旋钮等)即可完成这些参 数的交互式配置。 “步骤”可以根据 SignalExpress 运行模式进行单次运行或连续运行(Run 或 Run Once) • • 用户可以使用 SignalExpress Sweep”步骤”自动对某些参数在一定的量程范围内进行自动扫描 • 在用户把 SignalExpress 应用程序转变为 LabVIEW 程序框图时,“步骤”也会相应地转变为正确的 LabVIEW 子 VI 程序或 Express VI 程序。 任何 LabVIEW VI 只要满足一些基本要求,即可被调用在 SignalExpress 中。用户只需通过几个简单的步骤 将 VI 程序打包,都不需要碰实际的 VI 程序框图,即可轻松自如地在 SignalExpress 环境中运行这些 VI 程 序了。 然而,根据您的 VI 所执行的不同任务,您可能需要使用 SignalExpress 中的 VI 用户”步骤”模板来处理 SignalExpress 引擎产生的事件。通过在 VI 中对 SignalExpress 的事件作出响应,VI 可以正确地获知 SignalExpress 的运行模式,然后相应地执行连续运行模式或单次运行模式。本文描述了在 SignalExpress 中调用一个 LabVIEW VI 程序的过程,解释了如何使用 SignalExpress 的用户”步骤 VI 模板为 SignalExpress 创建插件。 基础知识——在 SignalExpress 中调用任何 LabVIEW VI 程序 大多数 VI 程序几乎无需修改即可直接被 SignalExpress 调用。如果您要在 SignalExpress 中使用某个 VI 程 021-65557838 • 800-820-3622 • china.info@ni.com • ni.com/china National Instruments
序,您需确定这些 VI 符合以下要求: • VI 的所有输入和输出都要连在接线端子上。SignalExpress 在调用 VI 时,它会查询该 VI 的接线端 子,以确定 VI 的输入和输出。如果您没有将 VI 的输入输入连在端口上,SignalExpress 将无法与 VI 程序完成数据传输。在把 SignalExpress 应用程序转换为 LabVIEW 程序框图时也必须满足这一 要求。 • 所有您想要传给 VI 的输入和输出信号都必须在以下 SignalExpress 可用数据类型列表中: o 双精度数(Double-precision scalar) o 时域波形 o 频域波形量值(dB 或绝对值) o 频域波形相位(弧度或角度) o 布尔量(Boolean) • VI 必须另存为 reentrant VI 的格式(在 VI Properties>Execution Options 中设定)。在 VI 被调用时, reentrant VI 可以为每个 VI 创建独享的数据存储空间。因为您可能要在一个 SignalExpress 应用程 序中多次使用同一个 VI,所以您需要把 VI 存为 reentrant 格式才能正常工作。 • VI 需要另存为包含它所有子 VI 的连接库 (llb) (在 Save with Options 中设置)。通过在 LLB 中整合所 有的子 VI 程序,您可以确保所有执行 VI 所需要的各个组件完全到位。 了解 SignalExpress Execution Model(执行模式) SignalExpress 内部的执行引擎通过触发事件来控制 SignalExpress 内置”步骤”的执行。这些事件的一个子集 既可用于用户”步骤”,也可用于 SignalExpress 中被调用的 LabVIEW VI 程序。在 SignalExpress 连续运行 时,使用这些事件可以确保 VI 能以最佳的方式工作。例如,当您在 SignalExpress 中调用一个控制 GPIB 仪器的 VI 时,您可能会在 SignalExpress 连续运行的模式下遇到运行性能问题。让我们首先来了解一下在 SignalExpress 执行任务时都发生了什么事情。 当您按下 Run Once 按钮使用单次执行模式时,SignalExpress 就开始将以下各个事件应用项目的每个”步 骤”: • 配置 • 运行 • 停止 当您按下 Run 按钮使用连续执行模式时,SignalExpress 就开始将以下各个事件应用项目的每个”步骤”: • 配置 • 运行 • 运行 • 运行…(连续不断,直到按下停止钮或改变参数) • 重新配置(如果用户在某个步骤中改变参数) • 运行… • 停止(当按下停止钮) 以控制一个 GPIB 仪器的应用为例,如果您有效利用了用户”步骤”模板的事件结构,您的 VI 就能在 SignalExpress 中运行得更加顺利。让我们看一下在 SignalExpress 中控制示波器的情况。在您通过 GPIB 控制示波器时,您需要对示波器进行设置(垂直,水平,触发等等),然后从示波器上把波形数据取回来。 如果直接在 SignalExpress 中调用示波器 VI 驱动程序,当 SignalExpress 使用连续执行模式时,每次重复 执行时都要对示波器进行重新设置——这样大大降低了 SignalExpress 应用程序的性能。而比较理想的解决 方案应当是按如下步骤分解示波器 VI: 021-65557838 • 800-820-3622 • china.info@ni.com • ni.com/china National Instruments
• 只在触发配置事件时配置示波器 • 无论何时触发运行事件时示波器都显示数据 • 在触发停止事件时关闭示波器 采用这样的方法,当用户按下 Run 按钮进行连续执行时,示波器的操作就会按照如下步骤进行: • 触发配置事件——初始化示波器并根据缺省值来进行设置 • 运行——读取波形并显示 • 运行——读取波形并显示 • 运行——等等 当用户在程序运行过程中改变示波器参数值时: • 触发重新配置事件——使用新值来重新设置示波器(示波器将按照新的参数值更新设置)。由此可见: 示波器没有被重新初始化;初始化只发生配置事件里,而不会发生在重新配置中 当用户按下停止按钮,示波器驱动随即关闭。 示例——探究 SignalExpress 用户 VI 程序模板 根据上面的讨论,使用 LabVIEW VI 来响应 SignalExpress 事件看上去有点复杂。然而,SignalExpress 用 户 VI 模板可以将修改 VI 以便使用这样的事件结构的整个过程变得非常简单。下图显示了模板的代码结构(以 示波器驱动为例)。(该示波器控制代码是直接从驱动 VI 程序中获得的。) 图 1——while 循环中在自身的 case 结构中包含了配置和重新配置事件代码。当配置、重新配置、运行和停 止事件传入 VI 时,SignalExpress 执行引擎即将发生的事件决定执行哪一部分代码。在这个例子中,我们可 以看到配置和重配置事件在 while 循环中相互关联。本例中我们已经对标准模板做了修改,从而使“配置” 和“重新配置”事件并存并成为可选的选项。在触发配置事件时,配置和重新配置代码都将被执行——初始 化示波器和设置示波器的垂直,水平和触发属性。然而,在连续执行时,如果用户更改参数,则只会执行“重 021-65557838 • 800-820-3622 • china.info@ni.com • ni.com/china National Instruments
新配置”,即不经过初始化重新设置示波器。 这样就可以在 SignalExpress 连续运行时也能更改示波器的配 置。通过用“或”的方式执行这两个重新配置代码的事件,我们也就不需要在配置选项中不停重复设置“重 新配置”代码了。 图 2-在运行事件中,您看到的代码是用来读取示波器的波形。此外,这个 VI 还能读取示波器的标量测量结 果。在停止事件中,示波器即被关闭。 了解了这四个基本事件的使用方法,您即可在 SignalExpress 中轻松使用各种 VI 程序。但是请记住,在很 多情况下您都不需要这么麻烦——不需要使用事件结构模板就可以调用 VI。只要您的 VI 配置步骤不是耗费 太多时间,您运行 VI 时不会对 SignalExpress 的执行性能造成影响。 在 SignalExpress 中调用 VI 程序 在 SignalExpress 中调用一个 VI 程序作为用户”步骤”的整个过程非常简单。具体在 SignalExpress 中调用 VI 程序请参考如下步骤: 021-65557838 • 800-820-3622 • china.info@ni.com • ni.com/china National Instruments
图 3 在 SignalExpress 用户自定义步骤中,您可以选择任何一个 LabVIEW VI,并对它们的输入和输出进 行配置 1.在您的应用项目中使用用户自定义”步骤”。用户自定义”步骤”设置页显示如图 4。 2.在弹出的用户话框中选择一个 VI 文件。按下 Open VI Front Panel 按钮即可查看该 VI 的前面板,并修改 前面板上控件的设定值,如图 4 所示。 3.然后,SignalExpress”步骤”就开始查询 VI 的连接端口,创建一张输入 (input) 列表,并将其显示在输入 (input) 列表控件中。您必须定义哪些输入作为 SignalExpress 的信号输入或参数值。 a. 信号输入将会作为”步骤”输入显示在 SignalExpress 应用项目视图中。您可以把信号作为输入传给了”步 骤”。 b. 参数是可以在 VI 前面板上被交互式设定的控件值。例如,如果您想要调用一个用于信号过滤的 VI 用作用 户”步骤”,您就将它的输入信号配制成一个”步骤”的输入信号,而滤波器特性的设置值就是参数。需要记住 的是,在 SignalExpress 的扫描步骤中也能自动更改这些参数。 4. 用户框创建了一个 VI 的输出信号列表,并将其显示在”Select Output”中。对于每一个的输出信号,您必 021-65557838 • 800-820-3622 • china.info@ni.com • ni.com/china National Instruments
须指定一种合适的 SignalExpress 信号类型。这样做是为了让所有后续步骤能正确处理这些信号。 图 4 按下 Open VI Front Panel 按钮,您即可查看该 VI 的前面板并更改前面板控件值 在确定了用户自定义步骤中的输入和输出信号以及参数信息后,您现在就可以在您的 SignalExpres 应用项 目中连续执行这些步骤了。在执行过程中,打开对话框并更改”步骤”的参数,它即能正确执行,其效果非常 接近 SignalExpress 自带的”步骤”程序。 要了解更多有关创建并使用 LabVIEW VI 来扩展 SignalExpress 功能的技术信息,可参考 SignalExpress 用 户手册。 021-65557838 • 800-820-3622 • china.info@ni.com • ni.com/china National Instruments
分享到:
收藏