Этот пример показов, как передать сигналы в приложение App Designer инструментальной панели из приложения Simulink Real-Time. Пример создает приложение реального времени из модели slrt_ex_pendulum_100Hz
. Эта инструментальная панель содержит следующие компоненты App Designer:
Раскрывающееся окно - Чтобы показать все доступные целевые компьютеры.
Кнопка подключения/отключения - Чтобы подключить или отключить целевой компьютер, выбранный в раскрывающемся окне.
Кнопка загрузки - Чтобы загрузить приложение на целевой компьютер.
Кнопка start/stop - Чтобы запустить или остановить приложение на целевом компьютере.
Поле stop time edit - отображение и установка времени остановки приложения, загруженного на целевой компьютер.
Ось - для отображения анимации для двух инвертированных маятника и системы тележки.
Ось (Axes) - для отображения выходного сигнала для откликов на нарушение маятника.
Кнопка подталкивания - Для применения входа (подталкивания) к тележке, которая удерживает маятник.
Ссылка положение счетчика - для изменения ссылки положения маятника и системы тележки.
Ручка шаблона изменения ссылки - Чтобы добавить шаблон изменения к исходному положению маятника и системы тележки.
Амплитудный ползунок - Чтобы настроить амплитуду выбранной ссылки шаблона изменения.
Ползунок частоты - для изменения частоты выбранного шаблона изменения ссылки.
Чтобы передать данные о сигнале и параметрах между приложением реального времени и приложением инструментальной панели, приложение использует объект инструментирования.
load_system(fullfile(matlabroot,'toolbox','slrealtime','examples','slrt_ex_pendulum_100Hz'));
Эти задачи генерируют приложение реального времени, которая передает данные в приложение App Designer инструментальные панели.
Запуск целевого компьютера.
Откройте модель slrt_ex_pendulum_100Hz
.
Подключите компьютер разработчика к целевому компьютеру. Создайте slrt_ex_pendulum_100Hz
модель.
Развертывание приложения реального времени на целевом компьютере.
В Командном Окне MATLAB введите:
set_param('slrt_ex_pendulum_100Hz', 'RTWVerbose', 'off'); tg = slrealtime; slbuild('slrt_ex_pendulum_100Hz'); load(tg,'slrt_ex_pendulum_100Hz');
### Generated code for 'slrt_ex_pendulum_100Hz' is up to date because no structural, parameter or code replacement library changes were found. ### Successful completion of build procedure for: slrt_ex_pendulum_100Hz ### Created MLDATX ..\slrt_ex_pendulum_100Hz.mldatx Build Summary 0 of 1 models built (1 models already up to date) Build duration: 0h 0m 4.901s
Приложение инструментальной панели App Designer slrt_ex_pendulumApp
предоставляет элементы управления для запуска и взаимодействия с приложением реального времени slrt_ex_pendulum_100Hz
.
1. Запустите приложение, Чтобы запустить приложение App Designer slrt_ex_pendulumApp.mlapp
и создайте указатель app
, в Командном Окне MATLAB введите:
openExample('SlrtAddAppDesignerAppToInvertedPendulumModelExample'); app = slrt_ex_pendulumApp;
2. Чтобы подключиться к доступному целевому компьютеру, нажмите кнопку подключения. Текст на кнопке переключается на 'disconnect', и кнопка загрузки будет включена.
3. Чтобы загрузить приложение на целевой компьютер, нажмите кнопку загрузки. После загрузки приложения на целевой компьютер будут включены кнопка запуска и поле редактирования времени остановки.
4. Чтобы задать время остановки приложения, введите предпочитаемое время остановки в поле редактирования и нажмите кнопку enter.
5. Чтобы начать выполнение приложения, нажмите кнопку запуска.
6. Чтобы нарушить равновесие маятника на каждой тележке, нажмите кнопку Nudge. Можно настроить амплитуду подталкивания с помощью выбора значения рядом с кнопкой, изменить исходное положение путем корректировки значения опорного спиннера положения или выбрать шаблон изменения для опорного положения.
Функциональность приложения инструментальной панели обеспечивается кодом коллбэка.
Комментарии в коде коллбэка в приложении инструментальной панели slrt_ex_pendulumApp.mlapp
опишите коллбэк операции и предложения по программированию. Чтобы просмотреть код коллбэка, откройте slrt_ex_pendulumApp.mlapp
в App Designer, а затем перейдите на вкладку Представлением кода. В Командном окне введите:
edit slrt_ex_pendulumApp
Задайте пути блоков для сигналов в ссылочных моделях
Для потоковой передачи данных из сигналов в модели смотрите использование connectLine
функции в setupInstrumentation(app)
функцию в приложении.
функция updateAnimationCallback
Для каждой AcquireGroup эта функция проверяет наличие новых данных с момента последнего вызова коллбэка. Если есть данные, функция обновляет объекты анимации.
Сигналы помещаются в Группы приема на основе скорости дискретизации и десятикратного уменьшения, так что все сигналы в Группе приема имеют один и тот же временной вектор.
Обновление осей и анимации при помощи Acquire Group
В коде коллбэка эта обработка видна следующим AcquireGroupData
группы сигналов в updateAnimationCallback
функция.
Указатель на приложение инструментальной панели app
предоставляет доступ для закрытия приложения.
Закройте приложение В Командном Окне MATLAB введите:
close(app.UIFigure)
Закройте открытые модели. В Командном окне введите:
bdclose ('all');