Simulink.fileGenControl

Укажите корневые папки для файлов, сгенерированных обновлениями схем и сборками моделей

Описание

пример

cfg = Simulink.fileGenControl('getConfig') возвращает указатель на образец Simulink.FileGenConfig объект, который содержит текущие значения этих параметров управления генерацией файлов:

  • CacheFolder - задает корневую папку для программных продуктов сборки модели, которые используются для симуляции, включая файлы кэша Simulink ®.

  • CodeGenFolder - Задает корневую папку для файлов генерации кода.

  • CodeGenFolderStructure - Управляет структурой папки в папке генерации кода.

Чтобы получить или задать значения параметров, используйте Simulink.FileGenConfig объект.

Эти Simulink® настройки определяют начальные значения параметров для MATLAB® сеанс:

пример

Simulink.fileGenControl(Action,Name,Value) выполняет действие, которое использует параметры управления генерацией файлов текущего сеанса работы с MATLAB. Задайте дополнительные опции с одним или несколькими name,value аргументы в виде пар.

Примеры

свернуть все

Чтобы получить значения параметров генерации файлов для текущего сеанса работы с MATLAB, используйте getConfig.

cfg = Simulink.fileGenControl('getConfig');

myCacheFolder = cfg.CacheFolder;
myCodeGenFolder = cfg.CodeGenFolder;
myCodeGenFolderStructure = cfg.CodeGenFolderStructure;

Чтобы задать значения параметров генерации файлов для текущего сеанса работы с MATLAB, используйте setConfig действие. Во-первых, установите значения в образце Simulink.FileGenConfig объект. Затем передайте образец объекта. Этот пример принимает, что ваша система имеет aNonDefaultCacheFolder и aNonDefaultCodeGenFolder папки.

% Get the current configuration
cfg = Simulink.fileGenControl('getConfig');

% Change the parameters to non-default locations
% for the cache and code generation folders
cfg.CacheFolder = fullfile('C:','aNonDefaultCacheFolder');
cfg.CodeGenFolder = fullfile('C:','aNonDefaultCodeGenFolder');
cfg.CodeGenFolderStructure = 'TargetEnvironmentSubfolder';

Simulink.fileGenControl('setConfig', 'config', cfg);

Можно задать значения параметров генерации файлов для текущего сеанса работы с MATLAB, не создавая образец Simulink.FileGenConfig объект. Этот пример принимает, что ваша система имеет aNonDefaultCacheFolder и aNonDefaultCodeGenFolder папки.

myCacheFolder = fullfile('C:','aNonDefaultCacheFolder');
myCodeGenFolder = fullfile('C:','aNonDefaultCodeGenFolder');

Simulink.fileGenControl('set', 'CacheFolder', myCacheFolder, ...
   'CodeGenFolder', myCodeGenFolder, ...
   'CodeGenFolderStructure', ...
    Simulink.filegen.CodeGenFolderStructure.TargetEnvironmentSubfolder);

Если вы не хотите генерировать код для различных целевых окружений в отдельных папках, для 'CodeGenFolderStructure', задайте значение Simulink.filegen.CodeGenFolderStructure.ModelSpecific.

Можно сбросить значения параметров управления генерации файлов из настроек Simulink.

Simulink.fileGenControl('reset');

Чтобы создать папки генерации файлов, используйте set действие со 'createDir' опция. Можно хранить папки предыдущей генерации файлов в пути MATLAB через 'keepPreviousPath' опция.

% 
myCacheFolder = fullfile('C:','aNonDefaultCacheFolder');
myCodeGenFolder = fullfile('C:','aNonDefaultCodeGenFolder');

Simulink.fileGenControl('set', ...
   'CacheFolder',myCacheFolder, ...
   'CodeGenFolder',myCodeGenFolder, ...
   'keepPreviousPath',true, ...
   'createDir',true);

Входные параметры

свернуть все

Задайте действие, которое использует параметры управления генерацией файлов текущего сеанса работы с MATLAB:

  • 'reset' - Сбросьте параметры управления генерацией файла к значениям из настроек Simulink.

  • 'set' - Установите параметры управления генерацией файлов для текущего сеанса работы с MATLAB путем непосредственной передачи значений.

  • 'setConfig' - Установите параметры управления генерацией файлов для текущего сеанса работы с MATLAB с помощью образца Simulink.FileGenConfig объект.

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

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

Пример: Simulink.fileGenControl (Action, Name, Value);

Задайте Simulink.FileGenConfig образец объекта, содержащий параметры управления генерацией файлов, которые вы хотите задать.

Опция для setConfig.

Пример: Simulink.fileGenControl ('setConfig', 'config', cfg);

Задайте значение пути к папке кэша симуляции для CacheFolder параметр.

Опция для set.

Пример: Simulink.fileGenControl ('set', 'CacheFolder', myCacheFolder);

Задайте значение пути к папке генерации кода для CodeGenFolder параметр. Можно задать абсолютный путь или путь относительно папок сборки. Для примера:

  • 'C:\Work\mymodelsimcache' и '/mywork/mymodelgencode' задайте абсолютные пути.

  • 'mymodelsimcache' - путь относительно текущей рабочей папки (pwd). Программа преобразует относительный путь в полный путь в то время, когда CacheFolder или CodeGenFolder параметр установлен. Для примера, если pwd является '/mywork', результатом является '/mywork/mymodelsimcache'.

  • '../test/mymodelgencode' - путь, относящийся к pwd. Если pwd является '/mywork', результатом является '/test/mymodelgencode'.

Опция для set.

Пример: Simulink.fileGenControl ('set', 'CodeGenFolder', myCodeGenFolder);

Задайте размещение подпапок в сгенерированный код папке:

  • Simulink.filegen.CodeGenFolderStructure.ModelSpecific (по умолчанию) - поместите сгенерированный код в подпапки в папке конкретной модели.

  • Simulink.filegen.CodeGenFolderStructure.TargetEnvironmentSubfolder - Если модели сконфигурированы для различных целевых окружений, поместите сгенерированный код для каждой модели в отдельную подпапку. Имя подпапки соответствует целевому окружению.

Опция для set.

Пример: Simulink.fileGenControl ('set', 'CacheFolder', myCacheFolder, ... 'CodeGenFolder', myCodeGenFolder, ... 'CodeGenFolderStructure'... Simulink.filegen. CodeGenFolderStructure. TargetEnvironmentSubfolder);

Укажите, сохранять ли предыдущие значения CacheFolder и CodeGenFolder по пути MATLAB:

  • true - Сохраните значения пути к предыдущей папке в пути MATLAB.

  • false (по умолчанию) - удалите предыдущие старые значения пути из пути MATLAB.

Опция для reset, set, или setConfig.

Пример: Simulink.fileGenControl('reset', 'keepPreviousPath', true);

Укажите, создавать ли папки для генерации файлов, если папки не существуют:

  • true - Создание папок для генерации файлов.

  • false (по умолчанию) - Не создавать папки для генерации файлов.

Опция для set или setConfig.

Пример: Simulink.fileGenControl ('set', 'CacheFolder', myCacheFolder, 'CodeGenFolder', myCodeGenFolder, 'keepPreviousPath', true, 'createDir', true);

Избегайте конфликтов по совпадению имен

Используя Simulink.fileGenControl для установки CacheFolder и CodeGenFolder добавляет указанные папки в путь поиска файлов MATLAB. Эта функция имеет тот же потенциал для введения конфликта по совпадению имен, что и использование addpath чтобы добавить папки в путь поиска файлов. Например, конфликт по совпадению имен возникает, если папка, для которой вы задаете CacheFolder или CodeGenFolder содержит файл модели с таким же именем, как и открытая модель. Для получения дополнительной информации смотрите Что такой Путь поиска файлов MATLAB? и файлы и папки, к которым обращается MATLAB.

Чтобы использовать расположение без параметров для папки кэша симуляции или папки генерации кода:

  1. Удалите любые потенциально конфликтующие программные продукты, существующие в:

    • Текущая рабочая папка, pwd.

    • Кэш симуляции nondefault и папки генерации кода, которые вы собираетесь использовать.

  2. Укажите местоположения nondefault для кэша симуляции и папок генерации кода при помощи Simulink.fileGenControl (Simulink Coder) или настройки Simulink.

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

свернуть все

Образец Simulink.FileGenConfig объект, который содержит текущие значения параметров управления генерацией файлов.

Введенный в R2010b
Для просмотра документации необходимо авторизоваться на сайте