exponenta event banner

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.

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

  2. Укажите расположения по умолчанию для папок кэша моделирования и создания кода с помощью Simulink.fileGenControl или предпочтения Simulink.

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

свернуть все

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

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