モデルベース開発

事例

【Modelica】最小構成のMBD事例 第2章 その28【DCモータ⑤】

Modelicaコード モデル宣言部を確認した。以下が存在しており、OpenModelica Connection Editor上にもある。DC_PermanentMagnet、Ramp、SignalVoltage、Inertia、TorqueStep。DcPermanentMagnetDataが特殊な位置づけ。
事例

【Modelica】最小構成のMBD事例 第2章 その27【DCモータ④】

Modelicaコードのparameter部を確認。parameterに関しては以前やった。しかし、今回はReal型ではない。厳密には、Real型に単位の定義を付加したもの。電圧だったら"V"。トルクなら"N.m"。SI単位系で存在するものはModelica.SIunitsの中にすでに定義済み
事例

【Modelica】最小構成のMBD事例 第2章 その26【DCモータ③】

DCモータモデルのModelicaコードを確認。半分くらいはannotationなのでそれほど規模は大きくない。見るべきポイントを列挙。先頭のparameter部。中間のモデル宣言部。真ん中DcPermanentMagnetData。これが今回のサボりポイントの目玉となる。
事例

【Modelica】最小構成のMBD事例 第2章 その25【DCモータ②】

ModelicaのDCモータモデルをちょっと掘り下げ。以下が絡んでくる。電気/電子領域。古典力学領域。幾何学(材料力学)領域。物理モデリングは伝達経路、伝達関数、微分方程式解決、シミュレーションの4つの工程がある。Modelicaは伝達関数、微分方程式解決をサボれるツール。
事例

【Modelica】最小構成のMBD事例 第2章 その24【DCモータ①】

ModelicaのDCモータモデルのサンプルの位置をライブラリブラウザで確認。DCモータモデルをとりあえずシミュレーション。制御電圧、制御電流、角速度の結果を確認。今回は電圧をランプ関数で制御したシンプルなもの。ランプ関数は0を起点に徐々に上がっていく関数。
事例

【Modelica】最小構成のMBD事例 第2章 その23【massモデル⑫】

trapezoidの設定もせずにおもむろにシミュレーション。矩形波的な出力になった。変数ブラウザでtrapezoidの設定を編集。台形波的な出力に変化。このように、変数ブラウザからパラメータ変更が可能なソースブロックはそこそこある。これらを知っているといろいろとサボれて楽できる。
事例

【Modelica】最小構成のMBD事例 第2章 その22【massモデル⑪】

trapezoidブロックとForceブロックを配置。ForceブロックはModelica→Mechanics→Translational→Sourcesにある。trapezoidブロックはModelica→Blocks→Sources→Trapezoidにある。本来はtrapezoidを修正する必要があるが今回は不要
事例

【Modelica】最小構成のMBD事例 第2章 その21【massモデル⑩】

ソースブロックによっては様々な信号を入力できる。ソースブロックは信号を生成してくれるブロック。信号を生成するソースブロックと物理量に変換するソースブロックがある。今回はtrapezoidが信号生成、forceが物理量変換。Modelicaライブラリは大量にあるがライブラリブラウザで検索ができるようになってる。
事例

【Modelica】最小構成のMBD事例 第2章 その20【massモデル⑨】

Modelicaコードに追加したパラメータが増えると管理が大変。注釈が欲しい。他のモデルもModelicaコードで書かれたものであるが変数ブラウザで注釈が確認できる。つまり、注釈が入れられるはず。変数の隣にダブルクォーテーションでくくった文字を入れれば注釈。変数ブラウザでも確認可能。
事例

【Modelica】最小構成のMBD事例 第2章 その19【massモデル⑧】

Modelicaコードで変数追加後のOpenModelica Connecter Editor上の見え方確認。まずは普通にシミュレーション。変数ブラウザで変数を書き換えたあとに再シミュレーション。モデルチェック、コンパイル無しで即シミュレーション結果が得られた。ちょっとしたテクニックをしってるだけで効率化可能。