exponenta event banner

Интеграция кода C с помощью функционального блока MATLAB

Код вызова C из модели Simulink

Внешний код C можно вызвать из модели Simulink ® с помощью функционального блока MATLAB. Выполните следующие шаги высокого уровня:

  1. Начните с существующего кода C, состоящего из источника (.c) и заголовок (.h) файлы.

  2. В блоке MATLAB Function введите код MATLAB ®, вызывающий код C. Используйте coder.ceval функция. Для передачи данных по ссылке используйте coder.ref, coder.rref, или coder.wref.

  3. Укажите исходные и заголовочные файлы C для моделирования на панели Цель моделирования (Simulation Target) диалогового окна Параметры конфигурации модели (Model Configuration Parameters). Включите файл заголовка, используя двойные предложения, например: #include "program.h". Если необходимо получить доступ к исходным и заголовочным файлам C вне рабочей папки, укажите путь на панели «Цель моделирования» в текстовом поле «Включить каталоги».

    В качестве альтернативы используйте coder.cinclude и coder.updateBuildInfo для указания исходного файла и файла заголовка в коде MATLAB. Для разработки интерфейса с внешним кодом можно использовать coder.ExternalDependency класс. Сведения о том, какой рабочий процесс поддерживается, см. в разделе Импорт пользовательского кода.

  4. Протестируйте модель Simulink и убедитесь, что она функционирует правильно.

  5. При наличии лицензии Simulink Coder™ можно создать код для целевых объектов с помощью этого метода. Чтобы использовать один и тот же исходный и заголовочный файлы для создания кода, щелкните Использовать те же пользовательские настройки кода, что и цель моделирования, на панели «Создание кода» > «Пользовательский код». Можно также указать различные исходные и заголовочные файлы.

    Для кондиционирования кода для выполнения различных команд моделирования и генерации кода можно использовать coder.target функция.

Использовать coder.ceval в функциональном блоке MATLAB

В этом примере показано, как вызвать простую программу C doubleIt из функционального блока MATLAB.

  1. Создание исходного файла doubleIt.c в текущей рабочей папке.

    #include "doubleIt.h"
    
    double doubleIt(double u)
    {
         return(u*2.0);
    }
    
  2. Создание файла заголовка doubleIt.h в текущей рабочей папке.

    #ifndef MYFN
    #define MYFN
    
    double doubleIt(double u);
    
    #endif
    
  3. Создайте новую модель Simulink. Сохранить как myModel.

  4. В браузере библиотеки в окне «Пользовательские функции» добавьте в модель блок функции MATLAB и дважды щелкните блок, чтобы открыть редактор.

  5. Введите код, вызывающий doubleIt программа:

    function y = callingDoubleIt(u)
    
    y = 0.0;
    y = coder.ceval('doubleIt',u);
    
  6. Подключить блок константы, имеющий значение 3.5 к входному порту функционального блока MATLAB.

  7. Подключите блок отображения к порту вывода.

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

  9. В разделе Вставка пользовательского кода C в сгенерированный выберите в списке Header file и введите #include "doubleIt.h" в текстовом поле Файл заголовка.

  10. В разделе Дополнительная информация о построении выберите Исходные файлы из списка, введите doubleIt.c в текстовом поле «Исходные файлы» и нажмите «ОК».

  11. Запустите моделирование. Стоимость 7 появляется в блоке «Отображение».

Управление импортированными определениями типов шины и перечисления

Эта процедура применяется только к моделированию.

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

Simulink может генерировать определения типов или предоставлять файл заголовка, содержащий определения типов. Управление этим поведением осуществляется с помощью флажка Генерировать типизированные файлы для импортированных типов шины и перечисления в диалоговом окне Параметры конфигурации модели (Model Configuration Parameters).

Чтобы включить пользовательский файл заголовка, определяющий типы перечисления и шины, выполните следующие действия.

  1. Снимите флажок Генерировать типы для импортированных типов шины и перечисления.

  2. Перечислите файл заголовка на панели Цель моделирования (Simulation Target) в текстовом поле Файл заголовка (Header file).

Чтобы настроить Simulink для автоматического создания определений типов:

  1. Установите флажок Генерировать типы для импортированных типов шины и перечисления.

  2. Не перечисляйте файл заголовка, соответствующий шинам или перечислениям.

См. также

| | | | | | | |

Связанные примеры

Подробнее