FunctionPortSpecification

Запросите и сконфигурируйте свойства блока C Caller

Описание

Запросите и сконфигурируйте определение функции блока C Caller и возвращаемый аргумент. Сконфигурируйте программно входные параметры блока C Caller.

Создание

myCCallerObj = get_param(gcb, 'FunctionPortSpecification') создает объект настройки блока C Caller для выбранного блока C Caller.

Свойства

развернуть все

Отображает отображение входного параметра функции C с блоком C Caller в модели. Вы не можете отредактировать это свойство с помощью командной строки. Чтобы отредактировать отображение функции C, отредактируйте исходный код блока C Caller.

Пример: real_T add(real_T u1, real_T u2);

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

Возвращает список входных аргументов функции в Объекте FunctionArgument.

Возвращает скаляр или пустой Объект FunctionArgument.

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

Возвращает скаляр или пустой Объект FunctionArgument.

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

FunctionArgument Объект

FunctionArgument класс, который несет информацию о спецификации порта блока C Caller программно. FunctionArgument объект имеет эти свойства:

  1. Name — Имя переменной в исходном коде в виде вектора символов. Это свойство доступно только для чтения.

  2. PortNumber — Номер порта InputArgument это было отредактировано в виде uint32Это свойство доступно только для чтения.

  3. Size — Размер размерностей порта Simulink®, заданных как вектор символов. Можно отредактировать это свойство, если оно позволено в функциональном определении.

  4. Type — Тип данных Simulink для заданного порта, заданного как вектор символов. Можно отредактировать это свойство, если оно позволено в функциональном определении.

  5. Label — Метка порта на блоке Simulink, заданном как вектор символов. Можно изменить метку порта программно, например:

    myCCallerObj.my_CCaller.InputArguments(1).Label = 'inputport1'
    my_CCallerObj = 
    
      FunctionPortSpecification with properties:
    
            CPrototype:  'real_T add(real_T u1, real_T u2);'
        InputArguments:  [1×2 Simulink.CustomCode.FunctionArgument]
        ReturnArgument:  [1×1 Simulink.CustomCode.FunctionArgument]
        GlobalArguments: [1×0 Simulink.CustomCode.FunctionArgument]

  6. Осциллограф Отображение Осциллографа Simulink к входному параметру, заданному как вектор символов. Если переменная задана как постоянный спецификатор, аргумент может быть входом или параметром. Если никакой постоянный спецификатор не существует, можно изменить выходной аргумент input, inputoutput, или к parameter. Если ваш осциллограф соответствует какому-либо из сценариев выше, можно изменить его программно:

    my_CCallerObj.InputArguments(1).Scope = 'parameter'
    my_CCallerObj = 
    
      FunctionPortSpecification with properties:
    
            CPrototype:  'extern real_T add(real_T u1, real_T u2);'
        InputArguments:  [1×2 Simulink.CustomCode.FunctionArgument]
        ReturnArgument:  [1×1 Simulink.CustomCode.FunctionArgument]
        GlobalArguments: [1×0 Simulink.CustomCode.FunctionArgument]

Функции объекта

getGlobalArgПолучите определение объекта глобальной переменной в блоке C Caller

Примеры

Создайте объект настройки C Caller

Этот пример создает объект настройки C Caller использование 'slexCCallerExample' демонстрационная модель.

my_CCallerObj = get_param('slexCCallerExample/C Caller','FunctionPortSpecification')
my_CCallerObj = 

  FunctionPortSpecification with properties:

        CPrototype:  'real_T add(real_T u1, real_T u2);'
    InputArguments:  [1×2 Simulink.CustomCode.FunctionArgument]
    ReturnArgument:  [1×1 Simulink.CustomCode.FunctionArgument]
    GlobalArguments: [1×0 Simulink.CustomCode.FunctionArgument]
Создайте FunctionArgument объект для 1-го входного порта:
inargone = my_CCallerObj.InputArguments(1)
inargone = 

  FunctionArgument with properties:

          Name: 'u1'
    PortNumber: 1
          Size: '1'
          Type: 'double'
         Label: 'u1'
         Scope: 'Parameter'
Измените метку для первого входного порта:
inargone.Label = 'inputport1'
inargone = 

  FunctionArgument with properties:

          Name: 'u1'
    PortNumber: 1
          Size: '1'
          Type: 'double'
         Label: 'inputport1'
         Scope: 'Parameter'

Введенный в R2019b