Добавьте пользовательские комментарии для переменных в сгенерированном коде

К опциям генерации кода системы управления для сигналов, состояний и параметров в модели, можно создать объекты данных в словаре данных или рабочей области. Можно сгенерировать комментарии в коде, которые помогают вам зарегистрировать цель и свойства данных в каждом объекте. Сопоставьте рукописные комментарии с каждым объектом или запишите функцию, которая генерирует комментарии на основе свойств объекта.

Для получения дополнительной информации об объектах данных, смотрите Объекты данных.

Встройте рукописные комментарии для сигналов или параметров

Встроить рукописные комментарии в сгенерированный код около определения сигнала, состояния или параметра:

  1. Откройте модель Simulink.

    openExample('ex_param_array)';
    

  2. Создайте объект данных представлять сигнал, состояние или параметр. Можно использовать объект данных от любого пакета, такого как Simulink. Например, используйте объект данных классов Simulink.Signal или Simulink.Parameter, которые заданы в пакете Simulink.

    myParam = Simulink.Parameter(15.23);

  3. В модели, под разделом PREPARE выбирают Property Inspector. Кликните по целевому блоку Gain. Установите его значение параметров на myParam.

  4. Установите класс памяти объекта данных так, чтобы оптимизация не устраняла сигнал или параметр от сгенерированного кода. Например, используйте класс памяти ExportedGlobal.

    myParam.StorageClass = 'ExportedGlobal';

  5. Установите Description свойство объекта. Описание, которое вы задаете, появляется в сгенерированном коде как линии комментариев.

    myParam.Description = 'This parameter represents multiplication';

  6. В Model Configuration Parameters выбирают Simulink data object descriptions.

  7. Сгенерируйте код из модели. В коде описание объекта данных появляется около определения соответствующей переменной.

    /* Exported block parameters */
    real_T myParam = 15.23;     /* Variable: myParam
                                 * Referenced by: '<S1>/Gain'
                                 * This parameter represents multiplication.
                                 */

Сгенерируйте динамические комментарии на основе свойств данных

Можно сгенерировать динамические комментарии, которые включают свойства объекта данных, такие как тип данных, модули и размерности. Если вы изменяете свойства объекта данных в Simulink®, генератор кода обеспечивает точность комментариев. Например, этот комментарий отображает некоторые значения свойств для объекта данных под названием MAP для модели Simulink в предыдущем примере:

  1. Создайте объект данных из пакета mpt и примените пользовательский класс памяти к объекту. Класс памяти по умолчанию является пользовательским классом памяти Global (Custom).

    myParam = mpt.Parameter;

    Чтобы сгенерировать динамические комментарии, необходимо использовать объект данных от пакета mpt и необходимо применить пользовательский класс памяти к объекту.

  2. Запишите MATLAB или функцию TLC, которая генерирует текст комментария. Для примера функция MATLAB® смотрите функциональный matlabroot/toolbox/rtw/rtwdemos/rtwdemo_comments_mptfun.m.

    Функция должна принять три входных параметра, которые соответствуют objectName, modelName, и request. Если вы записываете файл TLC, можно использовать библиотечную функцию LibGetSLDataObjectInfo получить значения свойств объекта данных.

  3. Сохраните функцию как файл MATLAB или файл TLC. Поместите файл в папку, которая находится на вашем пути MATLAB.

  4. В Model Configuration Parameters выбирают Custom comments (MPT objects only).

  5. Установите Custom comments function на имя файла MATLAB или файла TLC, который вы создали.

  6. Сгенерируйте код из модели. Комментарии, что ваша функция генерирует, появляются около кода, который представляет каждый объект данных.

    /* Object: myParam - user description:
       DataType -- auto
       Units    --
       CSC      -- Global */

Ограничения

  • Чтобы сгенерировать комментарии при помощи Custom comments (MPT objects only) и опции Custom comments function, необходимо создать объекты данных из пакета mpt. Объекты данных должны использовать пользовательский класс памяти.

  • Только пользовательские классы памяти от mpt пакет, которые создают неструктурированные переменные, поддерживает пользовательскую функцию комментариев.

Похожие темы