Modelica

事例

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

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

【FMU】最小構成のMBD事例 第2章 その43【FMI⑭】

FMU/FMIを読めそうなツールを確認。 以前、太郎くんが調査した情報をベースに確認。 CANoeがすぐ使えそうだった。 CANoeでFMU/FMIの変数確認。 問題無く確認できた。 FMU/FMIの変数をCANoeのシステム変数に割り付ける形。 よって、CAPLからでも簡単に制御できそう。
事例

【FMU】最小構成のMBD事例 第2章 その42【FMI⑬】

modelDescription.xmlのcausalityの内容を確認。parameter、calculatedParameter、input、output、local、independentの6種が存在。parameterはModelicaのparameter相当。calculatedParameterは初期値関連
事例

【FMU】最小構成のMBD事例 第2章 その41【FMI⑫】

modelDescription.xmlのvariabilityの仕様について。 constant(定数)、fixed(固定値)、tunable(調整可能値)、discrete(離散)、continuous(連続)。 fixedはシミュレーション前であれば変更可能。 tunableは変更時にODE演算のイベントが発生。
事例

【FMU】最小構成のMBD事例 第2章 その40【FMI⑪】

modelDescription.xmlの中身を確認。 name、valueReference、description、variability、causality、Real unitが存在。 valueReferenceについて仕様確認。 変数ハンドル用で数値の衝突は禁止。 ただし、エイリアスはその限りではない。
事例

【FMU】最小構成のMBD事例 第2章 その39【FMI⑩】

FMU/FMIのプラットフォーム上での位置づけを再確認。 FMUのユーザ視点に於いての位置づけを確認。 modelDescription.xmlとMotor.DLLの位置づけなど。 これを元に仕様の性質から予測される利用手順を列挙。 やはりmodelDescription.xmlの中身が気になるので、簡単に説明予定
事例

【FMU】最小構成のMBD事例 第2章 その38【FMI⑨】

FMUとzipとして解凍してみた。 何個かのフォルダとxmlファイルがあった。 binariesにプラットフォーム別のライブラリが格納。 resourcesフォルダに依存関係があるファイル群を格納。 modelDescription.xmlにinput。output、内部パラメータが定義されている。
事例

【FMU】最小構成のMBD事例 第2章 その37【FMI⑧】

FMU/FMIはあまり一般的に知られているものではないので利用方法の情報が皆無。 よって、仕様に踏み込まないと利用方法も見えない。 仕様書を読み込むのも大変なのでFMU自体の中身を見て行った方が理解としては楽そう。 実はFMUは特定のファイルとフォルダ構成をzip圧縮したもの。 つまり解凍して中身を参照できる。
事例

【FMU】最小構成のMBD事例 第2章 その36【FMI⑦】

FMU/FMIのシミュレーション方式とSolverの位置づけを図解した。 MEは近似精度を調整したい場合に有利。 ECUの粗い制度を再現したい。 プラントの演算負荷を下げてシミュレーションを高速化したい。 CSは内部にSolverがあり、繋ぐだけで動くので設定が簡単。 CSのみのサポートしかしていないツールもある。
事例

【FMU】最小構成のMBD事例 第2章 その35【FMI⑥】

FMU/FMIのシミュレーション方式は2種類ある。 Model Exchange(通称ME)。 外部にSolver。 Co-Simulation(通称CS)。 内部にSolver。 SolverはODE Solverのこと。 常微分方程式を解決する機能。 オイラー法、ホルン法などが有名。