exponenta event banner

setFunction

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

    Описание

    пример

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

    Примеры

    свернуть все

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

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

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

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

    Укажите имя метода для функции инициализации с помощью setFunction функция.

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

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

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

    Входные аргументы

    свернуть все

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

    Функция модели, для которой устанавливается значение свойства сопоставления кода. Укажите одно из значений, перечисленных в этой таблице.

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

    Сведения о секционировании модели см. в разделе Создание секций.

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

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

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

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

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

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

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

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

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

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

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

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

    Представлен в R2021a