バックナンバーはこちら。
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版を用意することに。
バックナンバーはこちら。
コメント