Интегрируйте код С Используя блок MATLAB function

Вызовите код С от модели Simulink

Можно вызвать внешний код С от модели Simulink® использование блока MATLAB function. Выполните эти высокоуровневые шаги:

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

  2. В блоке MATLAB function введите код MATLAB®, который вызывает код С. Используйте функцию coder.ceval. Чтобы передать данные ссылкой, используйте coder.ref, coder.rref или coder.wref.

  3. Задайте исходные и заголовочные файлы C для моделирования в Целевой панели Моделирования диалогового окна Model Configuration Parameters. Включайте заголовочный файл с помощью двойных цитат, например, #include "program.h" h. Если необходимо получить доступ к исходным и заголовочным файлам C вне рабочей папки, перечислите путь в Целевой панели Моделирования в текстовом поле Include Directories.

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

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

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

    К conditionalize ваш код, чтобы выполнить другие команды для моделирования и генерации кода, можно использовать функцию coder.target.

Используйте coder.ceval в блоке MATLAB function

Этот пример показывает, как вызвать простую программу C doubleIt от блока MATLAB function.

  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 function к модели и дважды кликает блок, чтобы открыть редактор.

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

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

  7. Соедините блок Display с выходным портом.

  8. В диалоговом окне Model Configuration Parameters откройте Целевую панель Моделирования.

  9. Во Вставке пользовательский код С в сгенерированном разделе выберите Заголовочный файл из списка и введите #include "doubleIt.h" в текстовое поле Заголовочного файла.

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

  11. Запустите моделирование. Значение 7 появляется в блоке Display.

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

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

Simulink генерирует код для блоков MATLAB function и Stateflow®, чтобы моделировать модель. Когда вы вызываете внешнее использование кода С MATLAB Function blocks или Stateflow, можно управлять определениями типа для импортированных шин и перечислений в образцовом моделировании.

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

Включать пользовательский заголовочный файл, задающий перечисление и типы шины:

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

  2. Перечислите заголовочный файл в Целевой панели Моделирования в текстовом поле Заголовочного файла.

Сконфигурировать Simulink, чтобы автоматически сгенерировать определения типа:

  1. Выберите определения типов Generate для импортированной шины и флажка перечисляемых типов.

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

Смотрите также

| | | | | | | |

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

Больше о

Была ли эта тема полезной?