Simulink APIを取り上げる目的
Qiitaでは、Simulink APIに関する記事を少しずつアップしていこうと思っています。
その理由は以下の "目的" を満たすために必要な知識だと考えられるからです。
- モデル設計・検証の自動化
- モデル設計資産の管理の自動化
特に量産設計においては、要求に基づいたモデルが書けている(ロジックとして正しい)ことは大前提として、可読性、検証容易性、要求とのトレーサビリティ、モデルの再利用性、生成コードの効率など、様々な観点に配慮する必要があります。
それらを目で見て、手で対処していては、時間も掛かりますし、抜け漏れがどうしても発生します。そういった作業を効率的かつ、確実に実施するためのテクニックだと考えているからです。
前回の続き
Simulink API(3)モデルの主要3要素 では、Simulinkモデル(以下モデル)を構成する主な3要素として、Block、Port、Lineを挙げました。
勿論、モデルには他にも様々な構成要素があります。Configuration、Data Dictonary、Simulink Data Object(SDO)、等など。
では何故、Block、Port、Lineを挙げたのか?というと、この3要素は相互に関係しており、この関係性を理解していると以下のようなポイントを抑えることができます。
- モデルの構造をプログラムで把握できる。
- 効率良くプロパティへアクセスできるようなプログラムが書ける。
これは、モデルのブロックダイアグラムを見て頂ければ至極当然なのですが、Block⇒Port⇒Signal⇒Port⇒Block・・・となっているのが、そのままプロパティの関係性でも成立していることを表しています。
この関係性を利用することで、プログラム手順を考えていくことが出来るようになり、モデルの構造を把握し、効率良くプロパティへアクセスができるようになります。
まとめ
- 前回説明したBlock、Port、Lineは各々が関係しあっている。
- 1の関係性を理解することで、モデルの構造を把握し、効率良いプロパティアクセスが可能となります。
今後、もう少し基本をまとめてから、実例を挙げていきたいと思います。
補足
MATLAB R2018a以降では、ブロックの主要プロパティの取得コマンド例は、"プロパティインスペクター"から "Script Reference" として確認することができます。