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

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

Pluginの仕組み

Pluginの仕組み
Pluginの仕組み

Pluginの仕組みはシンプルで、Simulation StudioとPluginの間でExchange Fileを使って設定をやり取りすることで実現しています。

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側で値を変更すると、コンポーネントの設定に反映されているのが分かります。

この例では通常のウィンドウと似ていて紛らわしいですが、本来は用途に応じてインターフェースを用意します。

例えば、機器のコンポーネントであれば型番を選んだら設定が自動で行われるとか、ですね。

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

動作環境

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

Pocket

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です