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ИмяЗначение);

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

Опция для setConfig.

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

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

Опция для set.

Пример: Simulink.fileGenControl ('набор', '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 ('набор', 'CodeGenFolder', myCodeGenFolder);

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

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

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

Опция для set.

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

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

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

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

Опция для resetНабор, или setConfig.

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

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

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

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

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

Пример: Simulink.fileGenControl ('набор', 'CacheFolder', myCacheFolder, 'CodeGenFolder', myCodeGenFolder, 'keepPreviousPath', верный, 'createDir', верный);

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

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

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

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

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

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

  2. Задайте местоположения не по умолчанию для кэша симуляции и папок генерации кода при помощи Simulink.fileGenControl или настройки Simulink.

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

свернуть все

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

Представленный в R2010b