Этот пример показывает, как получить доступ к параметру и данным сигнала, в то время как сгенерированный исполняемый файл запускается. Используйте этот подход, чтобы экспериментировать с параметрами и входными параметрами сигнала во время быстрого прототипирования.
Чтобы взаимодействовать со сгенерированной программой при помощи Simulink®, моделируйте модель в режиме external mode. В этом примере программа запускается как независимый исполняемый файл в недействительное время на вашем хосте - компьютере. Simulink связывается с исполняемым файлом при помощи ссылки TCP/IP.
Чтобы узнать о модели в качестве примера и как сгенерировать код, см., что примеры Генерируют код С для Модели и Создания и запуска Исполняемого файла.
Чтобы эффективно реализовать модель в коде С, вы обычно не выделяете устройство хранения данных в памяти для каждого параметра, сигнала, и утверждаете в модели. Если образцовый алгоритм не требует, чтобы эти элементы данных вычислили выходные параметры, оптимизация генерации кода может устранить устройство хранения данных для данных. Чтобы вместо этого выделить устройство хранения данных для данных так, чтобы можно было получить доступ к нему во время прототипирования, отключите оптимизацию.
Откройте модель в качестве примера.
rtwdemo_secondOrderSystem
Установите Configuration Parameters> Code Generation> Optimization> Default parameter behavior к Tunable
.
С этой установкой, по умолчанию, параметры блоков (такие как параметр Gain блока Gain) являются настраиваемыми в сгенерированном коде.
Ищите и очистите параметр конфигурации Signal storage reuse.
С этой установкой, по умолчанию, сгенерированный код выделяет устройство хранения данных для сигнальных линий. Симуляция режима external mode может получить доступ к значениям этих сигналов так, чтобы можно было контролировать сигналы, например, при помощи блока Scope в модели.
Нажмите Apply.
Сгенерируйте код и создайте исполняемый файл из модели.
Установите флажок Configuration Parameters> Code Generation> Interface> External mode.
Эта опция позволяет сгенерированному исполняемому файлу позже связаться с Simulink.
Сгенерируйте код из модели. Например, в модели, нажмите Ctrl+B.
Сгенерированный исполняемый файл, rtwdemo_secondOrderSystem
, появляется в вашей текущей папке. Отчет генерации кода открывается.
В командной строке запустите сгенерированный исполняемый файл. Используйте опцию -tf
, чтобы заменить время остановки так, чтобы исполняемый файл запустился неопределенно.
system('rtwdemo_secondOrderSystem -tf inf &')
Чтобы взаимодействовать с рабочим процессом, используйте симуляцию режима external mode в Simulink.
На панели инструментов Simulink Editor, набор Simulation mode выпадающий список к External
.
Нажмите кнопку Connect to Target.
В модели дважды кликните блок Scope. Осциллограф отображает значения системных выходных сигналов.
Экспериментируйте со значением параметров блоков во время выполнения. Наблюдайте влияние изменения.
В модели выберите View> Model Data Editor.
В Model Data Editor осмотрите вкладку Parameters.
В модели щелкните, блок Gain назвал Затухание: c/m.
В Model Data Editor измените значение Gain от 400
до 800
.
Блок Scope показывает эффект изменения на значениях сигналов.
Для получения дополнительной информации эта таблица включает общие возможности и ресурсы для генерации и выполнения C и Кода С++ для вашей модели.
Цель | Больше информации |
---|---|
Сконфигурируйте доступность данных для быстрого прототипирования | Доступ к сигналу, состоянию и данным о параметре во время выполнения |
Образцовые многоскоростные системы | |
Создайте конфигурации модели многоуровневой модели и совместно используйте настройки параметра конфигурации через модели |
Повторное использование конфигурации (Simulink) |
Управляйте, как сигналы хранятся и представленный в сгенерированном коде |
Как сгенерированный код хранит внутренний сигнал, состояние и данные о параметре |
Сгенерируйте объявления устройства хранения данных параметров блоков и интерфейсные параметры блоков к вашему коду |
Создайте настраиваемый калибровочный параметр в сгенерированном коде |
Храните данные, отдельные от модели |
Объекты данных (Simulink) |
Интерфейс с унаследованным кодом для симуляции и генерации кода | Внешняя интеграция кода |
Сгенерируйте отдельные файлы для подсистем и модели | |
Сконфигурируйте комментарии к коду и зарезервируйте ключевые слова | |
Сгенерируйте код, совместимый с C++ | |
Экспортируйте файл ASAP2, содержащий информацию о вашей модели во время процесса генерации кода | |
Запишите основанный на хосте или основанный на цели код, который взаимодействует с сигналами, состояниями, входными параметрами/выходными параметрами корневого уровня и параметрами в вашем основанном на цели коде приложения |
Обменивайтесь данными между сгенерированным и внешним кодом Используя API C |
Создайте защищенную модель, которая скрывает весь блок и информацию о строке для совместного использования с третьим лицом | |
Настройте процесс сборки | |
Создайте авторский блок | |
Создайте свою собственную цель |