【Python】最小構成のMBD事例 第2章 その290【AsamMdf⑩】

【Python】最小構成のMBD事例 第2章 その290【AsamMdf⑩】 事例
【Python】最小構成のMBD事例 第2章 その290【AsamMdf⑩】

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

はじめに

前回はMDF conversion仕様のtabularについて説明を実施。
一言で言うとテーブル変換ではあるが、
線形補間仕様の有無で挙動が大きく変わる点が注意。

今回も引き続き変換仕様の話でvalue to textについて

登場人物

博識フクロウのフクさん

指差しフクロウ

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

MDF conversion仕様 value to text

フクさん
フクさん

そして次はvalue to text。

太郎くん
太郎くん


名前的には「値をテキストへ」?

フクさん
フクさん

そう。
正解。

太郎くん
太郎くん

正解。
って言われても、具体的な利用シーンが思う浮かばないなー。

value to textの利用シーン

フクさん
フクさん

利用シーンかー。
状態と紐づくようなものに使用されることが多いだろうね。
たとえばシフトとか。

太郎くん
太郎くん

シフトと言うと、
Neutral、1st、2nd、・・・。
みたいな感じ?

フクさん
フクさん

そうそう。
0だったら’Neutral’
1だったら’1st’
2だったら’2nd’
って文字列を表示させたい場合が代表的な利用シーン。

太郎くん
太郎くん

なるほど!
イメージは分かった!

AsamMdfでのvalue to textの設定方法

フクさん
フクさん

AsamMdfでvalue to textを設定するには以下の書き方をする。

conversion=dict()
conversion['val_0']=0
conversion['val_1']=1
conversion['val_2']=2
conversion['val_3']=3
conversion['val_4']=4
conversion['val_5']=5
conversion['text_0']='Neutral'
conversion['text_1']='1st'
conversion['text_2']='2nd'
conversion['text_3']='3rd'
conversion['text_4']='Top'
conversion['text_5']='OverTop'
フクさん
フクさん

該当する値がない場合のdefault case時の文字列を設定したい場合は以下も追加する。
ここでは空文字にしているが、好きな文字列を設定可能だ。

conversion['default'] = ''
太郎くん
太郎くん

なるほど。
これで数値と文字列の対応表を指定してる感じだね。

太郎くん
太郎くん

ふと思ったんだけど、
0だったら’Neutral’が表示されるんだろうけど、
例えば0.1だったらどうなるの?

フクさん
フクさん

そこはViewerの仕様次第な面もあるが、
0.1は0では無いのでdefault caseの空白になるという考え方が仕様としては正しそうだな。

フクさん
フクさん

ちなみにAsamMdf付属Viewerだとこんな感じの見え方になるで、
該当の数値のみの置き換えでそれ以外の途中の数値はdefault caseの空白になってる。

AsamMdf付属Viewerでvalue to text、0の時だけNeutral、1の時だけ1st
太郎くん
太郎くん

まじかー。

フクさん
フクさん

まぁECU内変数としては整数型になってるだろうから、計測結果が0.1になることはあり得ない状況の方が多い
よって、太郎くんの懸念は起きないと思っても良いとは思うけどね。
あと、次々回くらいに説明することになると思うけど、

太郎くんが期待する動作はvalue range to textの仕様で実現可能だ。

太郎くん
太郎くん

あ、なんだ。
ちゃんとそれっぽい仕様もあるのか。
安心した。

まとめ

フクさん
フクさん

まとめだよ。

  • MDF conversion仕様 value to textについて説明。
    • 利用シーンとしては状態名の表示。
      • シフトなどが代表的。
  • AsamMdfでのvalue to textの設定方法について説明。
    • 辞書型に対してval_、text_のテーブルを設定。
    • 指定外の数値だとdefault caseになる。

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

コメント

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