バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
前回まではOpenModelicaの使い方、Modelicaコードの読み方がメインでやってきた。
Modelicaでシミュレーションするだけでもいろいろできるのだが、
折角のモデルもOpenModelicaで閉じていてはちょっと応用性に限界がありそう。
今回はそこら辺の打開策の話となる。
登場人物
博識フクロウのフクさん
イラスト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
Modelicaモデルを外部から利用できるのか?
前回まででOpenModelicaとかModelicaの有用性はわかったんだけど、
これを外部から利用するってできないのかな?
というと?
例えば、
Simulinkでプラントモデルとして使うとか、
CANoeのネットワークノードのアルゴリズムとして使うとか・・・。
ふむふむ。
具体的な話だと、
以前、SimulinkモデルをCANoeのネットワークノードに割り当てたりとかしたじゃん?
たしかここらへん。
できるよ。
でも、OpenModelicaはフリーなツールだしなー。
できるよ。
そこまで求めるのは無茶かー。
できるよ。
やっぱり商用ツールを使うべきか・・・。
だから、できるってば!
できるんかい!!
(だから、最初からそう言ってたじゃん・・・。)
FMI/FMU
で、どうやって実現できるの?
OpenModelicaからFMI(Function Mockup Interface)を持ったFMU(Function Mockup Unit)ってのが生成できる。
FMI?FMU?
Wikipediaから引用・・・と思ったが、
日本語ページは無いのか・・・。
じゃ、英語ページから引用だ。
Wikipediaから引用
The Functional Mock-up Interface (or FMI) defines a standardized interface to be used in computer simulations to develop complex cyber-physical systems. The vision of FMI is to support this approach: if the real product is to be assembled from a wide range of parts interacting in complex ways, each controlled by a complex set of physical laws, then it should be possible to create a virtual product that can be assembled from a set of models that each represent a combination of parts, each a model of the physical laws as well as a model of the control systems (using electronics, hydraulics, and digital software) assembled digitally. The FMI standard thus provides the means for model based development of systems and is used for example for designing functions that are driven by electronic devices inside vehicles (e.g. ESP controllers, active safety systems, combustion controllers). Activities from systems modelling, simulation, validation and test can be covered with the FMI based approach. To create the FMI standard, a large number of software companies and research centers have worked in a cooperation project established through a European consortium that has been conducted by Dassault Systemes under the name of MODELISAR. The MODELISAR project started in 2008 to define the FMI specifications, deliver technology studies, prove the FMI concepts through use cases elaborated by the consortium partners and enable tool vendors to build advanced prototypes or in some cases even products. The development of the FMI specifications was coordinated by Daimler AG. After the end of the MODELISAR project in 2011, FMI is managed and developed as a Modelica Association Project (MAP).
Wikipeidaより(https://en.wikipedia.org/wiki/Functional_Mock-up_Interface)
↓日本語訳
FMI(Functional Mock-up Interface)は、複雑なサイバーフィジカルシステムを開発するためのコンピュータシミュレーションで使用される標準的なインターフェースを定義しています。 FMIの目的は、実際の製品が、複雑な物理法則に基づいて制御され、複雑な方法で相互作用する様々な部品から組み立てられる場合、それぞれの部品の組み合わせを表すモデル、それぞれの物理法則のモデル、デジタルで組み立てられた制御システム(電子機器、油圧機器、デジタルソフトウェアを使用)のモデルのセットから組み立てられる仮想製品を作成することができることです。FMI規格は、モデルベースでシステムを開発するための手段を提供しており、例えば、自動車内の電子機器によって駆動される機能(ESPコントローラ、アクティブセーフティシステム、燃焼コントローラなど)の設計に使用されています。FMIベースのアプローチでは、システムのモデリング、シミュレーション、検証、テストなどの活動をカバーすることができます。 FMI規格の策定にあたっては、ダッソー・システムズ社がMODELISARという名称で実施している欧州コンソーシアムによる協力プロジェクトに、多くのソフトウェア企業や研究機関が参加しています。MODELISARプロジェクトは2008年に開始され、FMIの仕様を定義し、技術研究を行い、コンソーシアムのパートナーが作成したユースケースを通じてFMIのコンセプトを証明し、ツールベンダーが高度なプロトタイプや場合によっては製品を構築できるようにすることを目的としています。FMI仕様の開発は、ダイムラー社が担当しました。2011年にMODELISARプロジェクトが終了した後、FMIはModelica Association Project(MAP)として管理・開発されています。
Wikipeidaより(https://en.wikipedia.org/wiki/Functional_Mock-up_Interface の日本語訳)
うーん、FMIという標準インターフェースがあって、OpenModelicaはその標準インターフェースを持ったモデルを出力できるってこと?
そうなるね。
イマイチぴんと来ないないぁ。
まぁこれだけじゃ何言ってるかわからんよねー。
説明ぷりーーず!!!
まぁFMI/FMUについて説明していくか。
まとめ
まとめだよ。
- Modelicaモデルを外部から利用する手段は一応ある。
- OpenModelicaからFMIをもったFMUを出力可能。
- FMIは物理モデルをモジュール化したものの標準インターフェース。
- MODELISARプロジェクトで策定。
- その後、Modelica Association Project(MAP)で管理。
バックナンバーはこちら。
コメント