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'

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

    свернуть все

    Объект отображения кода С++, возвращенный вызовом любого 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 имя функции сброса в модели
    Функция 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)');

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

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

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

    Введенный в R2021a