主要内容

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

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

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

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

  • 使用StateFlow Chart控制应用状态逻辑。

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

  • 配置设备采集参数。

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

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

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

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

AnalogTriggerAppStateflow

要求

这个例子应用程序需要:

  • MATLAB R2020a或更高版本。

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

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

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

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

App States和StateFlow Chart

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

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

建立MATLAB应用程序和州流图之间的双向连接,在startupFcn应用程序的功能,创建图表对象并将其句柄存储在App属性中。

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

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

为了评估图表中没有事件的过渡条件,该应用程序调用一步函数图表对象。例如,在从设备获取数据时,dataAvailable_Callback应用程序函数定期调用一步函数。当检测到触发器条件时,图表从LookingForTrigger状态CaptuldData.状态。

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

另请参阅

相关话题