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

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

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

はじめに

前回はASAM MDF仕様と同梱されてるサンプルMDFをAsamMdf付属Viewerに読み込ませてみた。
波形表示だけでなく、詳細データ表示も可能。
サンプルMDFはCANape、INCAが出力したもので、他のツールで出力したMDFを読み込める証明となった。

今回からは実際にAsamMdfでMDFを生成してみる。

登場人物

博識フクロウのフクさん

指差しフクロウ

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

太郎くん
太郎くん

AsamMdf付属Viewerの動作確認もできたし、
次は実際にMDFを生成してみる感じかな?

フクさん
フクさん

そうだね。
まず、どんなMDFを生成するかを検討してみよう。

太郎くん
太郎くん

とりあぜず、適当な信号をぶっこんでみればいいんじゃない?

フクさん
フクさん

うーん、それだけだとちょっとMDFの仕様確認としてはイマイチかなぁ。

太郎くん
太郎くん

じゃー、どんなのがいいの?

フクさん
フクさん

そうだねー。
DGは複数、物理値変換もいろいろ入れてみたい。
よって、以下の構成かな。

生成するMDFの構成

  • DataGroup1
    • ChannelGroup1
      • time(マスターチャネル、10msサンプリング)
      • t10ms_sin(入力:\(x=sin(t)\)、物理値変換:\(y=x\))
      • t10ms_Linear(入力:\(x=t\)、物理値変換:\(y=2x+0.5\))
      • t10ms_Linear(入力:\(x=t\)、物理値変換:\(y=sin(x)\))
  • DataGroup2
    • ChannelGroup1
      • time(マスターチャネル、100msサンプリング)
      • t10ms_sin(入力:\(x=sin(t)\)、物理値変換:\(y=x\))
      • t10ms_Linear(入力:\(x=t\)、物理値変換:\(y=5x-3\))
      • t10ms_Linear(入力:\(x=t\)、物理値変換:\(y=cos(x)\))
太郎くん
太郎くん

物理値変換でsin、cosとかも指定できるんだね。

フクさん
フクさん

まぁ普通のECUは物理値変換で三角関数を使うことはほぼないだろうが、
MDF生成実験としては多少思い切ったことをしておいた方がよいだろう。

太郎くん
太郎くん

ふと思ったんだけど、
t10ms_sinとt10ms_Linearって、入力と物理値変換が入れ替わってるだけで
最終的な物理値って同じにならない?

フクさん
フクさん

その通り。
そこを狙った式構成にしてある。

太郎くん
太郎くん

なるほど。
これは面白い仕掛けかもね。

AsamMdfによるMDF生成手順

フクさん
フクさん

AsamMdfによるMDF生成手順は以下の流れになる。

  • import
  • タイムスタンプ生成
  • シグナル生成
  • DataGroupe用のリスト生成とシグナルの登録
  • MDFモジュール生成とDataGroupeの登録
  • MDF保存
太郎くん
太郎くん

まぁimportはpythonを使う上で当然の処理として、
最初にシグナルを作っておいてその後にMDFのデータ構造を作って行って最後にファイル保存ってことか。

フクさん
フクさん

その通り。
次回から一個ずつやっていこう。

まとめ

フクさん
フクさん

まとめだよ。

  • 生成するMDFの方針としては複数のDG、特殊な物理値変換を入れる。
  • 上記を元にMDF構成を決めた。
    • DG2つ、CN3つ&それぞれに物理値変換式を含む。
  • AsamMdfによるMDF生成手順を確認。
    • 最初にシグナルを作っておいてその後にMDFのデータ構造を作って行って最後にファイル保存。

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

コメント

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