Проверьте, соответствуют ли сгенерированные результаты исполняемой программы для результатов симуляции модели.
Сконфигурируйте блок Dashboard Scope, чтобы контролировать значения сигналов Force: f(t): 1 и X. Дважды кликните Dashboard Scope блок. В диалоговом окне Параметров блоков подтвердите, что:
Блок соединяется с сигналами Force: f(t): 1 и X. Чтобы подключить блок Dashboard к сигналу, в холсте модели выберите сигнал. В диалоговом окне Параметры Блоков выберите имя сигнала.
Min установлено на -10.
Max установлено на 10.
Применить изменения и закрыть диалоговое окно.
Сконфигурируйте Knob блок так, чтобы вы могли использовать ручку для изменения значения коэффициента усиления демпфирования. Дважды кликните Knob блок. В диалоговом окне Параметров блоков подтвердите, что:
Блок соединяется с параметром Damping:Gain. Чтобы соединить блок Dashboard с параметром, в холсте модели выберите блок, который использует параметр. В Параметры блоков окне выберите имя параметра.
Minimum установлено на 200.
Maximum установлено на 600.
Tick Interval установлено на 100.
Применить изменения и закрыть диалоговое окно.
Откройте диалоговое окно Параметры конфигурации модели (Model Configuration Parameters). На вкладке C Code нажмите Settings.
Сконфигурируйте модель так, чтобы Simulink® и сгенерированный исполняемый журнал программы рабочей области данные в Данные моделирования Inspector. Нажмите Data Import/Export. Подтвердите, что модель сконфигурирована с этими настройками:
| Выбран параметр | Набор имен, |
|---|---|
| Time | tout |
| States | xout |
| Output | yout |
| Signal logging | logsout |
| Data stores | dsmout |
| Record logged workspace data in Simulation Data Inspector |
Сконфигурируйте модель для создания исполняемой программы. Нажмите Code Generation. Подтвердите, что параметр Generate code только очищен.
Настройте и проверьте набор инструментальных средств для создания исполняемой программы. Подтвердите, что для параметра Toolchain задано значение Automatically locate an installed toolchain. Затем выполните поиск и нажмите кнопку Validate Toolchain. Отчет о валидации указывает, прошли ли проверки.
Сконфигурируйте параметры и сигналы так, чтобы данные хранились в памяти и были доступны во время выполнения исполняемой программы. Чтобы эффективно реализовать модель в коде С, вы не выделяете память для каждого параметра, сигнала и состояния в модели. Если алгоритм модели не требует данных для вычисления выходов, оптимизация генерации кода устраняет хранилище для этих данных. Чтобы выделить хранилище для данных, чтобы вы могли получить к нему доступ во время прототипирования, вы отключаете некоторые оптимизации.
Щелкните Code Generation > Optimization. Подтвердите, что:
Поведение параметра по умолчанию установлено в Tunable. При этой настройке параметры блоков, такие как параметр Gain блока Gain, настраиваются в сгенерированном коде.
Повторное использование памяти сигнала очищается. С помощью этой настройки генератор кода выделяет запоминающее устройство для отдельных сигнальных линий. При запуске исполняемой программы можно контролировать значения сигналов.
Сконфигурируйте генератор кода, чтобы получить нефинитные данные (для примера, NaN и Inf) и сопутствующие операции. Щелкните Code Generation > Interface. Подтвердите, что выбран параметр Support: non-конечные числа.
Сконфигурируйте канал связи. Чтобы Simulink ® общался с исполняемой программой, сгенерированной из модели, модель должна включать поддержку канала связи. Этот пример использует XCP на TCP/IP в качестве транспортного слоя для канала связи. Подтвердите эти настройки параметра:
Выбран режим external mode.
Транспортный слой установлен в XCP on TCP/IP. Этот выбор задает ext_xcp для Mex-file name параметра.
Выбрано статическое выделение памяти. Вы не можете удалить этот параметр.
Статический buffer size памяти определяет объем ведомой памяти XCP, выделенной для логгирования сигналов.
Отключите логгирование MAT-файлов. Загрузите данные в Данные моделирования Inspector из MATLAB® базовое рабочее пространство. Подтвердите, что логгирование параметров сброшено.
Применить изменения строения, закрыть диалоговое окно Параметры конфигурации модели (Model Configuration Parameters) и сохранить модель.
В редакторе Simulink Editor, на вкладке Simulation, нажмите Run. Часы на кнопке Run указывают, что темп симуляции включен. Темп симуляции замедляет симуляцию, так что можно наблюдать поведение системы. Визуализация симуляций с более медленной скоростью облегчает понимание базовой разработки системы и выявление проблем проекта, демонстрируя при этом поведение почти в реальном времени.
Во время симуляции блок Dashboard Scope отображает поведение сигналов Force: f(t):1 и X.

В редакторе Simulink, на вкладке Simulation, нажмите Data Inspector. Откроются Данные моделирования Inspector с данными из импортированного запуска симуляции.
Разверните запуск (если он еще не развернут). Затем, чтобы построить график, выберите сигналы данных X и Force: f(t):1.

Оставьте эти результаты в Данные моделирования Inspector. Позже вы сравниваете данные моделирования с выходными данными, полученными исполняемой программой, сгенерированной из модели.
Создайте и запустите исполняемую программу модели.
В редакторе Simulink, на вкладке Hardware, нажмите Monitor & Tune. Simulink:
Создает исполняемую программу. Во время процесса сборки Building появится в левом нижнем углу окна Редактор. Когда появляется отчет генерации кода и текст читается Ready, процесс завершен.
В Windows®Генератор кода создает и помещает эти файлы в текущую рабочую папку:
rtwdemo_secondOrderSystem.exe - Исполняемый программный файл
rtwdemo_secondOrderSystem.pdb - Файл отладочных символов для параметров и сигналов
В Linux®генератор кода создает и помещает информацию отладки формате DWARF в исполняемый программный файл ELF, rtwdemo_secondOrderSystemи помещает файл в текущую рабочую папку.
Развертывает исполняемую программу как отдельный процесс на вашем компьютере разработчика.
Соединяет модель Simulink с исполняемой программой.
Запускает исполняемый программный код модели.
Используйте Данные Моделирования Inspector, чтобы сравнить исполняемые результаты программы с результатами симуляции.
В Данные моделирования Inspector смотрите результаты вашей исполняемого запуска программы, Run 2: rtwdemo_secondOrderSystem.
Нажмите Compare.
Выберите выполняемые данные, которые необходимо сравнить. В данном примере из списка Baseline выберите Run 1: rtwdemo_secondOrderSystem. Из списка Compare to выберите Run 2: rtwdemo_secondOrderSystem.
В правом верхнем углу Данных моделирования Inspector нажмите Compare.

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

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

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

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