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

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

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

はじめに

前回はシグナル生成部のコードを作成した。
10msサンプリングの方に各種物理値変換式を入れてるため複雑になってる。
100msサンプリング側は単にDataGroupを複数にするために入れている。

シグナル生成は実施したので、それらをDataGroupにまとめていく必要がある。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラスト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のデータ構造を作るまでには至ってない。
よって、今回はMDFのデータ構造を作っていくことになる。
手順としては以下。

  • DataGroup用のリストを生成
  • シグナルの登録
太郎くん
太郎くん

DataGroup用のリストを生成でDataGroupの枠を作って、
そこに前回生成したシグナルを渡していくってことかな?

フクさん
フクさん

その認識でOKだ。

DataGroup用のリストを生成

フクさん
フクさん

まずは「DataGroup用のリストを生成」
これはホントにリストを用意するだけ。

# DataGroup用リスト
DG_10ms = []
DG_100ms = []
太郎くん
太郎くん

ホントにリストを用意するだけだな。

シグナルの登録

フクさん
フクさん

そしてさっきのDataGroup用リストに前回作成した各種シグナルをappendしていく。

# DG1
DG_10ms.append(sig_t10ms_sin)
DG_10ms.append(sig_t10ms_Linear)
DG_10ms.append(sig_t10ms_LinearToSin)
DG_10ms.append(sig_t10ms_table)
DG_10ms.append(sig_t10ms_table_f)
DG_10ms.append(sig_t10ms_value_to_text)
DG_10ms.append(sig_t10ms_tabular_with_range)
DG_10ms.append(sig_t10ms_value_range_to_text)

# DG2
DG_100ms.append(sig_t100ms_sin)
DG_100ms.append(sig_t100ms_Linear)
DG_100ms.append(sig_t100ms_LinearToCos)
太郎くん
太郎くん

ほう。
こでDataGroupとシグナルが構造的に紐づくわけか。

フクさん
フクさん

そうそう。
MDFの構造としてはChannelGroupもあるのだけど、
AsamMdfとしてはSorted想定の構成しか作れないみたいだ。

太郎くん
太郎くん

まぁSortedじゃないといろいろ問題あるらしいから、それで良いんじゃない?

フクさん
フクさん

そうだね。
作る側もSortedの方が分かりやすいもんね。

まとめ

フクさん
フクさん

まとめだよ。

  • 前回までだとシグナルが存在しているだけでMDFのデータ構造にはなっていない。
  • 今回はDataGroupに各種シグナルを登録することでMDFのデータ構造と同等の形となる。
    • DataGroupの下位にChannelGroupがあるが、AsamMdfとしてはSorted想定のため複数登録はできなそう。

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

コメント

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