Modelicaを使用したモデリング
Modelica言語とModelicaブロックを使用したモデリングについて学習します。
Modelica言語
Modelicaは、特に物理コンポーネント挙動のモデリングに適した方程式ベースの言語です。
Modelica言語は、Modelica Associationが規定し、維持しています。
Modelicaの概要については、上級ユーザーのための拡張定義およびwww.modelica.orgをご参照ください。
Modelica Standard Library
Modelica Associationは、多くの分野に対応したオープンソースライブラリであるMSL(Modelica Standard Library)を作成しています。MSLは基準ライブラリであり、他のすべてのライブラリの基礎として機能します。
- MSLのバージョンは、Modelica言語仕様のバージョンと共に進化しています。
- Twin Activateの現行バージョンは、MSLバージョン3.2.3をサポートしています。
Twin ActivateのModelicaコンパイラーとModelicaライブラリ
信号ブロックと物理ブロックを混用するTwin Activateの高機能なセマンティクスへの依存もさることながら、それ以上にTwin ActivateにおけるModelicaブロックの応用では、ブロックライブラリとコンパイラーを多用しています。Twin Activateのブロックライブラリは、MSLなどの各種ライブラリに基づいています。コンパイラーはModelicaコードを、Twin Activateで扱うコードに変換します。
ModelicaコンパイラーとFMU
- Twin ActivateにはModelicaコンパイラーが付属しています。このコンパイラーは、Modelicaブロック(モデルにあるすべてのブロックのModelicaコードのアセンブリ)を入力として、FMU(Functional Mock-up Unit)を作成します。
- ModelicaコンパイラーはMaplesoft™の機能に基づいています。
C/C++コンパイラー
Modelicaブロックを使用するにはFMUを作成する必要があるので、結局C/C++コンパイラーを使用する必要があります。サポートされていないVisual C++ターゲットオプションというエラーメッセージが表示された場合は、システムにC++コンパイラーがインストールされていません。このエラーを修正するには、サポートされているMicrosoft Visual Studio C++コンパイラーをインストールしてください。システムにインストールされているコンパイラーを表示するには、OMLコマンドウィンドウでvssGetCompilerName()
と入力します。
Modelicaカスタムブロック
MoCustomComponentブロックでコンポーネントとModelicaブロックを定義します。
-
Paletteブラウザで ブロックを選択します。このブロックを、ダイアグラムにドラッグ&ドロップしてからダブルクリックします。
ブロックのダイアログが開き、このブロックのポート、パラメーター、およびシミュレーション関数を定義するためのタブが表示されます。
- ポートタブで、ブロックに設定する入力ポートと出力ポートの数を入力し、各ポートの名前を入力してOKをクリックします。
- パラメータ(Parameters)タブで、このブロックのパラメーターの数を入力します。それらのパラメーターごとに、名前、値、およびタイプを入力してOKをクリックします。
- シミュレーション関数タブで、このブロックのシミュレーション関数を入力してOKをクリックします。
Modelicaライブラリのインポート
Twin Activateモデルで使用するModelicaブロックをインポートします。
インポートしたライブラリは、MSL 4.0.0に準拠している必要があります。また、ライブラリは、標準のModelicaフォルダ構造を持ち、<package>.moをファイル形式とする有効なModelicaパッケージであることが必要です。
- 目的のModelicaライブラリをローカルシステムに保存します。
-
メニューバーで
を選択します。または、Modelicaライブラリから新規ライブラリを作成オプションを選択します。を選択して、
-
表示されたLibrary Creatorダイアログで、インポートするライブラリのパスをModelicaライブラリパスに入力します。ライブラリの保存先とするパスをActivateライブラリパスに入力してOKをクリックします。
選択したModelicaライブラリがTwin Activateライブラリとデモモデルに変換され、指定したディレクトリに保存されます。インポートしたライブラリはPaletteブラウザから使用でき、アンインストールするまではそれ以降のセッションでも使用可能な状態が維持されます。デモモデルはDemoブラウザから利用できます。重要: インポートしたライブラリには、ブロック定義に記述された固有IDが設定されています。モデルを共有する際は、そのモデルで参照しているすべてのインポート済みライブラリも共有する必要があります。