Создайте инструментальные панели App Designer при помощи компонентов Simulink Real-Time

Simulink® Компоненты Real-Time™ в App Designer упрощают создание инструментальных панелей App Designer для приложений реального времени. При помощи компонентов Simulink Real-Time можно добавить часто используемые операции, такие как избранная цель и загрузить приложение реального времени как средства управления на инструментальной панели с минимальным программированием функций обратного вызова.

В этом примере показано, как компоненты Simulink Real-Time в App Designer помогают вам разработать инструментальные панели, которые являются допускающими повторное использование. Когда вы исследуете код коллбэка в примере, смотрите, что только код, который соединяет инструменты от приложения реального времени до средств управления в инструментальной панели, использует информацию о блоке path, которая характерна для приложения реального времени. Этот подход облегчает снова использовать инструментальные панели как интерфейс для других приложений реального времени.

Для получения дополнительной информации смотрите, Разрабатывают Приложения Используя App Designer. Также можно создать приложения инструментальной панели, не используя App Designer. Для получения дополнительной информации смотрите, Разрабатывают Приложения Программно.

Создать инструментальную панель App Designer при помощи компонентов Simulink Real-Time:

  1. Откройте App Designer. В MATLAB®, выберите Home> New> App. Или в командном окне MATLAB введите:

    appdesigner

    Затем выберите New> Blank App

  2. От группы Simulink Real-Time в Component Library добавьте компоненты приложения реального времени в инструментальную панель. Для этой инструментальной панели добавьте:

    • Target Selector

    • Connect

    • Load

    • Start/Stop

    • Stop Time

    • Parameter Table

    • Signal Table

  3. От группы Instrumentation в Component Library добавьте компоненты Инструментирования в инструментальную панель. Для этой инструментальной панели добавьте Knob и Gauge.

  4. От Общей группы в Component Library добавьте общие компоненты в инструментальную панель. Для этой инструментальной панели добавьте Axes.

  5. Расположите инструментальную панель, чтобы появиться как показано в этой инструментальной панели.

    Image of instrument panel for slrt_ex_osc real-time application

  6. Выберите инструмент Knob и измените Пределы 0,20 во вкладке Inspector Component Browser.

  7. Выберите инструмент Gauge и измените Пределы -1.5,1.5 во вкладке Inspector Component Browser.

  8. Сохраните инструментальную панель как myInstPanel_slrt_ex_osc.mlapp.

Добавить код коллбэка в вашу инструментальную панель App Designer и протестировать инструментальную панель как пользовательский интерфейс к приложению реального времени:

  1. Превратитесь во вкладку Code View.

  2. В Component Browser выберите узел myInstPanel_slrt_ex_osc. Выберите Callbacks. От StartupFcn выпадающий список выберите <add StartupFcn callback>.

  3. Добавьте код коллбэка, чтобы соединить инструменты с приложением реального времени. Вставьте этот код коллбэка в коллбэк функции запуска приложения инструментальной панели. Этот код соединяет инструменты с приложением реального времени slrt_ex_osc.

    % define the real-time application file to load
    app.LoadButton.Application = 'slrt_ex_osc';
    
    % define parameters
    app.ParameterTable.Parameters = struct( ...
      'BlockPath', {'slrt_ex_osc/Signal Generator', ...
                    'slrt_ex_osc/Signal Generator'}, ...
      'ParameterName', {'Amplitude', ...
                        'Frequency'});
    
     % set up parameter tuner
     myParamFreq = slrealtime.ui.tool.ParameterTuner(app.UIFigure);
     myParamFreq.Component = app.Knob;
     myParamFreq.BlockPath = 'slrt_ex_osc/Signal Generator';
     myParamFreq.ParameterName = 'Frequency';
    
     % define signals
     app.SignalTable.Signals = struct( ...
        'BlockPath', {'slrt_ex_osc/Signal Generator', ...
                      'slrt_ex_osc/Transfer Fcn'}, ...
        'PortIndex', {1,1});
    
    % Create slrealtime.Instruments and connect gauge
    instMyGauge = slrealtime.Instrument();
    instMyGauge.connectScalar(app.Gauge, 'slrt_ex_osc/Transfer Fcn', 1);
    
    % Create slrealtime.Instruments and connect axes
    instMyAxes = slrealtime.Instrument();
    instMyAxes.connectLine(app.UIAxes, 'XfrFnc');
    
    % Create InstrumentManager object and add gauge
    instMgr = slrealtime.ui.tool.InstrumentManager(app.UIFigure);
    instMgr.Instruments = [instMyGauge, instMyAxes];
  4. Сохраните инструментальную панель.

  5. В MATLAB, открытом slrt_ex_osc модель. В Командном окне введите:

    open_system(fullfile(matlabroot,'toolbox',...
        'slrealtime','examples','slrt_ex_osc'))
  6. Создайте приложение реального времени. В Редакторе Simulink выберите Real-Time> Run on Target.

  7. После того, как сборки модели и запуски приложения реального времени, в App Designer, запускают приложение инструментальной панели.

  8. Из приложения инструментальной панели соединитесь с целевым компьютером, загрузите приложение реального времени slrt_ex_osc, установите время остановки в 10 секунд и запустите приложение реального времени.

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

  9. Сделано наблюдая операцию инструментальной панели, закройте приложение и закройте App Designer.

Смотрите также

| | | | | | | | | | | | | | | | |

Связанные примеры

Больше о

Для просмотра документации необходимо авторизоваться на сайте