В этом примере показано, как передавать сигналы в приложение панели приборов App Designer из приложения Simulink Real-Time. Пример построения приложения реального времени из модели slrt_ex_pendulum_100Hz. Панель приборов содержит следующие компоненты App Designer:
Раскрывающееся окно - отображение всех доступных целевых компьютеров.
Кнопка подключения/отключения - для подключения или отключения целевого компьютера, выбранного в раскрывающемся окне.
Кнопка Load (Загрузить) - загрузка приложения на целевой компьютер.
Кнопка «Пуск/остановка» - запуск или остановка приложения на целевом компьютере.
Поле редактирования времени остановки - отображение и установка времени остановки приложения, загруженного на целевой компьютер.
Оси (Axes) - отображение анимации для двух перевернутых маятников и системы тележек.
Оси (Axes) - отображение на выходе сигнала реакции на нарушение работы маятника.
Кнопка «Подтолкнуть» (Nudge) - используется для ввода (подталкивания) в тележку, удерживающую маятник.
Исходное положение вращателя (Reference position spinner) - изменение исходного положения маятника и системы тележки.
Ручка эталонного шаблона изменения (Reference variation pattern knob) - добавление шаблона изменения к эталонному положению системы маятника и тележки.
Регулятор амплитуды (Amplitude slider) - для регулировки амплитуды выбранной эталонной модели изменения.
Регулятор частоты (Frequency slider) - изменение частоты выбранного шаблона изменения привязки.
Для потоковой передачи данных о сигналах и параметрах между приложением реального времени и приложением панели приборов приложение использует объект instrumentation.
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. Запустите приложение. Начать приложение Проектировщика Приложения slrt_ex_pendulumApp.mlapp и создайте дескриптор app, в окне команд MATLAB введите:
openExample('SlrtAddAppDesignerAppToInvertedPendulumModelExample');
app = slrt_ex_pendulumApp;2. Чтобы подключиться к доступному целевому компьютеру, нажмите кнопку подключения. Текст на кнопке переключится в состояние «disconnect», и кнопка загрузки будет включена.
3. Чтобы загрузить приложение на целевой компьютер, нажмите кнопку загрузки. После загрузки приложения на целевой компьютер будут включены кнопка запуска и поле редактирования времени остановки.
4. Чтобы задать время остановки приложения, введите предпочтительное время остановки в поле редактирования и нажмите кнопку Enter.
5. Чтобы запустить приложение, нажмите кнопку запуска.
6. Чтобы нарушить равновесие маятника на каждой тележке, нажмите кнопку «Надавить». Можно скорректировать величину выталкивания с помощью выбора значения рядом с кнопкой, изменить положение привязки, настроив значение вращателя положения привязки, или выбрать шаблон изменения для положения привязки.

Функциональность приложения панели приборов обеспечивается кодом обратного вызова.
Комментарии в коде обратного вызова в приложении панели приборов slrt_ex_pendulumApp.mlapp описывать операции обратного вызова и предложения по программированию. Чтобы просмотреть код обратного вызова, откройте slrt_ex_pendulumApp.mlapp в конструкторе приложений и перейдите на вкладку Просмотр кода. В окне команд введите:
edit slrt_ex_pendulumApp
Определение путей блоков для сигналов в ссылочных моделях
Для потоковой передачи данных из сигналов в модели см. использование connectLine функции в setupInstrumentation(app) функция в приложении.
Функция «Обратный вызов» (startAnimationAnimationCallback)
Для каждой группы AcquureGroup эта функция проверяет, имеются ли свежие данные с момента последнего вызова обратного вызова. При наличии данных функция обновляет объекты анимации.
Сигналы помещаются в группы получения на основе частоты дискретизации и прореживания, так что все сигналы в группе получения имеют одинаковый временной вектор.
Обновление осей и анимации с помощью групп получения
В коде обратного вызова эта обработка видна как AcquireGroupData группы сигналов в updateAnimationCallback функция.
Ручка приложения панели приборов app предоставляет доступ для закрытия приложения.
Закройте приложение. В окне команд MATLAB введите:
close(app.UIFigure)
Закройте открытые модели. В окне команд введите:
bdclose ('all');