import

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

    Описание

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

    пример

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

    Примеры

    свернуть все

    Задайте местоположение и опции для пользовательского кода, затем импортируйте код в 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 имя аргумента и 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