Добавьте приложение App Designer в инвертированную модель маятника

В этом примере показано, как передать сигналы сигнала потоком к приложению инструментальной панели App Designer из приложения Simulink Real-Time. Пример создает приложение реального времени из модели slrt_ex_pendulum_100Hz. Инструментальная панель содержит эти компоненты App Designer:

  • Выпадающее окно — Чтобы показать все доступные целевые компьютеры.

  • Кнопка Connect/disconnect — Чтобы соединиться или отключить целевой компьютер, выбранный в выпадающем окне.

  • Загрузите кнопку — Чтобы загрузить приложение к целевому компьютеру.

  • Запустите/остановите кнопку — Чтобы запустить или остановить приложение на целевом компьютере.

  • Поле редактирования времени остановки — Чтобы отобразиться и установить время остановки приложения, загруженного на целевом компьютере.

  • Оси — Чтобы отобразить анимацию для двух инвертированных маятников и системы тележки.

  • Оси — Чтобы отобразить вывод сигнала для ответов на разрушение маятника.

  • Пошагово переместите кнопку — Чтобы применить вход (пошаговое перемещение) к тележке, которые содержат маятник.

  • Ссылочный счетчик положения — Чтобы сменить ссылочное положение маятника и системы тележки.

  • Ссылочная кнопка шаблона изменения — Чтобы добавить шаблон изменения в ссылочное положение маятника и системы тележки.

  • Амплитудный ползунок — Чтобы настроить амплитуду выбранного ссылочного шаблона изменения.

  • Ползунок частоты — Чтобы изменить частоту выбранного ссылочного шаблона изменения.

К потоковому сигналу и данным о параметре между приложением реального времени и приложением инструментальной панели, приложение использует объект инструментирования.

load_system(fullfile(matlabroot,'toolbox','slrealtime','examples','slrt_ex_pendulum_100Hz'));

Запустите целевой компьютер и создайте приложение реального времени

Эти задачи генерируют приложение реального времени что потоковые данные к приложению инструментальной панели App Designer.

  1. Запустите целевой компьютер.

  2. Откройте модель slrt_ex_pendulum_100Hz.

  3. Соедините компьютер разработчика с целевым компьютером. Создайте slrt_ex_pendulum_100Hz модель.

  4. Разверните приложение реального времени в целевой компьютер.

В Командном Окне MATLAB введите:

set_param('slrt_ex_pendulum_100Hz', 'RTWVerbose', 'off');
tg = slrealtime;
rtwbuild('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 3.951s

Запустите приложение инструментальной панели App Designer

Приложение инструментальной панели 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. Чтобы соединиться с доступным целевым компьютером, кликните по кнопке соединения. Текст на кнопке переключится на 'разъединение', и кнопка загрузки будет включена.

3. Чтобы загрузить приложение к целевому компьютеру, нажмите кнопку загрузки. После того, как приложение загружается на целевом компьютере, кнопка запуска и поле редактирования времени остановки будут включены.

4. Чтобы установить время остановки приложения, введите свое предпочтительное время остановки в поле редактирования и совершите нападки, вводят кнопку.

5. Чтобы начать запускать приложение, кликните по кнопке запуска.

6. Чтобы разрушить равновесие маятника на каждой тележке, нажмите кнопку Nudge. Можно настроить величину пошагового перемещения при помощи выбора значения рядом с кнопкой, hange ссылочное положение путем корректировки значения ссылочного счетчика положения, или выбрать шаблон изменения для ссылочного положения.

Код коллбэка приложения

Функциональность приложения инструментальной панели обеспечивается кодом коллбэка.

Комментарии в коде коллбэка в приложении инструментальной панели slrt_ex_pendulumApp.mlapp опишите операции коллбэка и предложения программирования. Чтобы просмотреть код коллбэка, откройте slrt_ex_pendulumApp.mlapp в App Designer, и затем кликают по вкладке Code View. В Командном окне введите:

edit slrt_ex_pendulumApp

Задайте пути к блоку для сигналов в моделях, на которые ссылаются,

К потоковым данным из сигналов в модели смотрите использование connectLine функции в setupInstrumentation(app) функция в приложении.

Функция updateAnimationCallback

Для каждого AcquireGroup эта функция проверяет, существуют ли новые данные с прошлого раза, когда коллбэк был назван. Если существуют данные, функция обновляет объекты Animation.

Обновите оси, и анимация при помощи получают группы

В коде коллбэка эта обработка отображается как AcquireGroupData группы сигнала в updateAnimationCallback функция.

Закройте приложение и модели

Приложение инструментальной панели обрабатывает app обеспечивает доступ, чтобы закрыть приложение.

Закройте приложение. В Командном Окне MATLAB введите:

close(app.UIFigure)

Закройте открытые модели. В Командном окне введите:

bdclose ('all');