Modelicaを使用したモデリング
Modelica言語とModelicaブロックを使用したモデリングについて学習します。
Modelica言語
Modelicaは、特に物理コンポーネント挙動のモデリングに適した方程式ベースの言語です。
Modelica言語は、Modelica Associationが規定し、維持しています。
Modelicaの概要については、上級ユーザーのための拡張定義およびwww.modelica.orgをご参照ください。
Modelica Standard Library
Modelica Associationは、多くの分野に対応したオープンソースライブラリであるMSL(Modelica Standard Library)を作成しています。MSLは基準ライブラリであり、他のすべてのライブラリの基礎として機能します。
- MSLのバージョンは、Modelica言語仕様のバージョンと共に進化しています。
- Activateの現行バージョンは、MSLバージョン3.2.3をサポートしています。
ActivateのModelicaコンパイラーとModelicaライブラリ
信号ブロックと物理ブロックを混用するActivateの高機能なセマンティクスへの依存もさることながら、それ以上にActivateにおけるModelicaブロックの応用では、ブロックライブラリとコンパイラーを多用しています。Activateのブロックライブラリは、MSLなどの各種ライブラリに基づいています。コンパイラーはModelicaコードを、Activateで扱うコードに変換します。
ModelicaコンパイラーとFMU
- 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ブロックを定義します。
Modelicaライブラリのインポート
Activateモデルで使用するModelicaブロックをインポートします。
インポートしたライブラリは、MSL 3.2.3に準拠している必要があります。また、ライブラリは、標準のModelicaフォルダ構造を持ち、<package>.moをファイル形式とする有効なModelicaパッケージであることが必要です。