exponenta event banner

Синхронизация курсоров в инспекторе данных моделирования с приложением App Designer

В программном интерфейсе инспектора данных моделирования можно использовать несколько функций для синхронизации курсоров между приложением App Designer и инспектором данных моделирования. Синхронизированные курсоры позволяют легко анализировать данные, построенные в инспекторе данных моделирования, наряду с данными, отображаемыми в пользовательской визуализации, закодированной в приложении App Designer.

Приложение в этом примере является простым и иллюстрирует только основную функцию передачи информации о курсорах между приложением и инспектором данных моделирования. Позиции курсора отображаются на линейных измерителях в приложении. Можно использовать ползунки в приложении для изменения положения курсоров на панелях Inspect или Compare инспектора данных моделирования. При перемещении курсоров в инспекторе данных моделирования новые положения курсора отражаются на ползунках и линейных измерителях.

Открыть и запустить приложение Cursors

Приложение курсоров открывается в App Designer, где можно просмотреть и изменить макет пользовательского интерфейса и код, определяющий функцию каждого элемента пользовательского интерфейса.

appdesigner('CursorsApp.mlapp');

Чтобы запустить приложение курсоров, нажмите кнопку Выполнить. Откроется новое окно с пользовательским интерфейсом приложения. Чтобы начать работу с приложением, щелкните Открыть инспектор данных моделирования, а затем щелкните Создать данные. Кнопка «Создать данные» создает данные и отображает два сигнала на панели «Проверка» инспектора данных моделирования.

Затем добавьте курсоры. Курсоры можно добавить с помощью элемента управления Количество курсоров в приложении или с помощью параметра Показать/скрыть курсоры данных в инспекторе данных моделирования. Элемент управления ползунком и индикатор для каждого курсора становятся видимыми после того, как курсор активен в инспекторе данных моделирования. Попробуйте переместить курсоры с помощью ползунков в приложении и перетащите их в инспектор данных моделирования.

Приложение также включает элементы управления и отображение курсоров на панели Сравнение инспектора данных моделирования. Для взаимодействия с курсорами на панели Сравнить (Compare) сначала щелкните Сравнить данные (Compare Data). Инспектор данных моделирования автоматически отображает панель Сравнить (Compare) при сравнении данных. Затем добавьте курсоры на графики сравнения с помощью приложения или инспектора данных моделирования. Попробуйте переместить курсоры в инспекторе данных моделирования и с помощью ползунков в приложении.

По завершении просмотра синхронизации курсора закройте окно приложения.

Проверка кода приложения

Чтобы просмотреть код в окне App Designer, щелкните Просмотр кода в правом верхнем углу полотна приложения.

В представлении кода отображается код, определяющий функцию приложения. Код в серых областях автоматически программируется App Designer при интерактивном добавлении компонентов и задании свойств в представлении «Дизайн». Код в белых областях настраивает функцию приложения.

Настраиваемые свойства приложения

Приложение курсоров добавляет два пользовательских свойства в приложение. callbackID сохраняет идентификатор обратного вызова курсора, зарегистрированного инспектором данных моделирования, чтобы приложение могло отменить регистрацию обратного вызова при закрытии приложения. runIDs сохраняет идентификаторы прогонов, созданных при нажатии кнопки «Создать данные». Идентификаторы прогонов затем используются для сравнения прогонов при нажатии кнопки Сравнить данные.

Обычай OnCursorMove Метод

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

Обычай refreshSettings Метод

Приложение курсоров также включает пользовательский метод refreshSettings, которая сохраняет значения, отображаемые в приложении, синхронизированными с состоянием инспектора данных моделирования. refreshSettings метод использует Simulink.sdi.getNumCursors функция позволяет убедиться, что элементы управления «Количество курсоров» отображают правильное количество курсоров, видимых в данный момент на панелях «Проверка» и «Сравнение» инспектора данных моделирования. refreshSettings метод также управляет видимостью ползунков и датчиков с помощью позиций курсора, возвращаемых Simulink.sdi.getCursorPositions функция. Если курсор находится вне диапазона соответствующих ползунка и датчика, приложение скрывает регулятор и индикатор для этого курсора.

Обратные вызовы, обрабатывающие события компонента

Каждый компонент пользовательского интерфейса приложения имеет связанную функцию, которая реализует ответ компонента на взаимодействие с пользователем. Можно добавить один или несколько обратных вызовов для компонента в представлении «Дизайн» и написать код для определения ответа компонента в представлении «Код».

МетодОписание функциональных возможностей

startupFcn

При открытии приложения курсоров приложение регистрирует обратный вызов курсоров в инспекторе данных моделирования и обновляет данные приложения. OnCursorMove обратный вызов курсора для областей Inspect и Compare выполняется при перемещении курсора в инспекторе расчетных данных. Идентификаторы обратного вызова сохраняются в callbackID свойство приложения.

OpentheSimulationDataInspectorButtonPushed

При нажатии кнопки Открыть инспектор данных моделирования приложение открывает инспектор данных моделирования и обновляет данные приложения.

CreateDataButtonPushed

При нажатии кнопки «Создать данные» приложение создает синусоидальный и косинусный сигналы и отображает их в инспекторе данных моделирования.

CompareDataButtonPushed

При нажатии кнопки Сравнить данные приложение сравнивает прогон с синусоидальным сигналом, а прогон с косинусным сигналом.

SimulationDataInspectorCursorControlUIFigureCloseRequest

При закрытии приложения отменяет регистрацию функций обратного вызова курсоров в инспекторе данных моделирования.

NumberofCursorsDropDownValueChanged

CompNumCursorsDropDownValueChanged

При использовании одного из элементов управления Количество курсоров для изменения количества курсоров, отображаемых в Инспекторе данных моделирования, приложение использует Simulink.sdi.setNumCursors для отображения указанного количества курсоров в инспекторе данных моделирования.

LeftSliderValueChanging

RightSliderValueChanging

CompLeftSliderValueChanging

CompRightSliderValueChanging

При настройке положения курсора с помощью ползунка приложение использует Simulink.sdi.setCursorPositions для обновления положения курсора в инспекторе данных моделирования.

См. также

Функции

Связанные темы