主要内容

模拟触发数据采集使用状态流程图

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

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

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

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

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

  • 配置设备采集参数。

  • 在获取过程中,在应用UI中显示实时情节。

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

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

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

AnalogTriggerAppStateflow

需求

这个示例应用程序需要:

  • MATLAB R2020a或更高版本。

  • 数据采集工具箱(仅支持Windows®)。万博1manbetx

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

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

  • 相应的硬件支持包和设备驱动程序。万博1manbetx

应用程序状态和状态流程图

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

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

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

app. chart = AnalogTriggerAppLogic(app=app);

应用程序使用这个句柄来触发图表中的状态转换。例如,当你点击开始,StartButtonPushed应用程序回调函数调用acquisitionStart为图表输入事件。对象的转换配置国家向收购状态。

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

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

另请参阅

相关的话题