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 Объект

The FunctionArgument является классом, который содержит информацию спецификации портов блока C Caller программно. The 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