【FMU】最小構成のMBD事例 第2章 その44【FMILibrary①】

【FMU】最小構成のMBD事例 第2章 その44【FMILibrary①】 事例
【FMU】最小構成のMBD事例 第2章 その44【FMILibrary①】

バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/

はじめに

前回まででFMI/FMUの仕様の大雑把なところを確認したところまで。
どうやら、C言語からFMU/FMIを制御する手法があるらしい。

というわけで、
今回からは、C言語からのFMU/FMI制御手法のついていろいろ調べたり試したりしていくこととなる。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラスト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

C言語からFMU/FMIを制御する手法

太郎くん
太郎くん

前回の最後の方の話だと、
C言語からFMU/FMIを制御する手法がある
らしいこと言ってたけど、どんな感じになるの?

フクさん
フクさん

単純にFMU/FMI制御用のライブラリが公開されてて、
それを使おうって程度だねー。

太郎くん
太郎くん

ほう。
その制御ライブラリの名前は?

FMILibrary

フクさん
フクさん

名前はそのまんまで「FMILibrary

太郎くん
太郎くん

確かに何のひねりもないな・・・。

太郎くん
太郎くん

つまり、それをどっかから持ってきて、
それの使い方さえ分かってしまえばOKってことか。

フクさん
フクさん

まぁ普通はそう思うよねー。

FMILibraryの在り処

太郎くん
太郎くん

なんかあるの?
ヤバいことが・・・。

フクさん
フクさん

一応、Windows向けのFMILibraryはここで公開されてるのだが・・・。

太郎くん
太郎くん

なんだ、普通にあるんじゃん。

フクさん
フクさん

良く見ると、win32用しかない。

FMILibrary-1.0.1-src.zip
FMILibrary-1.0.1-win32.zip
FMILibrary-1.0-src.zip
FMILibrary-1.0-win32.zip
FMILibrary-2.0.1-src.zip
FMILibrary-2.0.1-win32.zip
FMILibrary-2.0.2b3-src.zip
FMILibrary-2.0.2b3-win32.zip
FMILibrary-2.0.2b4-src.zip
FMILibrary-2.0.2b4-win32.zip
FMILibrary-2.0.2-src.zip
FMILibrary-2.0.2-win32.zip
FMILibrary-2.0.3b1-src.zip
FMILibrary-2.0.3b1-win32.zip
FMILibrary-2.0.3-src.zip
FMILibrary-2.0.3-win32.zip
FMILibrary-2.0a1-src.zip
FMILibrary-2.0a1-win32.zip
FMILibrary-2.0a5-src.zip
FMILibrary-2.0a5-win32.zip
FMILibrary-2.0a6-src.zip
FMILibrary-2.0a6-win32.zip
FMILibrary-2.0b2-src.zip
FMILibrary-2.0b2-win32.zip
FMILibrary-2.0b3-src.zip
FMILibrary-2.0b3-win32.zip
FMILibrary-2.0-src.zip
FMILibrary-2.0-win32.zip

win32であることの問題点

太郎くん
太郎くん

でも、Windows64bitでも32bitプロセスで使えば・・・。

フクさん
フクさん

OpenModelicaから出力されるFMUってたぶん64bitなんだよねー。
まぁ32bit版のOpenModelicaをインストールし直せば32bit版のFMUを出力してくれるとは思うけど。

太郎くん
太郎くん

よし!
インストールし直そう!

フクさん
フクさん

でも、今後のFMUに対するアプローチを考えると64bitであることは維持したいんだよねー。

太郎くん
太郎くん

うーむ。

フクさん
フクさん

というわけで、
FMILibraryをソースコードからビルドして64bit版を作ってしまおうと思う。

太郎くん
太郎くん

まじか・・・。
だ、大丈夫なの?

フクさん
フクさん

わからん。
たぶん大丈夫なんじゃない?

太郎くん
太郎くん

ここでうまくビルドできなかったら?

フクさん
フクさん

諦めて32bit版のOpenModelicaをインストールし直すか。

太郎くん
太郎くん

まぁ失敗しても別案があるならいいのかな・・・。

まとめ

フクさん
フクさん

まとめだよ。

  • C言語からFMU/FMIを制御するライブラリはFMILibrary
  • Windows版のFMILibraryはあるにはあるが…。
    • win32版のみ。
    • 64bit版は自分でビルドする必要がある。
  • OpenModelica64bit版のFMUは恐らく64bitビルド。
    • FMILibrary 64bit版を用意することに。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました