exponenta event banner

Доступ к пользовательскому коду C++ в диаграммах потока состояний

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

Задача 1: Подготовка файлов кода

Подготовьте пользовательский код C++ для моделирования следующим образом:

  1. Добавьте оболочку функции C в пользовательский код. Эта функция-оболочка выполняет включенный код C++.

    Обертка функции C должна иметь следующую форму:

    int my_c_function_wrapper()
    {
    	.
    	.
    	.
    	//C++ code
    	.
    	.
    	.
    	return result;
    }
    
  2. Создайте файл заголовка, который прототипирует оболочку функции C на предыдущем шаге.

    Файл заголовка должен иметь следующую форму:

    int my_c_function_wrapper();
    

    Стоимость _cplusplus существует, если компилятор поддерживает код C++. extern "C"обертка указывает связь C без искажения имен.

Задача 2: Включить пользовательские исходные файлы C++ и заголовки для моделирования

Чтобы включить пользовательский код C++ для моделирования, необходимо настроить цель моделирования и выбрать C++ в качестве языка пользовательского кода:

  1. Откройте диалоговое окно Параметры конфигурации модели (Model Configuration Parameters).

  2. В диалоговом окне Параметры конфигурации модели (Model Configuration Parameters) выберите панель Цель моделирования (Simulation Target).

  3. Добавьте пользовательский файл заголовка в подпанель Header file. Нажмите кнопку «Применить».

  4. Добавьте пользовательские файлы C++ в подпанель Исходные файлы. Нажмите кнопку «Применить».

  5. В диалоговом окне Параметры конфигурации модели (Model Configuration Parameters) выберите панель Создание кода (Code Generation).

  6. Выбрать C++ в меню Язык.

  7. Нажмите кнопку ОК.

Задача 3: Выберите компилятор C++

Можно изменить компилятор по умолчанию, вызвав mex –setup и следуйте инструкциям. Список поддерживаемых компиляторов см. в разделе www.mathworks.com/support/compilers/current_release/.

Задача 4: Моделирование модели

Смоделировать модель, нажав кнопку воспроизведения на панели инструментов редактора.

Сведения о настройке параметров моделирования с помощью API командной строки см. в разделе API командной строки для задания параметров моделирования и создания кода.

Связанные темы