В этом примере показано, как передать сигналы сигнала потоком к приложению инструментальной панели 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.
Запустите целевой компьютер.
Откройте модель 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');
### 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 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');