ドキュメンテーション センター

  • 評価版
  • 製品アップデート

目次

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

save_system

Simulink システムを保存

構文

save_system
save_system(sys)
save_system(sys, newsysname)
save_system(sys, newsysname.slx)
save_system(sys, newsysname, Name,Value)
save_system(sys, 'exported_file_name.xml', 'ExportToXML', true)
filename = save_system(sys)

説明

save_system は現在の最上位 システムを保存します。未保存のシステムの場合、save_system は現在のフォルダーに新しいファイルを作成します。

save_system(sys) は、sys で指定した最上位システムを現在のシステム名を使ってファイルに保存します。sys はファイル拡張子のないシステム名でなければなりません。システムは読み込まれていなければなりません。sys は、文字列、文字列のセル配列、数値ハンドルまたは数値ハンドルの配列にすることができます。指定されたオプションは保存するすべてのシステムに適用されます。

save_system(sys, newsysname) は指定した最上位のシステムを新しいシステム名 newsysname でファイルに保存します。システムは読み込まれていなければなりません。newsysname には、システム名、ファイル拡張子付きのファイル名およびオプションのパス、または空のいずれかを指定できます。ファイル拡張子 (.slx または .mdl) を指定しない場合、save_system は Simulink® 設定で指定されたファイル形式を使用します。

save_system(sys, newsysname.slx) は、最上位システム sys を新しいファイル newsysname に SLX ファイル形式で保存します。

save_system(sys, newsysname, Name,Value) は、1 つまたは複数の Name,Value のペア引数で指定された追加オプションを使用して、システムを保存します。

save_system(sys, 'exported_file_name.xml', 'ExportToXML', true) は、システムを単純な XML 形式でエクスポートします。ExportToXML を他の save_system オプションと併用しないでください。

filename = save_system(sys) は、ユーザーが保存したファイルの完全修飾ファイル名を返します。

save_system はシステム全体を保存することしかできません。サブシステムを保存するには、関数 Simulink.SubSystem.copyContentsToBlockDiagram を使って、サブシステムを新しいブロック線図にコピーしてから save_system を使って保存します。Simulink.SubSystem.copyContentsToBlockDiagramを参照してください。

モデルの UpdateHistory プロパティを UpdateHistoryWhenSave に設定すると、次のように動作します。

  • 対話形式で保存すると、モデル履歴に含まれるコメントを表示するダイアログが表示されます。

  • save_system を使って保存すると、プロンプトは表示されません。save_system は、保存する前に、次のように、'ModifiedComment' を設定しないと、以前のコメントを再び使用します。

    set_param(mymodel,'ModifiedComment',mycomment) 

入力引数

sys

保存する最上位のシステム。'sys' は、ファイル名ではなく、システム名でなければなりません。すなわち、ファイル拡張子をもちません。

システムは開いていなければなりません。'sys' は、文字列、文字列のセル配列、数値ハンドル、または数値ハンドルの配列にすることができます。

newsysname

新しいシステム名。

'newsysname' には、システム名、または拡張子付きのファイル名とオプションのパスを指定できます。ファイル拡張子 (.slx または .mdl) を指定しない場合、save_system は Simulink 設定で指定されたファイル形式を使用します。

'newsysname' は空 ([]) にできます。その場合は現在の名前が使用されます。newsysname 引数は、名前/値のペアの引数より前に指定しなければなりません。これは、新しい sys に名前を付けない場合でも、空にしておく場合でも同じです。

'sys' が複数のブロック線図を参照する場合、'newsysname' には新しい名前を入れたセル配列を指定しなければなりません。

このコマンドに、以下のいずれかを新しいシステム名として入力すると、エラーが表示されます。

  • MATLAB® キーワード

  • 'simulink'

  • 63 文字よりも長い文字列

名前/値のペアの引数

オプションのコンマ区切りされた Name,Value の組み合わせ引数を指定します。ここで、Name は引数名、Value は対応する値です。Name は単一引用符 (' ') で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前/値のペア引数を、任意の順番で指定できます。

例: save_system(sys, newsysname, 'SaveModelWorkspace', true, 'BreakUserLinks', true, 'OverwriteIfChangedOnDisk', true)

'BreakAllLinks'

論理値。ライブラリ ブロックへのリンクを、保存されたファイル内のライブラリ ブロックで置き換えるかどうかを示します。'BreakAllLinks' オプションは、リンクされたブロック (ユーザー定義のブロックと Simulink ライブラリ ブロックを含む) に機能します。「on」または「off」でも指定できます。

true
false (既定の設定)

    メモ:   'BreakAllLinks' オプションは、Simulink を新しいバージョンへ更新すると、以下のような互換性の問題が生じる可能性があります。たとえば、以下の場合です。

    • Simulink S-Function のライブラリ リンクの最上位にあるマスク設定は、S-Function の新しいバージョンに更新されません。

    • Simulink ライブラリのマスク設定されたサブシステムのライブラリ リンクは、新しいサブシステムの動作に更新されません。

    • ブレークされたリンクは、automatic 「library forwarding」 mechanism によって更新されません。

    無効なリンクをもつモデルを保存した場合、無効なブロックを見つけるためにモデルをスキャンするときには、「モデル アドバイザー」の [既知のアップ グレード問題に対するモデル、ローカル ライブラリ、参照モデルをチェックします] オプションを使用します。この場合、slupdate コマンドを使用して、Simulink ブロックを現在のバージョンにアップグレードできます。その後モデル アドバイザーを実行すると、サードパーティのライブラリとオプションの Simulink ブロックセットのブロックで、期限が切れているために手動で更新する必要のあるものを一覧表示します。

'BreakUserLinks'

論理値。ユーザー定義のライブラリ ブロックへのリンクを、保存されたファイル内のライブラリ ブロックで置き換えるかどうかを示します。「on」または「off」でも指定できます。

true
false (既定の設定)

既定値: false

'ErrorIfShadowed'

論理値。MATLAB のパスまたはワークスペースに既に存在する名前が新しい名前として指定された場合に、エラーを出すかどうかを指定します。「on」または「off」でも指定できます。

true
false (既定の設定)

'ExportToXML'

論理値。指定されたブロック線図を単純な XML ファイル形式でエクスポートするかどうかを指定します。ファイルの完全な名前 (拡張子も含める) を指定します。メモリ内のブロック線図は変更されず、コールバックも実行されません。このオプションを save_system の他のオプションと併用しないでください。「on」または「off」でも指定できます。

true
false (既定の設定)

'ExportToVersion'

以前のバージョンの Simulink を示す MATLAB のリリース名。関数 save_system は、以前のバージョンの Simulink で読み込み可能な形式にてシステムをエクスポートします。現在のバージョンはエクスポートできません。

システムが、指定された Simulink のバージョンでサポートされない機能を含む場合、このコマンドはその機能を削除し、サポートされていないブロックを黄色い空のマスク サブシステムで置き換えます。そのため、変換されたシステムは異なる結果を出力する可能性があります。

リリース 2012a 以降のバージョンにエクスポートする場合、モデル ファイルの形式として SLX または MDL を指定することができます。形式を指定しない場合、既定のモデル ファイル形式にてエクスポートされます。

SaveAsVersion は、この引数のレガシ オプションで、これもサポートされています。

これらのバージョン名は、大文字と小文字を区別しません。

'R14'
'R14SP1'
'R14SP2'
'R14SP3'
'R2006A'
'R2006B'
'R2007A'
'R2007B'
'R2008A'
'R2008B'
'R2009A'
'R2009B'
'R2010A'
'R2010B'
'R2011A'
'R2011B'
'R2012A_MDL'
'R2012A_SLX'
'R2012B_MDL'
'R2012B_SLX'
'R2013A_MDL'
'R2013A_SLX'

'OverwriteIfChangedOnDisk'

システムが読み込まれてからディスク上のファイルが外部から変更された後でも、ディスク上のファイルを上書きするかどうかを示す論理値 (true) です。ファイルがディスク上で変更されたかどうかに関係なくモデルを保存するには、OverwriteIfChangedOnDisk オプションで値を true にします。

モデルが読み込まれた後、ディスク上でファイルが変更された場合、save_system は、上書きを防ぐためにエラーを表示します。上書きさせるには、OverwriteIfChangedOnDisk オプションを true に設定します。「on」または「off」でも指定できます。

true
false (既定の設定)

ファイルが変更されている場合に、save_system がエラーを表示するかどうかは、Simulink の[設定] ダイアログ ボックスの [モデル ファイルの変更通知] セクションの [モデルを保存中] オプションを使って制御できます。既定の設定では、この設定はオンです。

'SaveModelWorkspace'

論理値。モデル ワークスペースの内容を保存するかどうかを指定します。モデル ワークスペース DataSource は MAT ファイルでなければなりません。データ ソースが MAT ファイルではない場合、save_system はワークスペースを保存しません。「データ ソースの指定」を参照してください。「on」または「off」でも指定できます。

true
false (既定の設定)

出力引数

filename

save_system は、保存されたファイルの完全な名前を文字列として返します。複数のファイルが保存された場合、戻り値は、文字列のセル配列になります。

以下の例は、モデルが読み込まれていること、保存先のフォルダーが書き込み可能であることを前提条件としています。

現在のプロジェクトを保存します。

save_system
 

vdp システムを vdp という名前で保存します。

save_system('vdp')
 

vdp システムを 'myvdp' という名前のファイルに保存します。2 番目の引数でファイル拡張子 (.slx または .mdl) を指定しない場合、save_system は Simulink 設定で指定されたファイル形式を使用します。

save_system('vdp', 'myvdp')
 

vdp システムを別のフォルダーに保存します。

save_system('vdp', 'C:\TMP\vdp.slx')
 

既存のモデル mymodel を、SLX ファイル形式を指定して別のファイルに保存します。

save_system('mymodel', 'newsysname.slx')
 

vdp システムを 'myvdp' という名前のファイルに保存し、ライブラリ ブロックへのリンクを、保存されたファイル内のライブラリ ブロックのコピーで置き換えます。

save_system('vdp','myvdp','BreakAllLinks', true)
 

現在のモデルを現在の名で保存し、モデル内のライブラリ リンクを解除します。

save_system('mymodel','mymodel','BreakAllLinks',true)

または

save_system('mymodel',[],'BreakAllLinks',true)
 

現在のモデルを新しい名前で保存します。ただし、既に MATLAB パス上に同じ名前の何かが存在する場合には、保存は行わず、エラーを表示します。

save_system('mymodel','mynewmodel','ErrorIfShadowed',true)
 

既に MATLAB パス上に同じ名前の何かが存在する場合には、vdp システムを新しい名前で保存しないようにしてください。この例では、'max' は MATLAB の関数の名前なので、save_system は保存する代わりにエラーを表示します。

save_system('vdp', 'max', 'ErrorIfShadowed', true)
 

vdp システムを 'myvdp' という名前で Simulink Version R2008a にエクスポートします。これは、ライブラリ ブロックへのリンクをライブラリ ブロックのコピーで置き換えません。

save_system('vdp','myvdp','ExportToVersion','R2008a')

現在のモデルを新しい名前で保存し、モデル ワークスペースを保存します。さらに、すべてのライブラリ リンクを解除します。ディスク上でファイルが変更された場合は上書きします。

save_system('mymodel', 'mynewmodel', 'SaveModelWorkspace', 
true, 'BreakAllLinks',true, 'OverwriteIfChangedOnDisk', true)

保存されたファイルの絶対パス名を文字列として返します。複数のファイルが保存された場合、戻り値は、文字列のセル配列になります。

filename = save_system('mymodel')

新規ファイルに保存されたシステムの絶対パス名を返します。

filename = save_system('mymodel', 'newmodelname')

参考

| |

この情報は役に立ちましたか?