Main Content

Simulink.fileGenControl

ブロック線図の更新やモデルのビルドによって生成されたファイルのルート フォルダーを指定

説明

cfg = Simulink.fileGenControl('getConfig')Simulink.FileGenConfig オブジェクトのインスタンスのハンドルを返します。このオブジェクトには以下のファイル生成コントロール パラメーターの現在の値が含まれています。

  • CacheFolder – Simulink® キャッシュ ファイルを含む、シミュレーションに使用されるモデル ビルドのアーティファクトのルート フォルダーを指定します。

  • CodeGenFolder – コード生成ファイルのルート フォルダーを指定します。

  • CodeGenFolderStructure – コード生成フォルダー内のフォルダー構造を制御します。

パラメーターの値を取得または設定するには、Simulink.FileGenConfig オブジェクトを使用します。

次の Simulink 基本設定によって MATLAB® セッションの初期パラメーター値が決まります。

Simulink.fileGenControl(Action,Name,Value) は現在の MATLAB セッションのファイル生成コントロール パラメーターを使用するアクションを行います。name,value のペアの引数を 1 つ以上使用して追加オプションを指定します。

すべて折りたたむ

現在の 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);

Simulink.FileGenConfig オブジェクトのインスタンスを作成せずに、現在の MATLAB セッションのファイル生成コントロール パラメーターの値を設定できます。この例ではシステムに 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');

ファイル生成フォルダーを作成するには、'createDir' オプションを指定して set アクションを使用します。'keepPreviousPath' オプションを使用して MATLAB パス上の以前のファイル生成フォルダーを保持できます。

% 
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'Simulink.FileGenConfig オブジェクトのインスタンスを使用して現在の MATLAB セッションのファイル生成コントロール パラメーターを設定します。

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後に配置しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用して各名前と値を区切り、Name を引用符で囲みます。

例: 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);

MATLAB パス上の CacheFolderCodeGenFolder の以前の値を保持するかどうかを指定します。

  • true – MATLAB パスに以前のフォルダー パスの値を保持します。

  • false (既定値) – MATLAB パスから以前の古いパスの値を削除します。

resetset または 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 で導入