モデルベース開発

事例

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

今回もMDF Validatorで物理変換式を確認。tabular without interpolationとtabular with interpolationはcc_typeが違うだけで保持している情報は一緒。value to textはtabularのようなテーブル情報と変換先の文字列を格納している。
事例

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

MDF validatorで作成したMDFの構造を確認。DataGroup、ChannelGroupは想定通りの構成。物理変換式もMDFに埋まっているので、同じく確認。linear、algebraicを確認。パラメータや式文字列が埋まっていることも確認。
事例

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

MDFの全体構造を作るにはMDFクラスのインスタンス(MDFモジュール)が必要。MDFモジュールにDataGroupを登録することでMDFとしてのデータ構造が完成する。データ構造が完成しているMDFモジュールのsaveメソッドを呼び出すことで保存可能。上書きオプションがあるのでお好みで利用。
事例

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

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

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

シグナル生成の10msサンプリングと100msサンプリングの部分のコード作成。10msサンプリングの方に複雑さが寄ってる状態。各種物理値変換式のパターンを入れ込んでいるため。100msサンプリングはDataGroupを複数にするために入れている。
事例

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

MDFの各種物理変換仕様をやったので、折角なのでそれらもMDF生成実験に組み込む。具体的には以下の変換パターンを構成に追加。tabular。tabular with interpolation。value to text。tabular with range。value range to text。
事例

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

MDF conversion仕様 value range to textを説明。value to textの入力側が範囲指定できる。value to textとtabular with rangeを合わせたような仕様。tabular with rangeの出力側のphys_がtext_になった感じ。
事例

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

MDF conversion仕様 tabular with rangeについて説明。tabular仕様とにているが、入力側をレンジ指定できる。tabular with range仕様ではdefault caseの値設定が必須。レンジ外の場合はこの値が採用される。この部分がtabular仕様の振る舞いとの大きな差。
事例

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

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

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

MDF conversion仕様のtabularについて説明。一言で言うとテーブル変換。tabularには線形補間に関連する仕様がある。with interpolation仕様。指定した点の間を線形補間。without interpolation仕様。線形補間はしないが中点を境に変換範囲を推定。