В этом примере показано, как создать вызов функции путем добавления подсистемы, реализующей требуемые операции.
void add_function(void)
{
y1 = u1 + u2;
}
1. Открыть пример модели ex_function_call.

Подсистема имеет два входа и возвращает один выход.

При выборе параметра Обработать как атомарную единицу (Treat as atomic unit) включаются параметры на вкладке Создание кода (Code Generation). На вкладке Создание кода представлены следующие настройки:
Для упаковки функций установлено значение Nonreusable function
Параметры имени функции имеют значение User specified
Имя функции указано как add_function
Параметры имени файла имеют значение Use function name
2. Чтобы построить модель и создать код, нажмите клавиши Ctrl + B.
В ex_function_call.c, функция вызывается из ex_function_call_step:
/* Model step function */
void ex_function_call_step(void)
{
/* Outputs for Atomic SubSystem: '<Root>/Add_Subsystem' */
add_function();
/* End of Outputs for SubSystem: '<Root>/Add_Subsystem' */
}
Прототип функции объявляется извне через файл подсистемы, add_function.h:
extern void add_function(void);
Определение функции находится в файле подсистемы add_function.c:
void add_function(void)
{
/* Outport: '<Root>/y1' incorporates:
* Inport: '<Root>/u1'
* Inport: '<Root>/u2'
* Sum: '<S1>/Sum'
*/
rtY.y1 = u1 + u2;
}