Создайте приложение для аналогового инициированного сбора данных при помощи диаграмм Stateflow

В этом примере показано, как создать инициированное аналогом приложение сбора данных при помощи Stateflow®, Data Acquisition Toolbox™ и App Designer.

Data Acquisition Toolbox обеспечивает функциональность для получения данных об измерении из устройства DAQ или аудио звуковой карты. Для определенных приложений рекомендуется инициированный аналогом захват, который начинает получать или регистрировать данные на основе условия в измеряемом аналоговом сигнале. Инициированный захват аналога программного обеспечения позволяет вам получить только сегмент интереса из непрерывного потока данных об измерении. Например, можно получить аудиозапись, когда уровень сигнала превышает определенный порог.

Это приложение в качестве примера, созданное при помощи App Designer и Stateflow, показывает, как реализовать эти операции:

  • Управляйте логикой приложения при помощи диаграммы Stateflow.

  • Узнайте доступные устройства DAQ и выбор который устройство использовать.

  • Сконфигурируйте параметры захвата устройства.

  • Отобразите живой график в приложении пользовательский интерфейс во время захвата.

  • Выполните инициированный сбор данных на основе программируемого триггерного условия.

  • Сохраните собранные данные к переменной базового рабочего пространства MATLAB®.

По умолчанию приложение открывается в режиме проектирования в App Designer. Чтобы запустить приложение щелкают по кнопке Run или выполняют приложение из командной строки:

AnalogTriggerAppStateflow

Требования

Это приложение в качестве примера требует:

  • MATLAB R2020a или позже.

  • Data Acquisition Toolbox (поддерживаемый только на Windows®).

  • Stateflow (для создания и редактирования только графиков).

  • Поддерживаемое устройство DAQ или звуковая карта. Например, любой National Instruments ™ или Вычислительное устройство Измерения, которое поддерживает аналоговый вход Voltage или IEPE измерения и фоновый захват.

  • Соответствующий пакет аппаратной поддержки и драйверы устройств.

Состояния приложения и диаграмма Stateflow

При создавании приложения, которое имеет сложную логику, рассмотрите различные состояния, которые соответствуют рабочим режимам приложения. Можно использовать диаграмму Stateflow, чтобы визуализировать и организовать эти состояния приложения. Используйте переходы между состояниями, чтобы реализовать управляющую логику вашего приложения. Например, файл AnalogTriggerAppLogic.sfx задает диаграмму Stateflow, которая управляет логикой для этого приложения. График может перейти между состояниями на основе действия в приложении пользовательский интерфейс или на управляемом данными условии. Например, если вы кликаете по Кнопке запуска, переходам графика от Configuration утвердите к Acquisition состояние. Если значение сигнала пересекает заданный пороговый уровень, переходы графика от LookingForTrigger утвердите к CapturingData состояние.

Интеграция приложения с диаграммой Stateflow

Установить двунаправленную связь между приложением MATLAB и диаграммой Stateflow, в startupFcn функция вашего приложения, создайте объект диаграммы и сохраните его указатель в свойстве приложения.

app.Chart = AnalogTriggerAppLogic('app',app);

Приложение использует этот указатель, чтобы инициировать изменения состояния в графике. Например, когда вы нажимаете Start, StartButtonPushed функция обратного вызова приложения вызывает acquisitionStart введите событие для графика. Это событие инициировало переход от Configuration утвердите к Acquisition состояние.

Чтобы оценить условия перехода, которые не являются событиями в графике, приложение вызывает step функция для объекта диаграммы. Например, при получении данных из устройства, dataAvailable_Callback функция приложения периодически вызывает step функция. Когда триггерное условие обнаруживается, переходы графика от LookingForTrigger Состояние к CapturingData состояние.

В диаграмме Stateflow сохраните указатель на объект приложения как график локальные данные. Чтобы совместно использовать публичные свойства и вызвать публичные функции приложения, диаграмма Stateflow может использовать этот указатель в состояниях активности, условиях перехода или действиях перехода.