В этом примере показано, как создать инициированное аналогом приложение сбора данных при помощи 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, чтобы визуализировать и организовать эти состояния приложения. Используйте переходы между состояниями, чтобы реализовать управляющую логику вашего приложения. Например, файл AnalogTriggerAppLogic.sfx
задает диаграмму Stateflow, которая управляет логикой для этого приложения. График может перейти между состояниями на основе действия в приложении пользовательский интерфейс или на управляемом данными условии. Например, если вы кликаете по Кнопке запуска, переходам графика от Configuration
утвердите к Acquisition
состояние. Если значение сигнала пересекает заданный пороговый уровень, переходы графика от LookingForTrigger
утвердите к CapturingData
состояние.
Установить двунаправленную связь между приложением MATLAB и диаграммой Stateflow, в startupFcn
функция вашего приложения, создайте объект диаграммы и сохраните его указатель в свойстве приложения.
app.Chart = AnalogTriggerAppLogic('app',app);
Приложение использует этот указатель, чтобы инициировать изменения состояния в графике. Например, когда вы нажимаете Start, StartButtonPushed
функция обратного вызова приложения вызывает acquisitionStart
введите событие для графика. Это событие инициировало переход от Configuration
утвердите к Acquisition
состояние.
Чтобы оценить условия перехода, которые не являются событиями в графике, приложение вызывает step
функция для объекта диаграммы. Например, при получении данных из устройства, dataAvailable_Callback
функция приложения периодически вызывает step
функция. Когда триггерное условие обнаруживается, переходы графика от LookingForTrigger
Состояние к CapturingData
состояние.
В диаграмме Stateflow сохраните указатель на объект приложения как график локальные данные. Чтобы совместно использовать публичные свойства и вызвать публичные функции приложения, диаграмма Stateflow может использовать этот указатель в состояниях активности, условиях перехода или действиях перехода.