Этот пример показывает, как создать инициированное аналогом приложение сбора данных при помощи Stateflow®, Data Acquisition Toolbox™ и App Designer.
Data Acquisition Toolbox обеспечивает функциональность для получения данных об измерении из устройства DAQ или аудио звуковой карты. Для определенных приложений рекомендуется инициированное аналогом приобретение, которое начинает получать или регистрировать данные на основе условия в измеряемом аналоговом сигнале. Инициированное приобретение аналога программного обеспечения позволяет вам получить только сегмент интереса из непрерывного потока данных об измерении. Например, можно получить аудиозапись, когда уровень сигнала передает определенный порог.
Это приложение в качестве примера, созданное при помощи App Designer и Stateflow, показывает, как реализовать эти операции:
Управляйте приложением, утверждают логику при помощи диаграммы Stateflow.
Узнайте доступные устройства DAQ и выбор который устройство использовать.
Сконфигурируйте параметры приобретения устройства.
Отобразите живой график в приложении пользовательский интерфейс во время приобретения.
Выполните инициированный сбор данных на основе программируемого триггерного условия.
Сохраните собранные данные к переменной базового рабочего пространства MATLAB®.
По умолчанию приложение открывается в режиме проектирования в App Designer. Чтобы запустить приложение щелкают по кнопке Run или выполняют приложение из командной строки:
AnalogTriggerAppStateflow
Это приложение в качестве примера требует:
MATLAB R2019a или позже
Data Acquisition Toolbox
Stateflow для создания и редактирования графиков
Поддерживаемое устройство DAQ или звуковая карта. Например, любые Национальные Инструменты или Вычислительное устройство Измерения, которое поддерживает аналоговый вход Voltage
или измерения IEPE
и фоновое приобретение.
Соответствующий пакет аппаратной поддержки и драйверы устройств
При создавании приложения, которое имеет сложную логику, рассмотрите различные состояния, которые соответствуют рабочим режимам приложения. Можно использовать диаграмму Stateflow, чтобы визуализировать и организовать эти состояния приложения. Используйте переходы между состояниями, чтобы реализовать управляющую логику вашего приложения. Например, файл, AnalogTriggerAppChart.sfx
задает диаграмму Stateflow, которая управляет логикой для этого приложения. График может перейти между состояниями на основе действия в приложении пользовательский интерфейс или на управляемом данными условии. Например, если вы кликаете по Кнопке запуска, переходам графика от состояния Configuration
до состояния Acquisition
. Если значение сигнала пересекает заданный пороговый уровень, переходы графика от состояния LookingForTrigger
до состояния CapturingData
.
Чтобы установить двунаправленную связь между приложением MATLAB и диаграммой Stateflow, в функции startupFcn
вашего приложения, создают объект диаграммы и хранят его указатель в свойстве приложения.
app.Chart = AnalogTriggerAppChart('app',app);
Приложение использует этот указатель, чтобы инициировать изменения состояния в графике. Например, когда вы нажимаете Start, функция обратного вызова приложения StartButtonPushed
вызывает событие входа acquisitionStart
для графика. Это событие инициировало переход от состояния Configuration
до состояния Acquisition
.
Чтобы оценить условия перехода, которые не являются событиями в графике, приложение вызывает функцию step
для объекта диаграммы. Например, при получении данных из устройства, функция приложения dataAvailable_Callback
периодически вызывает функцию step
. Когда триггерное условие обнаруживается, утверждают переходы графика от состояния LookingForTrigger
до CapturingData
.
В диаграмме Stateflow сохраните указатель на объект приложения как график локальные данные. Чтобы совместно использовать публичные свойства и вызвать государственные функции приложения, диаграмма Stateflow может использовать этот указатель в актах государственной власти, условиях перехода или действиях перехода.