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