主要内容

创建一个应用程序模拟触发数据采集使用状态流程图

这个例子展示了如何使用statflow®,data acquisition Toolbox™和app Designer创建一个模拟触发的数据采集应用程序。

数据采集工具箱提供从DAQ设备或音频声卡获取测量数据的功能。对于某些应用,建议使用模拟触发采集,根据测量的模拟信号的条件开始捕获或记录数据。软件模拟触发采集使您能够从连续的测量数据流中只捕获感兴趣的一部分。例如,当信号电平超过某个阈值时,可以捕获音频记录。

这个示例应用程序,由app Designer和statflow创建,展示了如何实现这些操作:

  • 通过使用状态流程图控制应用程序的状态逻辑。

  • 发现可用的DAQ设备并选择要使用的设备。

  • 配置设备采集参数。

  • 在获取过程中在应用UI中显示一个动态的情节。

  • 根据可编程的触发条件执行触发数据捕获。

  • 保存捕获的数据到MATLAB®基础工作区变量。

默认情况下,应用程序在app Designer中以设计模式打开。要运行应用程序,请单击运行按钮或从命令行执行应用程序:

AnalogTriggerAppStateflow

需求

这个例子应用程序需要:

  • MATLAB R2020a或更高版本。

  • 数据采集工具箱(仅支持Windows®)。金宝app

  • 状态流(仅用于创建和编辑图表)。

  • 支持金宝app的DAQ设备或声卡。例如,任何支持模拟输入的国家仪器或测量计算设备金宝app电压IEPE测量和背景采集。

  • 相应的硬件支持包和设备驱动程序。金宝app

应用状态和状态流程图

当创建一个具有复杂逻辑的应用程序时,考虑应用程序的运行模式对应的各种状态。你可以使用状态流程图来可视化和组织这些应用程序的状态。使用状态之间的转换来实现应用程序的控制逻辑AnalogTriggerAppLogic.sfx定义控制这个应用程序逻辑的状态流程图。该图表可以基于应用程序UI中的一个动作或数据驱动的条件在状态之间转换。例如,如果单击开始按钮,图表从配置状态收购状态。如果信号的值越过指定的触发电平,则图表从LookingForTrigger状态CapturingData状态。

将应用程序与状态流程图集成

建立MATLAB应用程序与状态流程图之间的双向连接,在startupFcn函数,创建一个图表对象,并将其句柄存储在app属性中。

app.Chart = AnalogTriggerAppLogic (“应用程序”、应用程序);

应用程序使用这个句柄来触发图表中的状态转换。例如,单击时开始,StartButtonPushed应用回调函数调用acquisitionStart图表的输入事件。该事件触发从配置状态收购状态。

为了评估图表中不是事件的转换条件,应用程序调用一步函数用于图表对象。例如,当从设备获取数据时,dataAvailable_Callback应用程序函数定期调用一步函数。当检测到触发器条件时,图表从LookingForTrigger状态CapturingData状态。

在statflow图表中,将app对象句柄存储为图表本地数据。为了共享应用程序的公共属性和调用公共函数,状态流程图可以在状态动作、转换条件或转换动作中使用此句柄。