Translate

2018/06/28

TRNSYS/Simulation StudioのPluginを作ってみた

前回紹介したSimulation StudioのPluginを作ってみました。

Pluginの仕組み

Pluginの仕組み自体はシンプルで、Simulation StudioとPluginで専用ファイル(Exchange File)を使って設定をやり取りすることで実現しています。

image

このようにExchange Fileは構造的にはシンプルな形式ですがプログラムで扱うとなるとそれなりに手間が掛かります。そこでまずは処理用のライブラリをC#で作ってみました。

ライブラリを使ったコーディングは以下のようにExchange Fileを受け取ったら、展開して、値を変更してSimulation Studioへ戻す手順で行います。

// Exchange File を解析する
this.exchFile = Parser.Parse(fname);

// Input1の既定値を変更する
if (exchFile.Inputs.Variables[0].IsNumeric()) exchFile.Inputs.Variables[0].Value = 3.14;

// Exchange File 更新してSimulation Studioへ返す
Writer.Save(exchFile, fname);

この例ではInputの1番目の既定値を3.14へを更新しています。あまり意味のある操作じゃないですが、使い方の雰囲気は分かりますよね?

これにインターフェースを用意してあげると、それっぽいPluginになります。

作成例

下の動画はVariable Windowを模したインターフェースの作成例です。Plugin側で値を変更すると、コンポーネントの設定に反映されているのが分かります。

この例では通常のウィンドウと似ていて紛らわしいですが、本来は用途に応じた分かり易いインターフェースを用意する事になります。例えば、機器のコンポーネントであれば型番を選んだら設定が自動で行われるとか、ですね。

ExchFile

少し試してみて、問題ないようなら公開しようかと思います。

動作環境

以下の環境で動作を確認しています。
Windows10 Pro(64bit)
TRNSYS18.00.0019(64bit)

0 件のコメント:

コメントを投稿