Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

ライブラリ ブロックと参照ブロックの要件リンク

ライブラリ ブロックと参照ブロックの紹介

Simulink® では、ユーザー独自のブロック ライブラリを作成できます。ブロック ライブラリを作成すると、ブロック、サブシステム、Stateflow® Atomic サブチャートを複数のモデルで再利用できます。

ライブラリ ブロックを Simulink モデルにコピーした場合、新しいブロックは "参照ブロック" と呼ばれます。このライブラリ ブロックの複数の "インスタンス" を 1 つ以上のモデルで作成できます。

参照ブロックは "ライブラリ リンク" を使用してライブラリ ブロックにリンクされます。ライブラリ ブロックを変更すると、参照ブロックが含まれるモデルを開くか更新したときに、ライブラリ ブロックにリンクされているすべての参照ブロックが更新され、その変更が反映されます。

メモ

参照ブロックとライブラリ リンクの詳細については、カスタム ライブラリ (Simulink)を参照してください。

ライブラリ ブロックと要件

ライブラリ ブロック自体に要件へのリンクを設定できます。また、ライブラリ ブロックがサブシステムまたは Atomic サブチャートである場合、ライブラリ ブロック内のオブジェクトにライブラリ リンクを設定できます。要件管理インターフェイス (RMI) を使用すると、ライブラリとモデル内の要件リンクの作成と管理を実行できます。

この後の各節では、ライブラリ ブロックおよび参照ブロック上および内部の要件リンクを管理する方法を説明します。

要件があるライブラリ ブロックのコピー

ライブラリ サブシステムまたはマスク ブロックをモデルにコピーすると、ライブラリ ブロックおよびライブラリ ブロック内のオブジェクトにある要件リンクの強調表示と閲覧表示、さらにこれらのリンクでの移動を実行できます。しかし、これらのリンクはそのモデルには関連付けられていません。リンクはモデルではなくライブラリに保存されます。

参照ブロックのコンテキストからライブラリ ブロックの要件リンクの追加、変更、削除を行うことはできません。参照ブロックからライブラリ ブロックへのリンクを無効にすると、ライブラリ ブロック内部のオブジェクトで要件を変更できるようになります。これは、ライブラリ リンクを無効にすると他のブロック属性を変更できるようになるのと同様です。

参照ブロック上の要件の管理

RMI を使用すると、他のモデル オブジェクトの場合と同様に、参照ブロックでも要件リンクを管理できます。参照ブロックのローカル要件とライブラリ要件の両方の表示と移動を実行できます。

  • ローカルで作成された要件リンク — ライブラリ ブロックを変更せずに変更や削除ができます。

    • Manifold absolute pressure sensor

    • Mass airflow estimation

  • ライブラリ ブロックの要件リンク — 参照ブロックのコンテキストからの変更や削除はできません。

    • Speed sensor

    • Throttle sensor

    • Oxygen sensor

参照ブロック内の要件の管理

ライブラリ ブロックがサブシステムまたは Stateflow Atomic サブチャートの場合、そのサブシステムまたはサブチャートの "内部" のオブジェクト上に要件リンクを作成することができます。参照ブロックからライブラリへのリンクを無効にすると、参照ブロック内のオブジェクト上のリンクの要件を追加、変更、削除することができます。リンクが無効になると、RMI ではローカルで作成されたリンクとして扱われます。

参照ブロック内のオブジェクトの要件リンクを変更した後、そのリンクを関連付けて変更をライブラリ ブロックに反映させることができます。次回にそのライブラリ ブロックのインスタンスを作成すると、この変更がライブラリ ブロックの新しいインスタンスにコピーされます。

参照ブロック内のオブジェクトで要件リンクを作成するためのワークフローは次のとおりです。

  1. ライブラリ内にサブシステム S1 があります。S1 をモデルにドラッグして、新しいサブシステムを作成します。このサブシステムは参照ブロックです。

  2. 参照ブロックとライブラリ ブロックの間のライブラリ リンクを無効にします。リンクを無効にして RMI データの維持を行う場合、ライブラリが読み込まれた状態にしてください。リンクを無効にするには、参照ブロックを選択し、[サブシステム] タブで [リンクを無効にする] をクリックします。

  3. 参照ブロック内のオブジェクトから要件ドキュメントへのリンクを作成します。

    メモ

    参照ブロック内部から要件にリンクする場合、作成できるリンクの方向はモデルから要件ドキュメントへの一方向のみです。RMI ではナビゲーション オブジェクトを参照ブロック内のオブジェクトの要件ドキュメントに挿入することはできません。

  4. 参照ブロックとライブラリ ブロックの間のライブラリ リンクを関連付けます。

    1. 参照ブロックを選択します。

    2. [サブシステム] タブで、[リンクを戻す] をクリックします。

    3. [アクション] 列で、[プッシュ] をクリックします。

    4. [OK] をクリックしてリンクをライブラリ ブロックへ関連付け、新しく追加された要件をライブラリ ブロック内のオブジェクトに反映させます。

      ライブラリ ブロックとサブシステムの間のライブラリ リンクを関連付けると、Simulink により新しい要件リンクがライブラリ ブロック S1 にプッシュされます。次の図は、ライブラリ ブロック S1 内部から要件への新しいリンクを示しています。

    メモ

    ライブラリがロックされているというメッセージが表示された場合、ライブラリ ブロックに変更をプッシュするにはライブラリのロックを解除しなければなりません。

  5. これで、ライブラリ ブロック S1 には要件リンクを含むオブジェクトが存在します。S1 を別のモデルで再使用すると、新しいサブシステムにはこの要件にリンクするオブジェクトが含まれます。

要件からライブラリ ブロックへのリンク

ライブラリ ブロックにリンクしている要件がある場合、そのライブラリ ブロックをモデルにドラッグすると、要件は参照ブロックにはリンクされず、ライブラリ ブロックにのみリンクされます。

たとえば、ライブラリ ブロック (下図の B1) と要件の間に双方向のリンクを設定したとします。

モデルのライブラリ ブロック B1 を使用すると、参照ブロックから要件に移動できます。ただし、要件からのリンク先はライブラリ ブロック B1 だけを示しており、参照ブロックではありません。

前の節で説明したとおり、ライブラリ リンクを無効にするとライブラリ ブロックのインスタンス内にあるオブジェクトで要件リンクを作成できます。ただし、RMI では、要件ドキュメントからこのようなオブジェクトへのリンクは作成できません。ライブラリ リンクを戻したときにリンクが無効になるためです。