setFunction

Установите информацию отображения кода для функции модели

    Описание

    пример

    setFunction(myCPPMappingObj,function,Name,Value) устанавливает информацию отображения кода для заданной функции модели. Используйте эту функцию, чтобы задать имя метода для функции модели. Для однозадачных периодических функций и Simulink® функции, можно использовать эту функцию, чтобы задать спецификацию аргумента, включая имена аргумента, классификаторы типов и порядок аргументов.

    Примеры

    свернуть все

    Откройте модель. Для доступа к CodeMappingCPP объект, сопоставленный с моделью, используйте coder.mapping.api.get функция.

    open_system('rtwdemo_cppclass');
    cm = coder.mapping.api.get('rtwdemo_cppclass');

    Чтобы получить доступ к имени метода функции initialize для модели, используйте getFunction функция. Если вы не задали имя метода для функции initialize, getFunction функция возвращает пустой символьный вектор, и имя метода в сгенерированном коде использует имя метода по умолчанию.

    value = getFunction(cm, 'Initialize', 'MethodName')
    value =
    
      0×0 empty char array

    Укажите имя метода для функции initialize при помощи setFunction функция.

    setFunction(cm, 'Initialize', 'MethodName', 'my_$N')
    

    getFunction теперь функция возвращает заданное имя метода.

    value = getFunction(cm, 'Initialize', 'MethodName')
    value =
    
        'my_$N'

    Входные параметры

    свернуть все

    Объект отображения кода С++, возвращаемый вызовом в coder.mapping.utils.create функцию или coder.mapping.api.get функция.

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

    Тип функции моделиЗначение
    Экспортированная функцияExportedFunction: slIdentifier, где slIdentifier - имя блока function-call Inport в модели
    Инициализируйте функциюInitialize
    Функция разбиенияРаздел: slIdentifier, где slIdentifier - раздел, который был создан явно из блока в модели и показан в редакторе расписаний Simulink (для примера, P1)
    Периодическая функция многозадачностиПериодический: slIdentifier, где slIdentifier - аннотация, которая соответствует периоду шага расчета для периодической или непрерывной скорости многозадачной модели (для примера, D1)
    Периодическая однозадачная функцияPeriodic
    Функция сбросаСброс: slIdentifier, где slIdentifier - имя функции сброса в модели
    Функция SimulinkSimulinkFunction: slIdentifier, где slIdentifier - имя функции Simulink в модели
    Функция завершенияTerminate

    Для получения информации о разбиении модели на разделы смотрите Создание разделов.

    Пример: 'Periodic:D1'

    Аргументы в виде пар имя-значение

    Пример: 'MethodName', 'my _ $ N'

    Задайте разделенные запятыми пары Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений следующим Name1,Value1,…,NameN,ValueN. Порядок аргументов в виде пар имен и значений не имеет значения.

    Имя метода точки входа в сгенерированном коде С++, заданное как вектор символов или строковый скаляр.

    Типы данных: char | string

    Спецификация аргумента для метода точки входа в сгенерированном коде С++, заданная как вектор символов или строковый скаляр. Спецификация является прототипом метода, который показывает имена аргумента, определители типов и порядок аргументов, например 'y =(u1, const *u2)' .

    Для метода точки входа, который не возвращает значение, не включайте выходной аргумент в спецификацию прототипа. Для примера,

    setFunction(cm, 'SimulinkFunction:f','Arguments','(u, *y)');

    Когда заданная функция model является периодической функцией, можно также настроить имена параметров в спецификации аргумента.

    setFunction(cm,'Periodic:D1','Arguments',...
    '(In1_1s & myParam1, In2_2s arg_In2_2s, * Out1 arg_Out1)');

    Типы данных: char | string

    Введенный в R2021a