Можно сгенерировать код и создать исполняемый файл для подсистемы в модели. Генерация кода и процесс сборки используют генерацию кода и параметры сборки корневой модели.
В диалоговом окне Configuration Parameters, настроенном генерация кода и параметры сборки, похожие на создание генерации кода для модели.
Щелкните правой кнопкой по блоку Subsystem. Из контекстного меню выберите C/C++ Code > Build This Subsystem из контекстного меню.
В качестве альтернативы в текущей модели, кликните по подсистеме и затем от вкладки C Code, нажмите Build.
Примечание
Когда вы выбираете Build This Subsystem, если модель действует в режиме external mode, процесс сборки автоматически выключает режим external mode на время сборки. Генератор кода восстанавливает режим external mode после завершения процесса сборки.
Чтобы сконфигурировать свойства, такие как имя, класс и класс памяти переменных (или объекты данных), на которые ссылаются как параметры блоков в подсистеме, преобразуют подсистему в блок Model и конфигурируют свойства с помощью редактора Отображений Кода.
Для получения дополнительной информации о настраиваемых и встроенных параметрах и классах памяти, смотрите, Создают Настраиваемый Калибровочный Параметр в Сгенерированном коде.
Процесс сборки отображает сообщения о состоянии в MATLAB® Командное окно. Когда сборка завершена, сгенерированный исполняемый файл находится в вашей рабочей папке. Именем сгенерированного исполняемого файла является
(на платформах PC) или subsystem
.exe
(на открытом UNIX группы® платформы). subsystem
имя исходного блока подсистемы.subsystem
Сгенерированный код находится в подпапке сборки, названной
. subsystem
_target
_rtw
имя исходного блока подсистемы и subsystem
имя целевой настройки.target
Когда вы генерируете код для подсистемы, можно сгенерировать S-функцию путем щелчка правой кнопкой по блоку Subsystem и выбора C/C++ Code > Build This Subsystem из контекстного меню. Для получения дополнительной информации о S-функциях смотрите, Генерируют S-функцию от Подсистемы.
Нижеследующие ограничения применяются к созданию подсистем:
Сборка подсистемы не поддерживает подсистему, которая имеет триггерный вход вызова функции или вызов функции выход.
Когда вы щелкаете правой кнопкой по блоку Subsystem и выбираете C/C++ Code > Build This Subsystem из контекстного меню, чтобы создать подсистему, которая включает блок Outport, для которого параметр Data type задает объект шины, вы должны ошибки адресации, которые следуют из установки меток сигнала. Чтобы сконфигурировать программное обеспечение, чтобы отобразить эти ошибки, в диалоговом окне Configuration Parameters для родительской модели, на Diagnostics> панель Connectivity, устанавливают параметр Signal label mismatch на error
.
Когда подсистема находится в инициированном или подсистеме вызова функций, процесс сборки щелчка правой кнопкой может перестать работать, если код подсистемы не является независимым шагом расчета. Чтобы узнать, является ли подсистема независимым шагом расчета:
Скопируйте все блоки в подсистеме к пустой модели.
В диалоговом окне Configuration Parameters, на панели Solver, наборе:
Type к Fixed-step
.
Periodic sample time constraint к Ensure sample time independent
.
Нажмите Apply.
Обновите модель. Если модель является зависимым шага расчета, Simulink® генерирует ошибку в процессе обновления схемы.
Когда вы используете процесс сборки щелчка правой кнопкой для подсистемы, генератор кода пытается использовать имя подсистемы для файлов сгенерированного кода. В некоторых случаях может быть конфликт с именем, которое вы задаете, когда вы устанавливаете, например, File name options к Use function name
или Function name options к Use subsystem name
. Вы видите ошибку:
The subsystem 'model/subsys' is trying to generate code to an reserved file (subsys) for the model 'subsys'...
Чтобы разрешить ошибку, измените одни из конфликтных имен файлов так, чтобы имена были уникальны.
В предупреждении сборки подсистемы, гиперссылка блока path подсистемы, которая является созданными ссылками временный путь к блоку модели вместо фактического пути к блоку модели. В Диагностическом Средстве просмотра, кликая по гиперссылке подсистемы не берет вас с блоком. В Командном окне вы видите сообщение:
... No system or file called 'subsystemName' found. ...