バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
OpenModelicaを構成する複数のツールについての説明。
Python、MATLAB用の自動化インターフェース。
Eclipse用プラグインインターフェース。
の話になる。
外部ツールとの相互運用性を確保するためのツール群となる。
登場人物
博識フクロウのフクさん

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
今でやった残りのOpenModelicaのツール群と残りのツール群

OpenModelica Compiler (OMC)、
OpenModelica Connection Editor (OMEdit)、
OpenModelica Shell (OMShell)、
OpenModelica Notebook (OMNotebook)、
とやってきたから残りは以下だね。
- OpenModelica Python Interface (OMPython)
- OpenModelica Matlab Interface (OMMatlab)
- Modelica Development Tooling (MDT)

一個づつ説明していこう。
OpenModelica Python Interface (OMPython)

まずはOpenModelica Python Interface (OMPython)。
名前の通りなんだけど、
OpenModelicaを外部から制御するためのPythonインターフェースだね。

どういうことができるの?

シミュレーションの実行と結果取得がメインかな?
外部からプログラマブルに制御できるんで自動化とか
取得した結果の集計がし易くなる。
うまく使うと他のプログラムとの連携の橋渡しもできると思うよ。

ほー。なんか便利そう。
OpenModelica Matlab Interface (OMMatlab)

OpenModelica Matlab Interface (OMMatlab)は
上で説明した、OpenModelica Python Interface (OMPython)のMATLAB版だな。

MATLABからも制御できるのかー。
なんかほとんどのことをができちゃうんじゃん?

まぁ使う側のアイデア次第だねー。
OpenModelicaのシミュレーション結果を受けて
MATLAB内で別のシミュレーションを走らせるみたいなこともできるだろう。
Modelica Development Tooling (MDT)

そして最後はModelica Development Tooling (MDT)。
これはEclipse用のプラグインだな。

ほう。
何ができるの?

Eclipse上で書いたModelicaコードをOpenModelica Compiler (OMC)に引き渡して
コンパイルしながらコーディングできるってものだな。

なんかあんまり便利感を感じないんだけど・・・。

Modelicaもオブジェクト指向の思想を汲んでるんで、
派生の概念を持っている。
OpenModelicaの標準エディタだと、コード内のモデル内部情報は該当モデルを参照しないとわからないんだけど、
Eclipse上で編集する場合は、モデル内情報が参照できる。

あ、Eclipse上でJavaを書く時と同じイメージでコードが書けるって感じか。

そうそう。
Modelica言語を言語としてガリガリ書く場合はModelica Development Tooling (MDT)を使った方が楽だろう。
今後の方針

というわけで、一通りツールの説明は終わったかな。

次はどうするの?

実際にOpenModelicaを使っていこうかと思う。

やっと実際に動作させてみるってことだねー。

その通り。
まとめ

まとめだよ。
- OpenModelica Python Interface (OMPython)
- Python自動化インターフェース
- OpenModelica Matlab Interface (OMMatlab)
- 上記のMATLAB版
- Modelica Development Tooling (MDT)
- Eclipseインターフェース
バックナンバーはこちら。
コメント