Проверьте, соответствуют ли сгенерированные результаты исполняемой программы для результатов симуляции модели.
Сконфигурируйте блок 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
находятся в пределах допуска.
Для получения дополнительной информации о проверке численной непротиворечивости и допусках см. «Численная непротиворечивость модели» и «Результаты симуляции кода».
Затем настройте параметр во время выполнения программы.