バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
前回、DCモータモデルのModelicaコードを確認。
見るべきポイントは3点。
- 先頭のparameter部
- 中間のモデル宣言部
- 真ん中DcPermanentMagnetData
今回は、Modelicaコードを解説していく。
登場人物
博識フクロウのフクさん

イラスト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コード解説

じゃ、Modelicaコードの解説よろしくー。

うーん、最初くらいは自分で説明してみたら?

えー。

分からなかったら分からないでOKだし、
不足してる点があれば補足するし。

じゃーやってみるかー。
Modelicaコードのparameter部

まずはparameter部。
"Test example: DC with permanent magnet starting with voltage ramp"
extends Modelica.Icons.Example;
parameter Modelica.SIunits.Voltage Va=100 "Actual armature voltage";
parameter Modelica.SIunits.Time tStart=0.2
"Start of armature voltage ramp";
parameter Modelica.SIunits.Time tRamp=0.8 "Armature voltage ramp";
parameter Modelica.SIunits.Torque TLoad=63.66 "Nominal load torque";
parameter Modelica.SIunits.Time tStep=1.5 "Time of load torque step";
parameter Modelica.SIunits.Inertia JLoad=0.15
"Load's moment of inertia";

これは即値だとシミュレーション時に再シミュレーションし難くなるから
変数を間に挟んでるところだねー。
ここらへんで以前やった。
変数の型について

ん?
でも変数の型がなんか違うな?
以前はRealって型だったようなー。

まぁRealは実数ならなんでもOKって型で、
今回使ってるうちのModelica.SIunits.Voltageの実体は以下のように定義さえてる。
Real (final quantity="ElectricPotential", final unit="V");

これはどういう意味になるんだ?

実装型で、物理量としては電気、単位は”V”って示してるだけだね。

そういえば、以前Real型でパラメータ設定したときだと変数ブラウザには単位はでてなかったな。
今回のだと単位もちゃんとでるのか。

そうそう。
まぁ同じようにReal型を宣言する際に引数として単位を指定すれば出ては来るんだけどね。
SI単位系で存在するものはModelica.SIunitsの中にあるんで、
基本はその中から選ぶってことになる。

parameterなんて変数定義するだけでしょ?
って思ってたけど、意外とまだまだ隠されてた謎があったんだな・・・。

SI単位系に無いものがあっても、Realで単位指定すれば良いので、
そういう機能があって、サボれるってのを知っておけば良いね。

なるほど。
これもサボりポイントかー。
まとめ

まとめだよ。
- Modelicaコードのparameter部を確認。
- parameterに関しては以前やった。
- しかし、今回はReal型ではない。
- 厳密には、Real型に単位の定義を付加したもの。
- 電圧だったら”V”。
- トルクなら”N.m”。
- SI単位系で存在するものはModelica.SIunitsの中にすでに定義済み。
バックナンバーはこちら。
コメント