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

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

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

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

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

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

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

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

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

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

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

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

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

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

  3. Откройте диалоговое окно Model Configuration Parameters. На вкладке C Code нажмите Settings.

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

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

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

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

    Нажмите Code Generation> Optimization. Подтвердите что:

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

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

  8. Сконфигурируйте генератор кода, чтобы произвести неличные данные (например, NaN и Inf) и связанные операции. Нажмите Code Generation> Interface. Подтвердите что Поддержка параметра: выбраны неличные числа.

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

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

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

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

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

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

  2. В Редакторе Simulink, во вкладке Simulation, нажимают Data Inspector. Инспектор Данных моделирования открывается данными из вашей симуляции, запущенной импортированный.

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

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

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

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

  1. Нажмите Monitor & Tune. Simulink:

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

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

        • rtwdemo_secondOrderSystem.exe – Файл исполняемой программы

        • rtwdemo_secondOrderSystem.pdb – Файл отладочной информации для параметров и сигналов

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

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

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

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

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

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

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

  2. Нажмите Compare.

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

  4. В верхнем правом углу Инспектора Данных моделирования нажмите 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 в допуске.

    Для получения дополнительной информации, о числовой верификации непротиворечивости и допусках, смотрите Числовую Непротиворечивость Результатов симуляции Типового кодекса и Сгенерированного кода.

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