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