exponenta event banner

Вызывающий абонент C

Интеграция кода C в Simulink

  • Библиотека:
  • Simulink/Пользовательские функции

  • C Caller block

Описание

Блок C Caller интегрирует внешний код C в Simulink ®. Этот блок импортирует и перечисляет функции внешнего кода C и позволяет выбрать разрешенные функции C для интеграции в модели Simulink. Автономный блок вызывающего абонента C поддерживает генерацию кода. Для более сложных моделей создание кода зависит от возможностей модели Simulink .

Чтобы использовать блок C Caller, определите исходный код и все поддерживающие файлы с помощью команды Simulation Target в разделе Configuration Parameters. Затем переместите блок вызывающего абонента C на холст Simulink с помощью обозревателя библиотек > Simulink > User Defined Functions. Чтобы изменить определенный файл исходного кода и его зависимости, перейдите на вкладку «Цель моделирования» в разделе «Параметры конфигурации», щелкнув значок в диалоговом окне блока. После изменения исходного кода или любой из его зависимостей обновите список функций, щелкнув значок в диалоговом окне блока. Чтобы просмотреть определения функций в исходном коде, воспользуйтесь значком для доступа к исходным файлам.

Порты

Вход

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

Входной аргумент блока C Caller.

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

Имя входной метки совпадает с именем входного аргумента, если оно не изменено путем редактирования столбца «Метка» в разделе «Спецификация порта» диалогового окна «Блок». При переименовании метки во входной порт блок C Caller изменяет имя порта.

Для входных переменных можно изменить область ввода на параметры или константы, используя столбец Область (Scope).

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

Продукция

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

Выходной аргумент из блока C Caller.

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

Метка выходного порта имеет то же имя, что и аргумент вывода, если его не изменить путем редактирования столбца «Метка» в разделе «Спецификация порта» диалогового окна «Блок». При переименовании метки во входной порт блок C Caller изменяет имя порта.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | enumerated | bus

Параметры

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

Имя функции, проанализированной для блока C Caller. Список доступных функций см. в разделе Доступные функции.

Настраиваемый: Да

Программное использование

Параметр блока: FunctionName
Тип: character vector

myFunctionName = get_param(gcb,'FunctionName')
myFunctionName =

    'mean_filter'

Port specification В таблице указаны атрибуты каждого входного и выходного элемента для выбранного блока. Эти свойства включают имя аргумента, область действия, метку ввода/вывода, тип и размер переменных ввода/вывода. Имя аргумента, область, тип и размер определяются из исходного кода. Если область является input, можно изменить эту переменную на parameter или constant.

Имя (Name) - демонстрирует имя переменной, выведенное из исходного кода.

Полужирное имя аргумента указывает, что порт или параметр является глобальным аргументом.

Область - указывает роль переменных из исходного кода. Если переменная является входным аргументом в исходном коде блока C Caller, можно изменить тип области на константу или параметр. Если переменная является выходным аргументом в исходном коде, изменить тип области невозможно.

Метка (Label) - помечает входную или выходную переменную для модели Simulink. С помощью этой таблицы можно изменить метки. Если область является параметром, введите имя параметра в этом поле. Если область является константой, введите значение константы.

Type - указывает тип данных, поступающих из портов.

Размер (Size) - указывает размер входных и выходных данных.

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

Блок C Caller в модели импортирует все функции из внешнего исходного кода и отображает имена функций рядом с именем функции в диалоговом окне блока. Чтобы выбрать и использовать функцию в блоке, подтвердите, что имя функции отображается в Available Functions таблица. Если одна из функций отсутствует, перезагрузите исходный код, нажав на диалоговое окно блока. Чтобы изменить имена функций, измените исходный код и нажмите кнопку «Обновить» для перезагрузки.

Программное использование

Параметр блока: AvailableFunctions
Тип: character vector

allAvailableFunctions = get_param(gcb, 'AvailableFunctions')
allAvailableFunctions =

  1×1 cell array

    {'add'}

Характеристики блока

Типы данных

Boolean[a] | bus[a] | double[a] | enumerated[a] | fixed point[a] | integer[a] | single[a]

Прямой проход

no

Многомерные сигналы

limited[a]

Сигналы переменного размера

no

Обнаружение пересечения нулей

no

[a] Фактический тип данных или поддержка возможностей зависит от реализации блока.

Расширенные возможности

.

Преобразование с фиксированной точкой
Проектирование и моделирование систем с фиксированной точкой с помощью Designer™ с фиксированной точкой.

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