C Caller

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

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

  • C Caller block

Описание

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

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

Порты

Вход

расширить все

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

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

Входная метка имеет то же имя что и ваш входной параметр, если не изменен путем редактирования Label столбца под Port Specification из Block Dialog. Если переименовать метку в вход порт, C Caller блок изменит имя порта.

Для входа переменных можно изменить вход возможностей на параметры или константы с помощью столбца Scope.

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

Выход

расширить все

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

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

Выход порта имеет то же имя что и ваш выходной аргумент, если вы не измените его, изменив столбец Label под Port Specification из Block Dialog. Если переименовать метку в вход порт, 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'

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

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

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

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

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

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

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

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

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

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

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

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

  1×1 cell array

    {'add'}

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

Типы данных

Булев[a] | шина[a] | double[a] | перечисленные[a] | фиксированную точку[a] | целое число[a] | сингл[a]

Прямое сквозное соединение

no

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

ограниченный[a]

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

no

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

no

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

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

.

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

Введенный в R2018b