Измените значения параметров на целевом компьютере

В этом примере показано, как к:

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

  • Используйте Simulink® Real-Time™ и Simulink Coder™, чтобы развернуть выполняемую версию модели объекта управления к машине реального времени.

  • Используйте Simulink Real-Time Explorer на своем компьютере разработчика, чтобы изменить значение параметра периода выполнения Simscape на целевой машине и видеть эффекты изменения параметра.

Необходимые условия

Этот пример требует активной связи между вашим компьютером разработчика и машиной реального времени. Для получения информации о конфигурировании и соединении вашего компьютера разработчика к целевому компьютеру, смотрите Начало работы с Simulink Real-Time (Simulink Real-Time).

Сконфигурируйте модель Simscape для развертывания

Чтобы подготовиться к изменению значений параметров на машине реального времени, сконфигурируйте время выполнения Simscape и параметры генерации кода для вашей модели Simscape на вашем компьютере разработчика.

  1. Открыть образец модели, в командной строке MATLAB®, введите:

    ssc_resistive_ac_circuit

    Модель открывается, и PreLoadFcn загружает параметры для модели к рабочему пространству MATLAB. Пиковое напряжение, A_peak_voltage_src, составляет 3 В, сопротивление, R_resistor, составляет 10 Ом, и размер шага является 1e-5.

  2. Чтобы выделить достаточно времени, чтобы видеть эффекты настройки параметра на целевой машине, сконфигурируйте приложение, чтобы запуститься, пока вы не остановите симуляцию путем установки времени остановки симуляции на inf.

  3. Настройте размер шага для симуляции в реальном времени. В командной строке MATLAB введите:

    ts = 8e-5;

  4. Сконфигурируйте модель для генерации кода, использующей Simulink Coder и Simulink Real-Time.

    1. Откройте параметры конфигурации модели. В окне модели откройте вкладку Modeling и нажмите Model Settings. Диалоговое окно Configuration Parameters открывается.

    2. Чтобы установить System target file, на панели Code Generation, нажимают Browse и выбирают slrealtime.tlc.

    3. В Системном Окне браузера Конечного файла нажмите OK.

    4. Откройте Code Generation> панель Report.

    5. Чтобы отобразить отчет генерации кода, на панели Report, выбирают Create code generation report и Open report automatically.

    6. Нажмите OK.

  5. Включите логгирование сигнала, чтобы смочь просмотреть данные сигнала в Инспекторе Данных моделирования. Выберите сигнал под названием Current и затем, из контекстного меню, выберите Enable Data Logging.

Разверните модель в машину реального времени

Создайте исполняемое приложение, которое будет развернуто на целевой машине.

  1. Проверяйте, что вы соединяетесь с машиной реального времени:

    tg = slrealtime
    
  2. Чтобы создать код, который будет развернут на целевой машине в окне модели, открывают вкладку Real-Time и нажимают Run on Target> Build Application.

    Отчет кода открывается после загрузки кода.

  3. Проверьте, что сгенерированный код представляет динамические переменные Simscape в структуре данных.

    1. В Отчете Генерации кода, на левой панели, на узле Data files, открытом ssc_resistive_ac_circuit_data.cpp.

    2. Ищите раздел кода, который содержит переменные параметра. В поле Find введите Block parameters (default storage).

    3. Проверьте, что A_peak_voltage_src и переменные R_resistor представлены в структуре данных P_ssc_resistive_ac_circuit_T ssc_resistive_ac_circuit_P.

Измените параметры и смотрите результаты Использовать Simulink Real-Time Explorer

Используйте Simulink Real-Time Explorer, чтобы изменить параметры периода выполнения Simscape между запусками вашего приложения реального времени на целевом компьютере. Визуализируйте результаты симуляции на осциллографе в окне Explorer.

  1. Открыть Simulink Real-Time Explorer, на вашем компьютере разработчика, в командной строке MATLAB, введите:

    slrtExplorer
    

  2. Выберите целевой компьютер в панели Targets Tree. Чтобы соединиться с целевым компьютером, нажмите Disconnected, переключив его к Connected.

  3. Чтобы загрузить приложение реального времени, созданное ранее, нажмите Load Application. В панели Application on host computer нажмите кнопку File Selector и выберите ssc_resistive_ac_circuit.mldatx файл. Нажмите Load.

  4. Чтобы выбрать сигналы для потоковой передачи, на вкладке Signals and Parameters> Signals, выбирают Current сигнала, нажимают кнопку Add selected signals, чтобы добавить его в список на правой панели, и затем нажать кнопку Start Streaming.

  5. Чтобы просмотреть параметры периода выполнения Simscape в Simulink Real-Time Explorer, откройте вкладку Signals and Parameters> Parameters и нажмите кнопку Show contents of current system and below.

  6. Чтобы запустить приложение с исходным пиковым амплитудным значением, нажмите кнопку Start.

  7. Чтобы просмотреть сигналы потоковой передачи, нажмите кнопку Data Inspector.

    Переданные потоком данные показывают, что ток составляет приблизительно 0,3 А. Уравнением определения для схемы в модели является I = V/R. Результаты правильны для данного напряжения (10 В) и сопротивления (3 Ома).

  8. Измените параметр, который представляет пиковую амплитуду для блока Voltage Source. Поскольку параметры периода выполнения Simscape являются конфигурируемым временем выполнения, вы не можете изменить значение параметров в процессе моделирования. Вместо этого вы останавливаете симуляцию, изменяете значение параметра и применяете изменение параметра. Затем вы перезапускаете симуляцию, чтобы видеть, как изменение параметра влияет на результаты.

    1. Чтобы остановить выполнение, в окне Simulink Real-Time Explorer, нажимают кнопку Stop.

    2. Кликните по текстовому полю Value для параметра A_peak_voltage_src и введите 50.

    3. Нажмите кнопку Start , чтобы симулировать с модифицированным пиковым амплитудным значением.

      Переданные потоком данные показывают, что ток составляет приблизительно 5 А, когда пиковая амплитуда составляет 50 В. Результаты отражают изменение в значении для напряжения, учитывая, что сопротивление составляет 10 Ом.

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

(Simulink Real-Time) | (Simulink Real-Time)

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

Больше о