この記事でターボジェットエンジンの過渡モデルにフィードバック制御機能を実装した。このとき、コンプレッサの機械回転数を制御対象に設定したが、本当は「修正回転数」というvariableを制御対象にしたい。さらに、修正回転数そのものではなく、修正回転数の定格点修正回転数に対する割合「修正回転数比」を制御対象にしたい。
複数のセンサと関数コンポーネントを使えば取得できる。しかし、修正回転数比のvariableはコンプレッサの内部変数として存在しているのだから、接続線1本で値を制御システムに渡してスッキリしたモデルスケマティックを作りたい。
ここで"expandable connector"の出番である。Propulsion System Library製作初期からすべてのコンポーネントに付けている、PCのモニタ出力プラグのようなものがそれである(Fig.1中の赤矢印)。
*「修正回転数って何?」についての解説はこの記事では割愛します。Modelicaメインのブログですので。
TurboJet001_012_02
Fig.1 
Expandable connectorを使うとrealInput, RealOutputを使うことなく、コンポーネント内のvariableを他コンポーネントにconnectすることができる。また、物理portと異なり、渡すvariablesを事前に定義しておく必要もなく必要に応じて柔軟に使える。
TurboJet001_012_03
Fig.2
使い方は以下の通り。かなり簡単。
1. Diagram Viewで、Fig.2のようにexpandable connectorとつなぎたいport/別のExpandable connectorを線でつなぐ。
2. Fig.3に示すexpandable connectorを通してどの変数を接続するかを指定するウィンドウが現れるので、New Variablesを選択し、繋ぐ対象の変数の名を書き込む。expandable connector同士を繋ぐ場合は、connectorの指定だけし、両connectorとも何も変数を指定せずに"OK"を選択する。
3. ユーザインターフェース上の操作だけでは不完全なので、Fig.4実線部のコードを手で書く。
 青線:コンポーネントで、内部variableとexpandable connectorを接続する記述。
 赤線:なぜこれを書き足さなければならないのか解せない。expandable connectorが、コンポーネント"Cmp020"のものであることを示す記述。
TurboJet001_012_04
Fig.3 

TurboJet001_012_06
Fig.4 
で、計算実行して動作確認を取る。ただし、制御目標値・対象variableの値のオーダーが、機械回転数制御の時と大きく異なるので、ゲインを適当に変更している。
TurboJet001_012_01
Fig.5 
意図したとおり、オーバシュート・振動を伴う減衰をしながら目標値に静定してゆく動きを確認できる。制御対処が異なるだけなので、詳しい解説は本記事では行わない、

ソースコードはこれまで通りGPL3で保護してGitHubに公開しているので、ソースを観たい人はどうぞ。
GitHubへのリンク
 ライブラリ:PropulsionSystem
 パッケージ:Example -> Engines
 モデル:TurboJet001_012

正直、expandable connectorの概念や機能の理解は不完全だ。使い方だけ掴んで、無事に意図通り動作させられた、という状態。
この状態は好ましいものではない。本当に使いこなせるようになるために、改めて文献の当該章を読み込んで理解・消化しなければな。

以上、ここまで。

<文献紹介>

---------------
[ブログ内リンク]
●ブログトップへ:
http://virtuallabmodelica.blog.jp/

[z_plusplusの他のブログへのリンク]
●地球の重力の井戸の底から:
http://zplusplus-anti-gravity.blog.jp/
a481420c
本ブログと異なり,テーマを絞らずに理工系に繋がる趣味記事をちょくちょく書いているブログです。どうぞお立寄り下さい。   


文献紹介

Modelicaによるシステムシミュレーション入門

入門者に最適の書。Modelicaって何?という導入から、簡単なコードベースやGUIベースの例モデルまで解説。筆者も入門時に手に取った。訳に少し癖が有る印象だが、英語書物がハードルになる方には確かな助けになる筈。


[amazon、紙面書籍版] [楽天、紙面書籍版] [AU payマーケット、紙面書籍版]
[楽天、電子書籍版] [AU payマーケット、電子書籍版] [7ネットショッピング、電子書籍版]

Introduction to Modeling and Simulation of Technical and Physical Systems with Modelica

「Modelicaによるシステムシミュレーション入門」の英語版原書。英語に抵抗がなければこちらを入手したら良いと思う。


[Yahoo、紙面書籍版]

Principles of Object-Oriented Modeling and Simulation with Modelica 3.3 A Cyber-Physical Approach (Wiley-IEEE Press)

本格的にModelicaを使い込むなら必携の書。辞書的に適宜調べものをするような形で手元に有ると頼もしい武器。量が多いので電子版もお勧め。筆者もKindle版を所有し、かなりの頻度で参照している。


[楽天、電子書籍版]

Introduction to Physical Modeling With Modelica


[楽天、紙面書籍版]


------------------------------