バックナンバーはこちら。
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想定のため複数登録はできなそう。
バックナンバーはこちら。
コメント