メインコンテンツ

Simscape ファイルのタイプおよび構造

Simscape™ 言語では、カスタム コンポーネント、ドメイン、および関数をテキスト ファイルとして定義し、それらのファイルに基づいて物理モデルを作成できます。

Simscape ファイルのタイプ

Simscape ファイルは、MATLAB® 環境の専用のファイル タイプです。拡張子は .ssc です。

Simscape ファイルには MATLAB には存在しない言語構造が含まれます。物理オブジェクトのモデル化に特化しています。ただし、Simscape ファイルには、最も低いレベルの基本的な MATLAB プログラミング構文が組み込まれます。

Simscape ファイルは、次のように MATLAB パス上の +名前空間フォルダー内になければなりません。

  • folder_on_the_path/+MyNamespace/MyComponent.ssc

  • folder_on_the_path/+MyNamespace/+Subnamespace/.../MyComponent.ssc

Simscape ファイルのパッケージ化の詳細については、Organizing Your Simscape Filesを参照してください。

ファイル タイプとモデル タイプ

2 つのモデル タイプに対応する 2 つの Simscape ファイル タイプがあります。

  • "ドメイン" モデルは、コンポーネント モデルがエネルギーおよびデータを交換する物理ドメインを記述します。これらの物理ドメインは、並進、回転、電気などの端子タイプに対応しています。

  • "コンポーネント" モデルは、モデル化する物理コンポーネントを記述します。つまり、Simscape ブロックに対応しています。

たとえば、Simscape Foundation ライブラリの Local Restriction (TL) ブロックとは異なる可変面積油圧オリフィスを実装するために、Foundation ライブラリに含まれている熱液体ドメインに基づいてコンポーネント モデル MyVarOrifice.ssc を作成できます。ただし、まずドメイン モデル t_hyd.ssc (流体温度を考慮したカスタム油圧ドメイン) を作成し、次にそれを参照するコンポーネント モデル MyThhOrifice.ssc に加え、このカスタム ドメインに基づいた、熱流動システムのモデル化に必要な他のすべてのコンポーネント モデルを作成することで、シンプルな熱流動オリフィスを実装することもできます。例については、Custom Library with Propagation of Domain Parametersを参照してください。

3 番目のファイル タイプである "関数" ファイルは、Simscape 関数を表します。Simscape 関数は、明示的な入出力関係をもつ純粋な 1 階数学関数のクラスをモデル化します。複数のコンポーネントの方程式やメンバー宣言で式を再利用することを目的としています。

モデル ファイルの構造

各モデルは、拡張子が .ssc で同じ名前の独自のファイルで定義されます。たとえば、MyComponentMyComponent.ssc で定義されます。モデルは、ドメイン モデルまたはコンポーネント モデルにすることができます。各 Simscape ファイルは、モデル クラスと識別子を指定する行で始まります。

ModelClass Identifier

ここで、

  • ModelClassdomain または component のいずれかです。

  • Identifier はモデルの名前です。

次に例を示します。

domain rotational

または

component spring

Simscape ファイルでは、モデルの説明を次の部分に分割します。

  • "インターフェイス" または "宣言" — MATLAB クラス システム宣言に似た宣言セクション:

    • ドメイン モデルの場合、変数 (スルー変数とアクロス変数) およびパラメーターを宣言します。

    • コンポーネント モデルの場合、ノード、入力と出力、パラメーター、および変数を宣言します。

  • "実装" (コンポーネント モデルのみ) — モデルの実行時の機能について説明します。実装は次のセクションで構成されます。

    • "構造" — 合成コンポーネントの場合、構成コンポーネントの端子が相互に、また最上位コンポーネントの外部入力、出力、およびノードにどのように接続されているかを説明します。モデルのコンパイル時に、最上位モデル内のコンポーネントのインスタンスごとに 1 回実行されます。

    • "方程式" — 動作コンポーネントの場合、基となる方程式を記述します。シミュレーション全体で実行されます。

    • "イベント" — 離散イベント モデリングの場合、連続変数に対して離散的な変更を行うことができます。シミュレーション全体で実行されます。

メモ

  • コンポーネント ファイルには、これらの実装セクションを任意に組み合わせて含めることができます。動作要素と構造要素を組み合わせたコンポーネントの例については、Composite Component with Equations — RMS Voltage Sensorを参照してください。

  • ドメイン ファイルには、equations セクションを含めることもあります。詳細については、Domain Equationsを参照してください。

MATLAB クラス システムと同様に、これらの構造と関数はクラスの特定のインスタンスに対して作用します。MATLAB クラス システムとは異なり、オブジェクトは関数の最初の引数として渡されません。これにより、機能を損なうことなく、構文を簡素化できます。

参考

トピック