Проверьте сгенерированные результаты исполняемой программы

Проверьте, соответствуют ли сгенерированные результаты исполняемой программы для результатов симуляции модели.

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

  1. Сконфигурируйте блок Dashboard Scope, чтобы контролировать значения сигналов Force: f(t): 1 и X. Дважды кликните Dashboard Scope блок. В диалоговом окне Параметров блоков подтвердите, что:

    • Блок соединяется с сигналами Force: f(t): 1 и X. Чтобы подключить блок Dashboard к сигналу, в холсте модели выберите сигнал. В диалоговом окне Параметры Блоков выберите имя сигнала.

    • Min установлено на -10.

    • Max установлено на 10.

    Применить изменения и закрыть диалоговое окно.

  2. Сконфигурируйте Knob блок так, чтобы вы могли использовать ручку для изменения значения коэффициента усиления демпфирования. Дважды кликните Knob блок. В диалоговом окне Параметров блоков подтвердите, что:

    • Блок соединяется с параметром Damping:Gain. Чтобы соединить блок Dashboard с параметром, в холсте модели выберите блок, который использует параметр. В Параметры блоков окне выберите имя параметра.

    • Minimum установлено на 200.

    • Maximum установлено на 600.

    • Tick Interval установлено на 100.

    Применить изменения и закрыть диалоговое окно.

  3. Откройте диалоговое окно Параметры конфигурации модели (Model Configuration Parameters). На вкладке C Code нажмите Settings.

  4. Сконфигурируйте модель так, чтобы Simulink® и сгенерированный исполняемый журнал программы рабочей области данные в Данные моделирования Inspector. Нажмите Data Import/Export. Подтвердите, что модель сконфигурирована с этими настройками:

    Выбран параметрНабор имен,
    Timetout
    Statesxout
    Outputyout
    Signal logginglogsout
    Data storesdsmout
    Record logged workspace data in Simulation Data Inspector 
  5. Сконфигурируйте модель для создания исполняемой программы. Нажмите Code Generation. Подтвердите, что параметр Generate code только очищен.

  6. Настройте и проверьте набор инструментальных средств для создания исполняемой программы. Подтвердите, что для параметра Toolchain задано значение Automatically locate an installed toolchain. Затем выполните поиск и нажмите кнопку Validate Toolchain. Отчет о валидации указывает, прошли ли проверки.

  7. Сконфигурируйте параметры и сигналы так, чтобы данные хранились в памяти и были доступны во время выполнения исполняемой программы. Чтобы эффективно реализовать модель в коде С, вы не выделяете память для каждого параметра, сигнала и состояния в модели. Если алгоритм модели не требует данных для вычисления выходов, оптимизация генерации кода устраняет хранилище для этих данных. Чтобы выделить хранилище для данных, чтобы вы могли получить к нему доступ во время прототипирования, вы отключаете некоторые оптимизации.

    Щелкните Code Generation > Optimization. Подтвердите, что:

    • Поведение параметра по умолчанию установлено в Tunable. При этой настройке параметры блоков, такие как параметр Gain блока Gain, настраиваются в сгенерированном коде.

    • Повторное использование памяти сигнала очищается. С помощью этой настройки генератор кода выделяет запоминающее устройство для отдельных сигнальных линий. При запуске исполняемой программы можно контролировать значения сигналов.

  8. Сконфигурируйте генератор кода, чтобы получить нефинитные данные (для примера, NaN и Inf) и сопутствующие операции. Щелкните Code Generation > Interface. Подтвердите, что выбран параметр Support: non-конечные числа.

  9. Сконфигурируйте канал связи. Чтобы Simulink ® общался с исполняемой программой, сгенерированной из модели, модель должна включать поддержку канала связи. Этот пример использует XCP на TCP/IP в качестве транспортного слоя для канала связи. Подтвердите эти настройки параметра:

  10. Отключите логгирование MAT-файлов. Загрузите данные в Данные моделирования Inspector из MATLAB® базовое рабочее пространство. Подтвердите, что логгирование параметров сброшено.

  11. Применить изменения строения, закрыть диалоговое окно Параметры конфигурации модели (Model Configuration Parameters) и сохранить модель.

Моделируйте модель и просматривайте результаты

  1. В редакторе Simulink Editor, на вкладке Simulation, нажмите Run. Часы на кнопке Run указывают, что темп симуляции включен. Темп симуляции замедляет симуляцию, так что можно наблюдать поведение системы. Визуализация симуляций с более медленной скоростью облегчает понимание базовой разработки системы и выявление проблем проекта, демонстрируя при этом поведение почти в реальном времени.

    Во время симуляции блок Dashboard Scope отображает поведение сигналов Force: f(t):1 и X.

  2. В редакторе Simulink, на вкладке Simulation, нажмите Data Inspector. Откроются Данные моделирования Inspector с данными из импортированного запуска симуляции.

  3. Разверните запуск (если он еще не развернут). Затем, чтобы построить график, выберите сигналы данных X и Force: f(t):1.

Оставьте эти результаты в Данные моделирования Inspector. Позже вы сравниваете данные моделирования с выходными данными, полученными исполняемой программой, сгенерированной из модели.

Создайте и запустите исполняемую программу и просмотрите результаты

Создайте и запустите исполняемую программу модели.

  1. В редакторе Simulink, на вкладке Hardware, нажмите Monitor & Tune. Simulink:

    1. Создает исполняемую программу. Во время процесса сборки Building появится в левом нижнем углу окна Редактор. Когда появляется отчет генерации кода и текст читается Ready, процесс завершен.

      • В Windows®Генератор кода создает и помещает эти файлы в текущую рабочую папку:

        • rtwdemo_secondOrderSystem.exe - Исполняемый программный файл

        • rtwdemo_secondOrderSystem.pdb - Файл отладочных символов для параметров и сигналов

      • В Linux®генератор кода создает и помещает информацию отладки формате DWARF в исполняемый программный файл ELF, rtwdemo_secondOrderSystemи помещает файл в текущую рабочую папку.

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

    3. Соединяет модель Simulink с исполняемой программой.

    4. Запускает исполняемый программный код модели.

Сравнение результатов симуляции и выполнения программы

Используйте Данные Моделирования Inspector, чтобы сравнить исполняемые результаты программы с результатами симуляции.

  1. В Данные моделирования Inspector смотрите результаты вашей исполняемого запуска программы, Run 2: rtwdemo_secondOrderSystem.

  2. Нажмите Compare.

  3. Выберите выполняемые данные, которые необходимо сравнить. В данном примере из списка Baseline выберите Run 1: rtwdemo_secondOrderSystem. Из списка Compare to выберите Run 2: rtwdemo_secondOrderSystem.

  4. В правом верхнем углу Данных моделирования Inspector нажмите Compare.

  5. Инспектор Данных моделирования указывает, что выход для X и Force: f(t):1 из исполняемого программного кода выходит за пределы допуска из выходных данных моделирования. Чтобы увидеть график результатов для X, в разделе File Comparisons, выберите строку для X.

  6. Смотрите график сравнения для Force: f(t):1. В разделе File Comparisons выберите строку для Force: f(t):1.

  7. Определите, являются ли числовые расхождения значимыми, путем определения абсолютной относительной погрешности. Для этого руководства установите Global Abs Tolerance равным 1e-12. Затем нажмите Compare. Сравнения для X и Force: f(t):1 находятся в пределах допуска.

    Для получения дополнительной информации о проверке численной непротиворечивости и допусках см. «Численная непротиворечивость модели» и «Результаты симуляции кода».

Затем настройте параметр во время выполнения программы.