Main Content

カスタム コンポーネントの作成

コンポーネントの種類と前提条件

一般に、物理モデリングには 2 種類のモデルがあります。

  • 動作 — 数式で記述される物理的動作に基づいて実装されるモデル。動作のブロックの実装例としては、Variable Orifice ブロックがあります。

  • 合成 — 特定の方法で接続された他のブロックから構成されるモデル。合成 (または構造) のブロックの実装例としては、4 つの Variable Orifice ブロックに基づいて構成される 4-Way Directional Valve ブロック (Simscape™ Fluids™ Isothermal ブロック ライブラリで利用可能) があります。

Simscape とそのアドオン製品で提供される標準ブロックのライブラリが設計要件を満たさない場合は、Simscape 言語で新しい動作モデルおよび合成モデルを作成できます。動作と構造の要素を組み合わせたコンポーネントも作成できます。そのようなコンポーネントの例については、Composite Component with Equations — RMS Voltage Sensorを参照してください。

コンポーネントを作成するための前提条件は、コンポーネント ノードに対応する適切なドメインを用意することです。Simscape の Foundation ドメインを使用するか、How to Define a New Physical Domainの説明に従って独自に作成できます。

新しいコンポーネントの作成方法

新しいカスタム コンポーネントを作成するには、コンポーネント ファイルを記述してコンポーネント モデル クラスを定義します。

コンポーネント ファイルは、component キーワードで開始し、その後にコンポーネント名を続け、end キーワードで終了する必要があります。

コンポーネント ファイルには、次のセクションを任意の順序で含めることができます。

  • declaration — パラメーター、変数、ノード、入力、出力など、コンポーネントのすべてのメンバーのクラス宣言が含まれます。各メンバーのクラス宣言は個別の宣言ブロックであり、それぞれ該当するキーワード (メンバーのクラスに対応) で始まり、end キーワードで終了します。詳細については、Declaring Domains and Componentsのコンポーネント関連のセクションとリンクを参照してください。

  • branches — コンポーネントの変数とノードの間の関係を確立します。この関係に従って、コンポーネント内で宣言されたスルー変数とアクロス変数がドメインのスルー変数とアクロス変数に接続されます。詳細については、Define Relationship Between Component Variables and Nodesを参照してください。

  • structure — 合成モデルのコンポーネントの接続を宣言します。詳細については、Specifying Component Connectionsを参照してください。

  • equation — 動作モデルのコンポーネントの方程式を宣言します。これらの方程式は条件付きの場合もあり、シミュレーション全体を通じて適用されます。詳細については、Defining Component Equationsを参照してください。

  • events — イベント更新を管理します。イベント モデリングにより、連続変数で離散変化を実行できます。詳細については、Discrete Event Modelingを参照してください。

  • annotations — このコンポーネントから生成される Simscape ブロックの外観に関するさまざまな側面を制御する注釈をコンポーネント ファイルで指定できます。詳細については、annotations を参照してください。

コンポーネント ファイルからのカスタム ブロックの生成

テキストのコンポーネント ファイルを作成した後、それをSelecting Component File Directly from Blockで説明されているワークフローを使用してブロック線図に直接展開できます。ブロックの名前と外観は、コンポーネント ファイルでオプションのコメントを使用して制御できます。詳細については、Customizing the Block Name and Appearanceを参照してください。

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

カスタム ブロック ライブラリを追加する場合は、目的の物理的動作と構造をモデル化する新しいコンポーネントを作成します。Simscape の Foundation ドメインの定義がモデル化要件を満たさない場合は、新しい物理ドメインの作成も必要になることがあります。

テキストのコンポーネント ファイルを作成した後、それらをBuilding Custom Block Librariesで説明されている手順を使用してブロックのライブラリに変換します。ブロックの名前と外観は、コンポーネント ファイルでオプションのコメントを使用して制御できます。詳細については、Customizing the Block Name and Appearanceを参照してください。

関連する例

詳細