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

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

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

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

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

  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® function, см. function 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 пакет, который создает неструктурированные переменные, поддерживает пользовательскую функцию комментариев.

Похожие темы