К опциям генерации кода системы управления для сигналов, состояний и параметров в модели, можно создать объекты данных в словаре данных или рабочей области. Можно сгенерировать комментарии в коде, которые помогают вам зарегистрировать цель и свойства данных в каждом объекте. Сопоставьте рукописные комментарии с каждым объектом или запишите функцию, которая генерирует комментарии на основе свойств объекта.
Для получения дополнительной информации об объектах данных, смотрите Объекты данных (Simulink).
Встроить рукописные комментарии в сгенерированный код около определения сигнала, состояния или параметра:
Создайте объект данных представлять сигнал, состояние или параметр. Можно использовать объект данных от любого пакета. Например, используйте объект данных классов Simulink.Signal
или Simulink.Parameter
, которые заданы в пакете Simulink
.
myParam = Simulink.Parameter(15.23);
Установите класс памяти объекта данных так, чтобы оптимизация не устраняла сигнал или параметр от сгенерированного кода. Например, используйте класс памяти ExportedGlobal
.
myParam.StorageClass = 'ExportedGlobal';
Установите свойство Description
объекта. Описание, которое вы задаете, появляется в сгенерированном коде как строки комментариев.
myParam.Description = 'This parameter represents wind speed.';
Установите Configuration Parameters> Code Generation> System target file к основанной на ERT цели, такой как ert.tlc
.
Чтобы сгенерировать комментарии из описаний объекта данных, необходимо использовать основанную на ERT цель.
Выберите Configuration Parameters> Code Generation> Comments> Simulink data object descriptions.
Сгенерируйте код из модели. В коде описание объекта данных появляется около определения соответствующей переменной.
/* Exported block parameters */ real_T myParam = 15.23; /* Variable: myParam * Referenced by: '<S1>/Gain' * This parameter represents wind speed. */
Можно сгенерировать динамические комментарии, которые включают свойства объекта данных, такие как тип данных, модули и размерности. Если вы изменяете свойства объекта данных в Simulink®, генератор кода поддерживает точность комментариев. Например, этот комментарий отображает некоторые значения свойств для объекта данных под названием MAP
:
/* Unit: psi */ /* Owner: */ /* DefinitionFile: specialDef */ real_T MAP = 0.0;
Создайте объект данных из пакета mpt
и примените пользовательский класс памяти к объекту. Класс памяти по умолчанию для объектов, что вы создаете из пакета mpt
, является пользовательским классом памяти Global (Custom)
.
MAP = mpt.Signal;
Чтобы сгенерировать динамические комментарии, необходимо использовать объект данных от пакета mpt
, и необходимо применить пользовательский класс памяти к объекту.
Запишите MATLAB или функцию TLC, которая генерирует текст комментария. Для примера функция MATLAB® смотрите функциональный
.matlabroot/toolbox/rtw/rtwdemos/rtwdemo_comments_mptfun.m
Функция должна принять три входных параметра, которые соответствуют objectName
, modelName
и request
. Если вы записываете файл TLC, можно использовать библиотечную функцию LibGetSLDataObjectInfo
, чтобы получить значения свойств объекта данных.
Сохраните функцию как файл MATLAB или файл TLC, и поместите файл в папку, которая находится на вашем пути MATLAB.
В модели выберите Configuration Parameters> Code Generation> Comments> Custom comments (MPT objects only).
Установите Custom comments function на имя файла MATLAB или файла TLC, который вы создали.
Сгенерируйте код из модели. Комментарии, что ваша функция генерирует, появляются около кода, который представляет каждый объект данных.
Чтобы сгенерировать комментарии при помощи Custom comments (MPT objects only) и опции Custom comments function, необходимо создать объекты данных из пакета mpt
. Объекты данных должны использовать пользовательский класс памяти.
Только пользовательские классы памяти от пакета mpt
, которые создают неструктурированные переменные, поддерживают пользовательскую функцию комментариев.