Пакет: Simulink
Импорт пользовательского кода C/C + + в Simulink
Используйте Simulink.CodeImporter
класс для импорта пользовательского кода C/C + + в Simulink® для моделирования, верификации и валидации. Образцы этого класса используются для задания пользовательского кода для импорта в Simulink.
Класс включает следующие методы:
save - Сохраните настройки импорта в текстовый файл формата JSON
load - Загрузка параметров импорта из сохраненного файла параметров импорта
The Simulink.CodeImporter
класс является handle
класс.
obj = Simulink.CodeImporter()
создает образец CodeImporter
с LibraryFileName
значение свойства установлено в "untitled"
.
obj = Simulink.CodeImporter(
, где LibName
)LibName
- имя файла, выбранное пользователем и заданное как строковый или символьный вектор, создает образец CodeImporter
с LibraryFileName
значение свойства установлено в LibName
.
Укажите местоположение и опции для пользовательского кода.
%% Create code importer object obj = Simulink.CodeImporter('PumpController'); %% Set the custom code to import obj.CustomCode.InterfaceHeaders = ["pumpController.h"]; obj.CustomCode.IncludePaths = ["./include"]; obj.CustomCode.SourceFiles = ["src/pumpController.c" "src/utils.c"]; %% Specify name for Library Browser obj.Options.LibraryBrowserName = "Controller Library";
Проанализируйте пользовательский код и исследуйте результаты.
%% Parse custom code
s = obj.parse;
obj.ParseInfo
ans = ParseInfo with properties: Success: 1 AvailableFunctions: ["Controller" "setFanTempThreshold" "setPumpTempThreshold"] EntryFunctions: ["Controller" "setFanTempThreshold" "setPumpTempThreshold"] AvailableTypes: "pump_control_bus" Errors: []
Импорт проанализированного кода в Simulink
%% Import code
s = obj.import;
Simulink.CodeImporter.CustomCode
| Simulink.CodeImporter.Function
| Simulink.CodeImporter.Options
| Simulink.CodeImporter.ParseInfo
| Simulink.CodeImporter.SimulinkPortSpecification