ドキュメンテーション

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

カスタム ライブラリの作成

ライブラリの作成

独自のライブラリを作成し、必要に応じて Simulink® のライブラリ ブラウザーに追加できます。モデルを保存するのと同様に、ライブラリを .SLX ファイルとして保存します。ただし、ライブラリ内ではシミュレートできず、ライブラリは閉じるたびに編集に対してロックされるようになります。ライブラリのロックを解除してから変更を加えなければなりません。ライブラリのロックとロック解除を参照してください。

  1. Simulink スタート ページから、[空のライブラリ] を選択して [ライブラリの作成] をクリックします。

  2. モデルまたはライブラリから新しいライブラリへブロックを追加します。ブロック パラメーターの変更、マスクの追加、サブシステムへのブロックの追加など、ブロックに対して希望する変更を行います。

    ライブラリ階層のサブシステム名は一意でなければなりません。たとえば、Subsystem_Name1/Subsystem_Name2/Subsystem_Name1 のような階層を作成しないでください。

  3. 注釈またはイメージを追加します。ライブラリ ブラウザーでライブラリに表示させるものを右クリックして、[ライブラリ ブラウザーで表示] を選択します。

  4. ライブラリ ブラウザーにライブラリを追加する予定の場合、ライブラリ モデルでブロックと注釈を並べることができます。既定では、ライブラリ ブラウザーには最初はサブシステム、次にブロック、その次に注釈がアルファベット順に表示されます。ライブラリのユーザーはライブラリ ブラウザーのコンテキスト メニューを使用して、それらをアルファベット順に表示するか、指定した順番に表示するかを選択できます。ユーザーがこのオプションを選択すると、ライブラリ モデルに表示される順番によって、ライブラリ ブラウザーのライブラリのグリッド上に表示される順番が決定されます。

  5. ライブラリをライブラリ ブラウザーに表示する場合、ライブラリを保存する前にモデル プロパティ EnableLBRepository を有効にします。

    set_param(gcs,'EnableLBRepository','on');

  6. ライブラリを保存します。

    ライブラリを保存する場所は、ライブラリの使用方法によって異なります。ライブラリをライブラリ ブラウザーに追加する場合、これを MATLAB® パス上のフォルダーに保存するか、場所を MATLAB パスに追加します。あるいは、ブロックを使用するモデルがアクセスできる場所にライブラリを保存します。

ライブラリをライブラリ ブラウザーに表示する場合、MATLAB パス上に、ライブラリをブラウザーに追加する関数 slblocks も作成しなければなりません。ライブラリをブラウザーに追加する完全な手順を示す例については、ライブラリ ブラウザーへのライブラリの追加を参照してください。

メモ

ライブラリ ブラウザーをカスタム ライブラリで更新するには、ライブラリ ブラウザーのライブラリ リスト内の任意の場所を右クリックして [ライブラリ ブラウザーを更新] を選択します。ライブラリ ブラウザーを更新すると、クイック挿入リストも現在有効なカスタム ライブラリ内のブロックを含むように更新されます。クイック挿入リストを使用すると、キャンバスから移動せずにモデルにブロックを追加できます。クイック挿入リストからブロックを追加するには、キャンバスをクリックして入力を開始します。

カスタム ライブラリのブロック

ライブラリには、目的に合わせて構成された、必要なブロックを含めることができます。ライブラリ内のサブシステム、マスクされたブロックおよびチャートは、モデル内のインスタンスとしてリンク付きブロックとなり、ライブラリ内で変更するとリンク付きブロックも更新されます。カスタム ブロックについて知っていると、ライブラリを作成する際にも便利です。カスタム ブロックの設計と作成を参照してください。

特定の目的のために設定されたカスタム ライブラリにブロックを作成できます。

サブライブラリの作成

ライブラリにブロックが多く含まれている場合、ブロックをサブシステムまたは別のサブライブラリにグループ化できます。サブライブラリを作成するには、サブライブラリ ブロックのライブラリを作成して、親ライブラリにある Subsystem ブロックからライブラリを参照します。

  1. サブライブラリを追加するライブラリで、Subsystem ブロックを追加します。

  2. Subsystem ブロック内部で、既定の入力端子と出力端子を削除します。

  3. 必要に応じて、サブライブラリの目的を示すテキストまたはイメージを表示する、サブシステムのマスクを作成します。

  4. サブシステムのブロックのプロパティで、OpenFcn コールバックを参照するライブラリの名前に設定します。

マスクの詳細については、簡単なマスクの作成を参照してください。

ライブラリ ブロックのインスタンスへのリンクの防止

ライブラリ ブロックから作成されたインスタンスがリンク付きブロックではなくコピーであるように、ライブラリ ブロックを設定できます。ブロックの CopyFcn コールバックを設定します。

set_param(gcbh,'LinkStatus','none'); 

リンク付きブロックにブロックの説明を含める

リンク付きブロックに表示される説明を追加するには、ライブラリ ブロックをマスクして、マスクの [ドキュメンテーション] ペインに説明を追加します。ブロックのプロパティを介してライブラリ ブロックに追加された説明は、リンク付きブロックには表示されません。

クイック挿入のキーワードによるブロックの構成

1 つ以上のキーワードをライブラリのブロックに追加できます。キーワードにより、キーワードまたはブロック名をクイック挿入プロンプトから入力することでモデルにブロックを追加できます。

たとえば、ライブラリにカスタムの Gain ブロックがあるとします。キーワード My Gain をブロックに追加できます。次に、クイック挿入プロンプトで My Gain と入力することにより、モデルにブロックを追加できます。

メモ

[Commonly Used Blocks] からブロックにキーワードを追加することはできません。ブロックにキーワードを追加するときには、ブロックの親ライブラリに設定していることを確認してください。

ライブラリのブロックにキーワードを追加するには、'BlockKeywords' パラメーターを指定して set_param を使用します。値には文字ベクトル、string スカラー、または string 配列を使用できます。以下に例を示します。

set_param(gcb,'BlockKeywords',{"My Gain","Your Gain"})
set_param(gcb,'BlockKeywords','My Integrator')

メモ

キーワードでサポートされている特殊文字は '&', '(', ')', '+', '@', '!' です。

ライブラリ ブラウザーで OpenFcn コールバックを使用するサブシステムの設定

カスタム ライブラリでの Subsystem ブロックの一般的な使用方法は、OpenFcn コールバック プロパティを設定して、ライブラリを開き、ライブラリ階層を作成することです。しかし、Subsystem ブロックの OpenFcn コールバック プロパティを別の目的、たとえば MATLAB コードを実行したり、リンクを開いたりするために使用することができます。

ライブラリ内のサブシステム ブロックが空であり、その OpenFcn コールバックにはライブラリまたはモデルを指す以外のアクションを実行するコードが含まれている場合、'ShowInLibBrowser' マスク パラメーターをサブシステムに追加して、それがライブラリ ブラウザーに表示されるようにします。

  1. サブシステムを右クリックし、[マスク][マスクの作成] を選択します。ブロックにマスクが既に設定されている場合は、代わりに [マスクの編集] を選択します。

  2. マスク エディターの [コントロール] ペインの [パラメーターとダイアログ] タブで、[チェック ボックス] をクリックします。

  3. [ダイアログ ボックス] ペインで、新しいチェック ボックスのプロンプトと名前を ShowInLibBrowser に設定して、[OK] をクリックします。

カスタム ライブラリの注釈

注釈をカスタム ライブラリに追加して、オプションでライブラリ ブラウザーに表示させることができます。たとえば、ライブラリを記述する注釈を追加できます。ライブラリのユーザーがライブラリ ブラウザーから自分のモデルに追加できる注釈を追加することもできます。注釈にはテキストやイメージが含まれる場合と方程式が表示される場合があります。注釈は、クリックされた時に、ある動作を実行することもできます。注釈の詳細については、注釈を使用してモデルを説明するを参照してください。

注釈からライブラリのブロックへのコールアウトの線を追加できます。ただし、コールアウトはライブラリ ブラウザーには表示されません。

注釈をライブラリ ブラウザーに表示させる場合、注釈をライブラリに追加してから右クリックして [ライブラリ ブラウザーで表示] を選択します。ユーザーがポインターをライブラリ ブラウザーの注釈に合わせるとツールヒントに説明が表示されるようにするには、プログラムで注釈に説明を追加します。MATLAB コマンド プロンプトで、次のように入力します。

set_param(annotationHandle,'Description','descriptionText)

注釈ハンドルを取得するには、find_system を使用します。この例では、ライブラリ mylib のすべての注釈を取得します。

ann = find_system('mylib','FindAll','on','Type','annotation');

特定の注釈を取得するには、正規表現検索をオンにして、次のように 'Name' 引数を使用して注釈テキストの一部を指定します。

ann = find_system('mylib2',FindAll','on','RegExp',...
'on','Type','annotation','Name','matchingText');

ライブラリ ブラウザーへのライブラリの追加では、ライブラリ ブラウザーに表示される注釈を追加する手順について説明しています。

ライブラリのロックとロック解除

ライブラリを閉じると、編集に対してロックされます。次に開くときに、変更する場合はロックを解除します。ライブラリの左下隅にあるロック バッジをクリックしてロックを解除します。さらに、ロックされたライブラリを変更する場合は、ロック解除を求めるメッセージが表示されます。

ライブラリのロック解除をプログラムで行うことができます。MATLAB コマンド プロンプトで、次のように入力します。

set_param('library_name','Lock','off');

ライブラリをプログラムでロックするには、次のように入力します。

set_param('library_name','Lock','on');

ライブラリのリンクの無効化の防止

既定では、ライブラリ内のブロックのユーザーはライブラリ ブロックへのリンクを無効にできます。リンク付きブロックの編集を制限して、ブロック ユーザーがリンクを無効にできないようにする場合、ライブラリへのリンクをロックします。ライブラリ リンクをロックすると、ユーザーはブロック インスタンスに変更を加えることができなくなります。

  • ライブラリで、[ブロック線図][ライブラリへのリンクをロックする] を選択します。

ブロック ユーザーがロックされたライブラリのブロックを操作する方法を理解するには、ライブラリ内のブロックへのリンクのロックを参照してください。

関連するトピック