C вызывающая сторона

Интегрируйте код С в Simulink

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

Описание

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

Чтобы использовать блок C Caller, задайте свой исходный код и любые вспомогательные файлы с помощью Цели Моделирования под Параметрами конфигурации. Затем принесите блок C Caller к холсту Simulink, с помощью Браузера Библиотеки> Simulink> Определяемые пользователем Функции. Чтобы изменить заданный файл исходного кода и его зависимости, перейдите к вкладке Simulation Target в Параметрах конфигурации путем нажатия от блочного диалогового окна. После изменения вашего исходного кода или любой из его зависимостей, обновите список функций путем нажатия на блочном диалоговом окне. Чтобы просмотреть и изменить список функций в вашем исходном коде, используйте значок для легко доступа к вашим заголовочным файлам.

Порты

Входной параметр

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

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

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

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

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

Типы данных, поддержанные в MATLAB®, но не поддерживаемые в Simulink, не могут быть переданы между Вызывающей стороной C и другими блоками MATLAB.

Типы данных: единственный | удваиваются | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | булевская переменная | фиксированная точка | перечисленный | шина

Вывод

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

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

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

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

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | булевская переменная | перечисленный | шина

Параметры

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

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

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

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

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

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

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

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

Блокируйте характеристики

Типы данных

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

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

No

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

Yes[a]

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

No

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

No

A 

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

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

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

Была ли эта тема полезной?