Пользовательский код, написанный на языке C или C++, можно интегрировать с диаграммами Stateflow ® в моделях Simulink ®. Совместное использование данных и функций пользовательского кода и диаграммы Stateflow позволяет расширить возможности Stateflow и использовать программное обеспечение для использования преимуществ существующего кода. Дополнительные сведения см. в разделе Повторное использование пользовательского кода в диаграммах Stateflow.
Подготовьте пользовательский код C++ для моделирования следующим образом:
Добавьте оболочку функции C в пользовательский код. Эта функция-оболочка выполняет включенный код C++.
Обертка функции C должна иметь следующую форму:
int my_c_function_wrapper()
{
.
.
.
//C++ code
.
.
.
return result;
}
Создайте файл заголовка, который прототипирует оболочку функции C на предыдущем шаге.
Файл заголовка должен иметь следующую форму:
int my_c_function_wrapper();
Стоимость _cplusplus существует, если компилятор поддерживает код C++. extern "C"обертка указывает связь C без искажения имен.
Чтобы включить пользовательский код C++ для моделирования, необходимо настроить цель моделирования и выбрать C++ в качестве языка пользовательского кода:
Откройте диалоговое окно Параметры конфигурации модели (Model Configuration Parameters).
В диалоговом окне Параметры конфигурации модели (Model Configuration Parameters) выберите панель Цель моделирования (Simulation Target).
Добавьте пользовательский файл заголовка в подпанель Header file. Нажмите кнопку «Применить».
Добавьте пользовательские файлы C++ в подпанель Исходные файлы. Нажмите кнопку «Применить».
В диалоговом окне Параметры конфигурации модели (Model Configuration Parameters) выберите панель Создание кода (Code Generation).
Выбрать C++ в меню Язык.
Нажмите кнопку ОК.
Можно изменить компилятор по умолчанию, вызвав mex –setup и следуйте инструкциям. Список поддерживаемых компиляторов см. в разделе www.mathworks.com/support/compilers/current_release/.
Смоделировать модель, нажав кнопку воспроизведения на панели инструментов редактора.
Сведения о настройке параметров моделирования с помощью API командной строки см. в разделе API командной строки для задания параметров моделирования и создания кода.