exponenta event banner

импорт

Импорт пользовательского кода, функций и типов в Simulink

    Описание

    success = obj.import(), где obj является объектом класса Simulink.CodeImporterанализирует указанный пользовательский код и импортирует его в Simulink ® с параметрами импорта по умолчанию. Если пользовательский код не был ранее проанализирован или если пользовательский код или параметры obj.CustomCode изменились с момента разбора пользовательского кода, затем ParseInfo имущество obj заполняется или повторно заполняется информацией, полученной в результате синтаксического анализа.

    success = obj.import(Name1,Value1,...,NameN,ValueN) анализирует указанный пользовательский код и импортирует его в Simulink с параметрами, основанными на указанных аргументах «имя-значение».

    Примеры

    свернуть все

    Укажите расположение и параметры пользовательского кода, а затем импортируйте код в Simulink.

    %% Create code importer object
    obj = Simulink.CodeImporter;
    
    %% Set library file name and output folder
    obj.LibraryFileName = "pumpController";
    obj.OutputFolder = ".";
    
    %% Set the custom code to import
    obj.CustomCode.InterfaceHeaders = ["pumpController.h"];
    obj.CustomCode.IncludePaths = ["./include"];
    obj.CustomCode.SourceFiles = ["src/pumpController.c" "src/utils.c"];
    
    %% Parse custom code and configure function
    obj.parse();
    fcn = obj.ParseInfo.getFunctions("Controller");
    fcn.PortSpecification.ReturnArgument.Label = "control_out";
    
    %% Import function "Controller"
    obj.import('Functions', ["Controller"]);

    Входные аргументы

    свернуть все

    Аргументы пары «имя-значение»

    Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

    Пример: obj.import('Functions',["Controller"],'EntryFunctionsOnly','On');

    Параметр ограничения импорта функциями точки входа, указанный как 'On' или 'Off'. Если указано как 'On', в библиотеку Simulink импортируются только функции точки входа из пользовательского кода, то есть функции, не вызываемые другими функциями в пользовательском коде. В противном случае импортируются все доступные пользовательские функции кода.

    Типы данных: char | string

    Импортируемые функции, заданные как массив ячеек символьных векторов или строковый массив. Укажите этот аргумент, чтобы ограничить импорт именованными функциями пользовательского кода. В противном случае импортируются все доступные функции пользовательского кода или все доступные функции пользовательского кода начальной точки.

    Типы данных: char | string

    Дополнительные типы для импорта, заданные как массив ячеек символьных векторов или строковый массив. Импортируются все типы, необходимые для импортированных функций. Дополнительные типы определяются в заголовках интерфейса.

    Типы данных: char | string

    Возможность перезаписи существующей библиотеки Simulink с тем же именем, что и имя, указанное в LibraryFileName свойство, указанное как 'On' или 'Off'. Если установлено значение 'Off' и существует библиотека Simulink с тем же именем, пользовательский код импортируется в существующую библиотеку без изменения параметров блоков, примененных в библиотеке после предыдущего импорта пользовательского кода. Если установлено значение 'On'существующая библиотека перезаписывается библиотекой, созданной при импорте пользовательского кода, и все предыдущие изменения существующей библиотеки теряются. При отсутствии библиотеки Simulink с тем же именем создается новая библиотека.

    Типы данных: char | string

    Возможность добавления пользовательского кода и созданных артефактов в существующий проект MATLAB, указанный как путь к файлу. Артефакты включают файл библиотеки для импортированных функций и словарь данных для импортированных типов. Если obj.Options.CreateTestHarness имеет значение true и Simulink Test™ установлен, артефакты также включают файл Simulink Test.

    Типы данных: char | string

    Выходные аргументы

    свернуть все

    Является ли импорт успешным, указывается как логический скаляр. При неудачном импорте Simulink создает исключение.

    Представлен в R2021a