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 в параметры или константы с помощью столбца 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'

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

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

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

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

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

Введите — Указывает на тип данных, прибывающий из портов.

Размер — Указывает на размер входных и выходных данных.

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

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

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

Параметры блоков: 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]  Фактическая поддержка типа данных или возможности зависит от реализации блока.

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

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

Введенный в R2018b