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

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

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

はじめに

前回はmodelDescription.xmlのvariabilityについて確認した。
constant(定数)、fixed(固定値)、tunable(調整可能値)、discrete(離散)、continuous(連続)。
などの種類が存在する。
tunable(調整可能値)など比較的特殊な種別はあまり利用されているところが見られないものもある。

今回は続きとして、causalityについて。

登場人物

博識フクロウのフクさん

指差しフクロウ

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

modelDescription.xmlのcausality

太郎くん
太郎くん

今回はmodelDescription.xmlのcausalityだね。
直訳すると、「因果関係」って意味になるけど。

フクさん
フクさん

まぁその名の通りだな。

太郎くん
太郎くん

いや、「因果関係」で終わらされちゃうと、
これ一体なんなの?
ってなるんだけど・・・。

フクさん
フクさん

これも種別があるんで列挙しよう。

causalityの種別

  • parameter(独立したパラメータ:シミュレーション中変更不可)
  • calculatedParameter(内部定数、外部指定固定値含めて確定)
  • input(入力)
  • output(出力)
  • local(ローカル変数)
  • independent(独立変数:FMU毎に一つだけ定義。大体が時刻)
太郎くん
太郎くん

まぁinput(入力)、output(出力)はそのままだからわかるとして、
他のはちょっと説明してもらわないとわからないなぁ。

フクさん
フクさん

一個ずつ説明しよう。

parameter(独立したパラメータ:シミュレーション中変更不可)

フクさん
フクさん

これは、Modelicaでいうところのparameterで定義した変数だね。
variabilityとしてはfixedかtunableじゃないといけない。

太郎くん
太郎くん

ほう。
あのModelicaコードに直接書いたヤツか。
ここでやったね。

calculatedParameter(内部定数、外部指定固定値含めて確定)

フクさん
フクさん

これはvariabilityのconstant(定数)、fixed(固定値)でシミュレーション開始時に決まる値が入ることが多いな。

太郎くん
太郎くん

うーん、なかなか分かりにくいのが多いなー。

フクさん
フクさん

まぁこれも外部から弄れる種別ではないっことを覚えておけば良いと思うよ。

local(ローカル変数)

太郎くん
太郎くん

これはそのままな気がするが、
具体的にどういうシグナルがlocalになるのかがイメージ湧かないな。

フクさん
フクさん

内部で演算した過程の変数だね。
Modelicaのconnectキーワードでモデル間接続したところがこの種別になるね。

太郎くん
太郎くん

あー。
なるほど。
普通にモデル間を線で結ぶとこの種別になるのね。

independent(独立変数:FMU毎に一つだけ定義。大体が時刻)

太郎くん
太郎くん

最後がindependent(独立変数:FMU毎に一つだけ定義。大体が時刻)か。

太郎くん
太郎くん

「大体が時刻」ってあるけど、
結局これは何者なんだ?

フクさん
フクさん

モデルの演算とは無関係に変化するシグナルってことだねー。
そういうのって大体時刻なんだけどね。

太郎くん
太郎くん

確かにどう演算しても時刻に影響を与えるってものもないよねー。

フクさん
フクさん

まぁそもそも時刻すら定義されていないものも多いから
実はこれもあんまり見かけない種別ではあるね。

まとめ

フクさん
フクさん

まとめだよ。

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

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

コメント

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