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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Открытая модель примера и загрузки

openExample('SlrtAddAppDesignerAppToInvertedPendulumModelExample');
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;
slbuild('slrt_ex_pendulum_100Hz');
load(tg,'slrt_ex_pendulum_100Hz');
### Successful completion of build procedure for: slrt_ex_pendulum_100Hz
### Created MLDATX ..\slrt_ex_pendulum_100Hz.mldatx

Build Summary

Top model targets built:

Model                   Action                       Rebuild Reason                                    
=======================================================================================================
slrt_ex_pendulum_100Hz  Code generated and compiled  Code generation information file does not exist.  

1 of 1 models built (0 models already up to date)
Build duration: 0h 0m 47.816s

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

Приложение инструментальной панели App Designer slrt_ex_pendulumApp обеспечивает средства управления, чтобы запуститься и взаимодействовать с приложением реального времени slrt_ex_pendulum_100Hz.

1. Запустите приложение. Запустить приложение App Designer slrt_ex_pendulumApp.mlapp и создайте указатель appВ Командном Окне MATLAB введите:

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.

Сигналы помещаются в Acquire Groups на основе частоты дискретизации и децимации, таким образом, что все сигналы в Acquire Group имеют тот же временной вектор.

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

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

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

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

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

close(app.UIFigure)

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

bdclose ('all');
Для просмотра документации необходимо авторизоваться на сайте