ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

モデル コンフィギュレーション コマンド ライン インターフェイス

概要

アプリケーション プログラミング インターフェイス (API) を使用すると、コマンド ラインまたはスクリプトでコンフィギュレーション セットの作成と操作ができます。API には、Simulink.ConfigSet および Simulink.ConfigSetRef クラスと以下の関数が含まれます。

これらの関数を Simulink.ConfigSet クラスのメソッドやプロパティと共に使用すると、以下を実行するスクリプトを作成できます。

  • コンフィギュレーション セットを作成および変更する

  • コンフィギュレーション セットをモデルに追加する

  • モデルにアクティブなコンフィギュレーション セットを設定する

  • コンフィギュレーション セットを開くまたは閉じる

  • コンフィギュレーション セットをモデルから設定解除する

  • コンフィギュレーション セットを保存する

  • コンフィギュレーション セットを読み込む

前述の関数と Simulink.ConfigSet クラスの使用例は、関数とクラスのリファレンス ページを参照してください。

コマンド ラインでコンフィギュレーション セットを読み込んでアクティブにする

コンフィギュレーション セットを MATLAB® 関数またはスクリプトから読み込むには、次の手順を実行します。

  1. 関数 getActiveConfigSet または getConfigSet を使用して、更新するコンフィギュレーション セットのハンドルを取得します。

  2. MATLAB 関数を呼び出すか、MATLAB スクリプトを実行し、保存されているコンフィギュレーション セットを読み込みます。

  3. 関数 attachConfigSet を使用して、コンフィギュレーション セットをモデルに追加します。コンフィギュレーション セットの名前が競合するのを避けるために、allowRenametrue に設定します。

  4. 必要に応じて、関数 setActiveConfigSet を使用してコンフィギュレーション セットをアクティブにします。

または、コマンド ラインからコンフィギュレーション セットを読み込んでそのコンフィギュレーション セットをアクティブにするには、次の手順に従います。

  1. モデルを開きます。

  2. 関数 Simulink.BlockDiagram.loadActiveConfigSet を使ってコンフィギュレーション セットを読み込みアクティブにします。

    メモ

    読み込んだコンフィギュレーション セットの名前と同じ名前が他でも使用されている場合

    • アクティブコンフィギュレーション セットの名前が同じ場合は、アクティブコンフィギュレーション セットが上書きされます。

    • モデルに関連付けられている非アクティブなコンフィギュレーション セットが同じ名前の場合は、その非アクティブなコンフィギュレーション セットのモデルとの関連付けが削除されます。

コマンド ラインでコンフィギュレーション セットを保存する

アクティブまたは非アクティブなコンフィギュレーション セットを MATLAB 関数またはスクリプトとして保存するには

  1. 関数 getActiveConfigSet または getConfigSet を使用して、コンフィギュレーション セットのハンドルを取得します。

  2. Simulink.Configset クラスの saveAs メソッドを使用して、コンフィギュレーション セットを関数またはスクリプトとして保存します。

または、アクティブなコンフィギュレーション セットを保存するには、次の手順に従います。

  1. モデルを開きます。

  2. Simulink.BlockDiagram.saveActiveConfigSet 関数を使用してアクティブなコンフィギュレーション セットを保存します。

独立型のコンフィギュレーション セットをコマンド ラインで作成する

モデルに保存されたコンフィギュレーション セットをコピーする

独立型コンフィギュレーション セットを作成して、モデル内のコンフィギュレーション参照によってそれを参照することができます。この場合、既存のモデルから取得したコンフィギュレーション セットをコピーしなければなりません。そうしないと、cset は、ベース ワークスペース内の新しい独立型コンフィギュレーション セットを参照せず、モデルに保存されている既存のコンフィギュレーション セットを参照するようになります。たとえば、次のいずれかを使用します。

  • cset = copy (getActiveConfigSet(model))
    

  • cset = copy (getConfigSet(model, ConfigSetName))

model は開いているモデルで、ConfigSetName はモデルに連結されたコンフィギュレーション セットの名前です。

MAT ファイルからコンフィギュレーション セットを読み込む

複数の MATLAB セッションで独立型のコンフィギュレーション セットを使用するには、それを MAT ファイルに保存します。MAT ファイルを作成するには、まず、コンフィギュレーション セットをベース ワークスペース変数にコピーし、次のようにしてその変数を MAT ファイルに保存します。

save (workfolder/ConfigSetName.mat, cset)

workfolder は作業フォルダー、ConfigSetName.mat は MAT ファイル名、cset はその値が保存するコンフィギュレーション セットであるベース ワークスペース変数です。後でモデルを再度開いたときに、コンフィギュレーション セットを変数に再度読み込むことができます。

load (workfolder/ConfigSetName.mat)

MAT ファイルからコンフィギュレーション セットを読み込むコードを実行するには、次のいずれかの方法を使用します。

  • 最上位モデルのプリロード関数

  • MATLAB スタートアップ スクリプト

  • load ステートメントの対話型エントリ

コマンド ラインでコンフィギュレーション参照を作成して連結する

API を使用してコンフィギュレーション参照Simulink.ConfigSetRefを作成および追加するには、以下のようにします。

  1. 次のリファレンスを作成します。

    cref = Simulink.ConfigSetRef
  2. 必要に応じて、既定の名前を変更します。

    cref.Name = 'ConfigSetRefName'
  3. 次のように、参照するコンフィギュレーション セットを指定します。

    cref.SourceName = 'cset'

    ヒント

    コンフィギュレーション参照の名前は指定しないでください。コンフィギュレーション参照を入れ子にすると、エラーが発生します。

  4. リファレンスをモデルに連結します。

    attachConfigSet(model, cref, true)

    3 番目の引数はオプションで、名前が競合しないように名前を変更できます。

無効なコンフィギュレーション セット SourceName をもつコンフィギュレーション参照を使用すると、エラーが発生します。このようなコンフィギュレーション参照を、関連付けられていないコンフィギュレーション参照と呼びます。SourceName は、GUI の [参照するコンフィギュレーション] に相当します。後で API または GUI を使用して、独立型コンフィギュレーション セットの名前を指定できます。詳細については、関連付けられていないコンフィギュレーション参照を参照してください。

メモ

Simulink.ConfigSetRef オブジェクトは MATLAB ファイルに保存できません。この構成を保存するには、Simulink.ConfigSetRef.getRefConfigSet メソッドを呼び出します。その後、メソッドが返す Simulink.ConfigSet オブジェクトを保存します。詳細については、コマンド ラインでコンフィギュレーション セットを保存するを参照してください。

コマンド ラインでコンフィギュレーション参照を複数のモデルに連結する

コンフィギュレーション参照を作成し、モデルと連結したら、リファレンスのコピーをその他のモデルに連結することができます。各モデルには、連結されたコンフィギュレーション セットの独自のコピーをもっているかのように、コンフィギュレーション参照の独自のコピーが連結されています。

GUI を使用する場合、既存のコンフィギュレーション参照を別のモデルに連結すると、異なるコピーが自動的にモデルに連結されます。名前が競合しないようにする必要がある場合は、GUI はコピーされたリファレンス名の末尾に数字を追加または増分します。API を使用する場合は、連結する前に、次のようなステートメントを使用して、コンフィギュレーション参照を明示的にコピーしてください。

cref = copy (getConfigSet(model, ConfigSetRefName))
attachConfigSet (model, cref,  true)

copy 操作を省略すると、cref がリファレンスのコピーではなく、元のコンフィギュレーション参照のハンドルになります。cref を使用しようとすると、エラーが発生します。attachConfigSet の引数 true を省略すると、名前が競合する場合、操作は失敗します。

次の例は、独立型のコンフィギュレーション セットを取得して、その参照を 2 つのモデルから連結するためのコードを示しています。コードが実行されると、モードの 1 つに内部コンフィギュレーション セットとそのセットの独立型のコピーを指すコンフィギュレーション参照が含まれます。その内部コピーが余分なコピーである場合、例の最後の行に示されているように、detachConfigSet を使用すると削除できます。

open_system('model1')
% Get handle to local cset
cset = getConfigSet('model1', 'Configuration')

% Create freestanding copy; original remains in model
cset1 = copy(cset)

% In the original model, create a configuration 
% reference to the cset copy
cref1 = Simulink.ConfigSetRef
cref1.SourceName = 'cset1'

% Attach the configuration reference to the model
attachConfigSet('model1', cref1, true)

% In a second model, create a configuration 
% reference to the same cset 
open_system('model2')
% Rename if name conflict occurs
attachConfigSetCopy('model2', cref1, true)

% Delete original cset from first model
detachConfigSet('model1', 'Configuration')

参照するコンフィギュレーション セットから値を取得する

コンフィギュレーション参照で get_param を使用すると、リファレンス オブジェクトがコンフィギュレーション セット自身であるかのように、リンクされたコンフィギュレーション セットからパラメーター値を取得できます。Simulink® は、参照するコンフィギュレーション セットを取得し、示された get_param をそこで実行します。

たとえば、コンフィギュレーション参照 cref はコンフィギュレーション セット cset にリンクされます。次の操作は、同じ結果になります。

get_param (cset, 'StopTime')
get_param (cref, 'StopTime')

参照するコンフィギュレーション セットの値を変更する

コンフィギュレーション参照だけに操作を加えても、参照するコンフィギュレーション セットのパラメーター値は変更できません。以下のコマンド

set_param (cset, 'StopTime', '300')
set_param (cref, 'StopTime', '300')          % ILLEGAL
を実行すると、最初の操作は成功し、2 番目の操作ではエラーが発生します。代わりに、コンフィギュレーション セット自身を取得し、GUI または API を使用して直接変更しければなりません。

API を使用して参照するコンフィギュレーション セットを取得するには、以下のようにします。

  1. コンフィギュレーション参照ハンドルを取得するの説明に従ってください。

  2. コンフィギュレーション参照 cref からコンフィギュレーション セット cset を取得します。

    cset = cref.getRefConfigSet

    csetset_param を使用すると、パラメーター値を変更できます。以下に例を示します。

    set_param (cset, 'StopTime', '300')

    ヒント

    GUI を使用してパラメーター値を変更する場合は、次のコマンドを実行します。

    cset.openDialog
    [コンフィギュレーション パラメーター] ダイアログ ボックスが指定されたコンフィギュレーション セットで開きます。

コンフィギュレーション参照ハンドルを取得する

コンフィギュレーション参照で動作するほとんどの関数とメソッドは、リファレンスにハンドルを与えます。コンフィギュレーション参照を作成すると、次の処理が行われます。

cref = Simulink.ConfigSetRef

を使用して、コンフィギュレーション参照をプログラミング形式で作成すると、変数 cref にリファレンスのハンドルが含まれます。ハンドルをまだもっていない場合は、次のコマンドを実行して取得することができます。

cref = getConfigSet(model, 'ConfigSetRefName')

ConfigSetRefName は、コンフィギュレーション参照の名前です。たとえば、Reference のようにモデル エクスプローラーに表示されます。この名前を指定するには、[コンフィギュレーション参照] ダイアログ ボックスで [名前] フィールドを設定するか、次のコマンドを実行します。

cref.Name = 'ConfigSetRefName'

コンフィギュレーション参照ハンドルを取得する方法は、コンフィギュレーション セット ハンドルを取得する方法と同じです。同じ操作がコンフィギュレーション セットとコンフィギュレーション参照の両方に適用される場合は常に、適用可能な関数とメソッドはオーバーロードし、いずれかのクラスで正しく実行されます。

関連する例

詳細