バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
Python環境下の仮想HILSで収録データが無いことが問題になり、
さらに収録データフォーマットはMDFが望ましい。
MDFはASAM仕様ではあるが、Version3以前は非ASAM仕様でVersion4からがASAM仕様というややこしい位置づけ。
Version4が名実ともにASAM仕様であるため、これについて解説していく。
登場人物
博識フクロウのフクさん
イラスト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
Version3かVersion4か
で、MDFの想定Versionは聞いてきた?
なんかVersion3、Version4のどっちでも良いみたいで、
今後は可能な限りVersion4に揃えるってこと言ってた。
なるほど。
割と真っ当な判断をしている組織のようだな。
(こんなんで組織評価がされてしまうのか・・・。世の中怖い・・・。)
MDFのデータ構造
Version4でOKっぽいで、今後はVersion4を前提とした話で進めていくね。
それでよろしくー。
まぁ基本的にはASAMの公式サイトの以下を見ればおおよそわかる。
うーん、英語で書かれてるのか―。
まぁ機械翻訳に書ければ何書いているのかはわからんでもないけど、
なんかこう、もうちょっとざっくりとした概要説明が欲しいなぁ。
じゃー、ASAM公式で使われてる画像を拝借しつつ簡単に説明しよう。
まず、ファイル内のデータ構造は以下のようになっている。
ファイル構造だから、実際にはリニアな配置になってるけど、
細かくブロックに分かれてててそれぞれがツリー構造で繋がってるって感じかな?
その認識でOKだ。
HDことheader blockがrootとなって、
DGことdata groupがぶら下がり、
そこにCGことchannel groupがぶら下がり、
さらにCNことchannelがぶら下がる。
実際の収録データはDGにぶら下がってるDTことdata blockに時系列で格納される。
CNは実際に計測する信号の事を指してるのだと思うのだけど
DGとCGが良く分からないな・・・。
まずDGの方だが、
1DGに付き1DTの構成になる。
つまり、DT内に複数のCGと紐づいた収録データを一塊にしてる感じだな。
で、そうなると問題はCGの役割だが、
これはDT内の1レコードとCGの構成が一対になっている。
のだが、肝心のレコードの話をしていないのでたぶんピンと来ないんじゃないかな?
(ピンと来ないどころか全く分からん)
まぁまずはレコードの話をしてそれからまたこの話に戻ってくるような説明としよう。
まとめ
まとめだよ。
- MDFの説明はVersion4のみとする。
- ASAM仕様として公開されてるので妥当な判断。
- MDFのデータ構造について説明。
- 基本はASAM公式サイトのMDFで説明されている。
- それだけだととっかかりが無さ過ぎるので、簡単に説明する。
- MDF内部はHD,DG,CG,CN,DTがツリー構造を取っている。
バックナンバーはこちら。
コメント