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

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

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

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

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

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

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

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

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

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

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

AnalogTriggerAppStateflow

Требования

Для этого примера приложения требуется:

  • MATLAB R2020a или более поздней версии.

  • Набор данных Toolbox (поддерживается только в Windows ®).

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

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

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

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

При создании приложения, которое имеет сложную логику, учитывайте различные состояния, которые соответствуют рабочим режимам приложения. Вы можете использовать диаграмму Stateflow, чтобы визуализировать и организовать эти состояния приложения. Используйте переходы между состояниями, чтобы реализовать логику управления вашего приложения. например, файл AnalogTriggerAppLogic.sfx задает диаграмму Stateflow, которая управляет логикой для этого приложения. График может переходить между состояниями на основе действия в пользовательском интерфейсе приложения или на управляемом данными условии. Например, если нажать кнопку Start, график переходит от 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 может использовать этот указатель в состояниях активности, условиях перехода или переходных действиях.