メインコンテンツ

sscbuild

Simscape ファイルのコレクションからカスタム ライブラリをビルドする

R2024b 以降

説明

sscbuild(namespace) は、指定した名前空間 namespace からカスタム Simscape™ ライブラリ ファイルを生成します。名前空間の親フォルダー (つまり、最上位の名前空間フォルダーを含むフォルダー) から sscbuild を呼び出します。名前空間のフォルダー構造の詳細については、Organizing Your Simscape Filesを参照してください。

1 つの引数を指定して sscbuild を呼び出すと、ライブラリ ファイルの名前は namespace_lib となり、名前空間の親フォルダーに配置されます。ライブラリには、名前空間とそのサブフォルダー内にある Simscape ファイル (ソース ファイルまたは保護されたファイル) から生成されたすべてのサブライブラリおよびブロックが含まれます。ライブラリをビルドすると、Simscape の保護されたファイルがソース ファイルよりも優先されます。名前空間内に保護されたファイルとソース ファイルの両方が存在し、ソース ファイルの方が保護されたファイルよりも新しい場合、sscbuild は保護されたファイルを使用してライブラリをビルドしますが、警告を出します。

sscbuild(namespace,'-output',outputlibrary) は、ライブラリ ファイルの名前と場所を定義する outputlibrary を使用して、指定した名前空間 namespace からカスタム Simscape ライブラリ ファイルを生成します。この構文では名前と値の引数のペアを使用します。'-output' がオプションの引数の名前、outputlibrary が引数の値です。この関数は引数名の部分一致機能を実装しているため、引数名として '-o' を指定することもできます。

sscbuild namespace は、構文のコマンド形式です。コマンド形式の方が、必要となる特殊文字が少なくなります。かっこを入力したり、入力を一重引用符や二重引用符で囲んだりする必要はありません。入力はコンマではなくスペースで区切ります。

たとえば、+MyNamespace という名前の名前空間をビルドする場合、次のステートメントは等価です。

sscbuild MyNamespace        % command form
sscbuild('MyNamespace')     % function form

出力ライブラリのパスと名前が文字ベクトルである限り、前の構文で説明した名前と値の引数のペアとともにコマンド形式を使用することもできます。たとえば、+MyNamespace という名前の名前空間をビルドし、出力ライブラリを 'C:\Work\MyLibrary' として保存する場合、次のステートメントは等価です。

sscbuild MyNamespace -output C:\Work\MyLibrary          % command form
sscbuild('MyNamespace','-output','C:\Work\MyLibrary')   % function form

出力ライブラリの名前と場所を指定するために outputlibrary で変数や fullfile などの関数を使用する場合は、コマンド形式を使用しないでください。コマンドと関数の二重性の詳細については、コマンド構文または関数構文の選択を参照してください。

sscbuild は引数なしの特殊構文であり、これを使用して名前空間フォルダー構造内から関数を呼び出すことができます。既定のライブラリの名前と場所を使用して、現在の名前空間からライブラリをビルドします。出力ライブラリに別の名前や場所を指定するには、名前空間の親フォルダーから、名前と値の引数のペアを含む構文のコマンド形式または関数形式を使用して sscbuild を呼び出します。

すべて折りたたむ

Simscape ファイルを保存している最上位の名前空間フォルダーが +SimscapeCustomBlocks という名前で、C:\Work\MyLibraries にあるとします。

カスタム ブロック ライブラリを生成するには、現在の作業フォルダーを C:\Work\MyLibraries に変更します。次に、MATLAB® コマンド プロンプトで次のように入力します。

sscbuild('SimscapeCustomBlocks');

この構文のコマンド形式を使用することもできます。その場合、必要となる特殊文字が少なくなります。

sscbuild SimscapeCustomBlocks;

このコマンドにより、SimscapeCustomBlocks_lib という Simulink® モデル ファイルが名前空間の親フォルダー C:\Work\MyLibraries (つまり、+SimscapeCustomBlocks 名前空間フォルダーが含まれているのと同じフォルダー) 内に生成されます。

Simscape ファイルを保存している最上位の名前空間フォルダーが +CustomElectricalBlocks という名前で、C:\Work にあるとします。この名前空間からカスタム ブロック ライブラリを生成して C:\Work\MyLibraries に配置し、より短く意味のある名前 CustomDiodes を付けたいと考えています。これを行うには、sscbuild 関数に名前と値の引数のペアを指定します。

カスタム ブロック ライブラリを生成するには、現在の作業フォルダーを C:\Work に変更します。次に、MATLAB コマンド プロンプトで次のように入力します。

sscbuild('CustomElectricalBlocks','-output','C:\Work\MyLibraries\CustomDiodes')
Generating Simulink library 'CustomDiodes' in the output directory 'C:\Work\MyLibraries' ...

この関数の呼び出しにより、指定したフォルダー内に CustomDiodes.slx という Simulink モデル ファイルが生成されます。さまざまなモデルでこれらのカスタム ブロックを使用しやすくするために、C:\Work\MyLibraries フォルダーを MATLAB パスに追加します。

ソース ファイルを含む名前空間が、読み取り専用フォルダー内にあるとします。たとえば、+BatteryPack 名前空間が配列を使用したリチウムイオン電池パックと故障の例で使用されています。この名前空間の詳細については、Case Study — Battery Pack with Fault Using Arraysを参照してください。

+BatteryPack 名前空間からカスタム ブロック ライブラリを生成するには、出力ライブラリの場所として、名前空間の読み取り専用の親フォルダー以外の場所を指定しなければなりません。これを行うには、sscbuild 関数に名前と値の引数のペアを指定します。この例では、出力フォルダー名が文字ベクトルであるため、構文のコマンド形式を使用できます。

現在の作業フォルダーを、+BatteryPack 名前空間を含むフォルダーに変更します。

cd(matlabroot)
cd toolbox/physmod/simscape/supporting_files/example_libraries 

MATLAB コマンド プロンプトで次のように入力します。

sscbuild BatteryPack -output C:\Work\BatteryPack_lib
Generating Simulink library 'BatteryPack_lib' in the output directory 'C:\Work' ...

このコマンドにより、指定した出力フォルダー C:\Work 内に BatteryPack_lib という Simulink モデル ファイルが生成されます。

引数名の部分一致機能を利用して、コマンド構文をさらに短縮することもできます。

sscbuild BatteryPack -o C:\Work\BatteryPack_lib

このコマンドは、前のコマンドと等価です。

入力引数

すべて折りたたむ

sscbuild 関数を呼び出すフォルダー内に配置されている、Simscape ファイルを含む名前空間の名前。文字ベクトルまたは string スカラーとして指定します。namespace は、最上位の名前空間フォルダーの名前から先頭の + を除いたものです。コマンド構文を使用して sscbuild を呼び出す場合は、namespace を引用符で囲まないでください。コマンドと関数の二重性の詳細については、コマンド構文または関数構文の選択を参照してください。

例: sscbuild MyNamespace は、名前空間 +MyNamespace からライブラリをビルドするコマンド構文です。等価の関数の構文は sscbuild('MyNamespace') です。

名前空間から生成されるブロック ライブラリ ファイルの名前と場所。文字ベクトルまたは string スカラーとして指定します。関数構文を使用して sscbuild を呼び出す場合は、MATLAB 変数および fullfilegenpath などの関数を使用してライブラリ ファイルのパスを指定することもできます。

パスなしでファイル名を指定した場合、ライブラリは現在の作業フォルダーに生成されます。ファイル名を指定する際は、ファイル拡張子 .slx を含めることも、省略することもできます。

例: 関数構文の fullfile(tempdir,'MyLibrary.slx') では、MATLAB 変数や関数を使用してライブラリ ファイルのパスを指定できます。

バージョン履歴

R2024b で導入