Пакет: 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