TRNSYSのバージョン情報と確認方法

TRNSYSは数年ごとに大規模なバージョンアップが行われます。それとは別に、日常的な小規模な改善や修正を行ったアップデートが年に数回程度実施されます。

バージョンは小数点で区切られた 18.01.0001 のような形式です。数字の意味は、概ね以下のような感じで変わります。

変更数字
大規模最初の数字18.00.0001
中規模真ん中の数字
18.01.0001
小規模最後の数字18.00.0015

Simulation Studioでバージョン確認

Simulation Studioを起動して、メニューから確認します。

  1. メニューから[?]-[About]を選択する
  2. 表示されたダイアログの下部の「Trnsys version」の項目を確認する
TRNSYSのバージョンを確認する
TRNSYSのバージョンを確認する

サポートへお問い合わせいただく際は、このバージョンもお知らせいただけると対応しやすくなります。

TRNSYSで日単位で平均、最低、最高気温を計算する

2018/11/21 追記 日平均、月平均のサンプルを作成、公開しました。

https://github.com/TRNSYSJP/TRNSYS.JP/tree/master/TRNSYS18/MyProjects/Type155_DailyAndMonthlyAve

社内的なリクエストでタイトルのような処理を考えてみました。(何のために要るのかはよく分かっていないんだが。。。)

さてと、計算結果を出力すると、通常は図のようにタイムステップごとに結果が出力されます。(タイムステップ1hの例)

image

こういったデータから日平均を計算は、通常Excelなどを使って処理することになります。でも、何度も繰り返して計算する場合、Excelで計算を繰り返すのも大変です。

TRNSYSには標準で積算や平均値を計算する便利なコンポーネント、Type55が用意されています。これを使って日平均、最低、最高気温を計算してみます。

用意する物

  • Type99-AMeDAS
  • Type55 Periodic Integrator
  • Type25a

Type99-AMeDAS

気温のデータが必要なので、気象データリーダーを用意します。今回はType99-AMeDASを使いましたが、気温のデータが出力できるコンポーネントであれば何でもOKです。

Type55 Periodic Integrator

期間を指定可能な積分コンポーネント。任意の時間間隔で平均や最高、最低値を出力してくれる便利なコンポーネントです。

Type25a

ファイル出力用。

プロジェクトの作成例

image

必要最小限の構成のでシンプルなプロジェクトになります。一つ一つコンポーネントの設定を見ていきましょう。

Type99-AMeDAS

デフォルトのままで変更なし。

Type55 Periodic Integrator

日単位(24h間隔)で処理するため何カ所か設定を変更します。

image
  1. 気温を扱うので積分ではなく合計値処理を指定(-1)
  2. 気象データの開始(1:00)に合せて相対開始時刻を0hへ変更
  3. 集計する間隔を24hへ設定
  4. 平均、最高、最低値をリセットする間隔を24hへ設定

Type25

Excelで扱いやすくするため、ファイルの区切り文字をカンマ”,”へ変更。

image

ファイルの拡張子もExcelで扱いやすいように”.csv”へ変更しておきます。

image

コンポーネントの接続

Type99-AMeDAS → Type25c

image

気温の値のみ接続する。

Type99-AMeDAS → Type55 Periodic Integrator

image

こちらも気温の値のみ接続する。

Type55 Periodic Integrator → Type25c

image

動作確認のためすべての出力を接続する。

出力結果

計算を実行して書き出した結果が下の図です。一日分のデータを抜きして、重要な項目を塗りつぶしています。

image
  1. 集計範囲(24h)
  2. 合計値
  3. 平均値
  4. 最低値と発生時刻
  5. 最高値と発生時刻24時間の範囲で平均、最低、最高の値が出力されているのが確認できます。

Type25で一工夫

さて、欲しい値が書き出されているのは確認できました。でも、これだと毎時間ごとの値も出力されているので、少々見にくい状態です。日単位の値が欲しいので、次はType25の機能を使って必要な値のみを抜き出す処理を追加します。変更箇所は一箇所だけ、Printing intervalの設定をデフォルトの「STEP」から「24」へ変更します。

image

再度実行してCSVファイルを開くと、下の図のように24h間隔で値が書き出されるようになりました。必要なデータだけまとまっています。タイムステップごとの出力に比べて大分すっきりしました。こういった一工夫で計算の作業がぐっと楽になります。

image

動作環境

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

TypeStudioで作るTRNSYSコンポーネント(4)

前回ビルドしたコンポーネントを動かしてみます。

プロジェクトを用意する

テスト用になにかプロジェクトを用意します。

今回はExamplesからBegin.tpf(”C:TRNSYS18\Examples\BeginBegin.tpf”)を使ってテスト用のプロジェクトを作成します。

Bgin.tpfを元にテスト用のプロジェクトを作成する
Bgin.tpfを元にテスト用のプロジェクトを作成する

すこしコンポーネントを整理して、前回作成したコンポーネント(Type201Heater)を図のように配置して接続します。

テスト用のプロジェクト
Type201Heaterを配置したテスト用のプロジェクト

Type138は今回作成したヒーターと同じ計算を行っています。計算結果の比較のため、Type138からRequired Energy Inputの値をType65へ出力します。

Type139,Type65の接続
Type139,Type65の接続

Type201Heaterの接続

Inputは集熱パネルから出口温度(Outlet temperature)、流量(Outlet flowrate)の値をそれぞれ対応するTin,mへ接続します

Type1、Type201の接続
Type1、Type201の接続

そしてOutputはType65へ負荷(Q)を接続しておきます。

Type201,Type65の接続
Type201,Type65の接続

最後に、配置されているType138の設定温度(Setpoint temperature)に合せて、Type201Heaterの設定温度(Tset)を60℃へ変更します。

Tsetを60に設定する
Tsetを60に設定する

そして結果がこちら。

計算結果を表示したType65の画面
計算結果

Type138とType201の結果がまったく同じになるため、グラフがぴったりと重なって描かれています。少々分かりにくい画面になってしまいましたが、正しく動作しているようです。(注:画面はType65/Prameters/Left axis maximumを10000へ変更しています)

計算結果の検証

今回は同じ計算を行うコンポーネントがあったので、簡単に比較検証できました。普通は存在しないのでなんらかの方法で結果を検証する必要があります。

ここでは関連するデータを書き出してExcelで検証する方法をご紹介します。まずは検証用のデータを書き出すためType25を配置して、図のように接続します。

Type25を追加
Type25を追加

コンポーネントが計算に使用するためInputsで受け取っているパネルの出口温度、流量、それとコンポーネントの計算結果をType25で出力します。ちなみに接続は図のような感じで。。。

Type1,Type25の接続
Type1,Type25の接続
Type201,Type25の接続
Type201,Type25の接続

書き出された値を使ってExcelで計算して同じ結果になるか比較、検証します。図のようにコンポーネントが行っているのと同じ計算式をセルに入力します。

Excelに式を設定する
Type201と同じ式をExcelで設定する

注:上の図では、なぜか0hourのQの値が変な値になっていますが、これは出力値の初期化に由来します。理由と対策は後述します。そして、QExcelで計算した値を比べてみると、同じ値になっている事が確認できます。

Type201とExcelで計算結果の比較
Type201とExcelで計算結果の比較

Outputの初期化(おまけ)

さて、0hourでおかしな値が出力されていた件ですが、これはOutputの初期化が原因です。コンポーネントのソースコードを再確認すると Output の初期化を行っている箇所があります。(下図の赤枠の関数)

Outputの初期化
Outputの初期化

ここで、Outputの1番目、つまりQの値を”0”に初期化しています。計算の開始時点なので、”0”で問題なさそうですが、この書き方はFORTRANでは整数値として扱われます。

やや専門的な話になりますが、この関数では実数値で値を受ける取る事を期待しています。ここで整数値から実数値へのキャスト(変換)で微少な誤差が発生しているようです。

さきほどの図では見切れていてますが、値は “+4.2439915819305446-314″(指数表記)で書き出されています。実質は限りなく”0″なので実用上は問題ありませんが、計算上はこういうケースが発生します。

対策はごくごくシンプルで”0“から”0.0“へ書き換え、実数としてFORTRANが認識できるようにすれば解決です。

実数0.0で初期化する

動作環境

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

関連

TypeStudioで作るTRNSYSコンポーネント(1)
TypeStudioで作るTRNSYSコンポーネント(2)
TypeStudioで作るTRNSYSコンポーネント(3)
TypeStudioで作るTRNSYSコンポーネント(4)

TypeStudioで作るTRNSYSコンポーネント(2)

Proforma(プロフォルマ)の作成

さて、まずはじめにコンポーネントを作成する前にProformaを用意します。普段はあまり意識しないProformaですが、Simulation Studioでコンポーネントとして見ているアイコンの実体がProformaです。

Simulation Studioにアイコンとして表示されるProforma
Simulation Studioにアイコンとして表示されるProforma

そもそもProformaって何?

Simulation Studioでコンポーネントの設定で使う図のような画面(Variables Window)が表示されますが、この画面に表示される内容を定義しているのがProformaファイル(拡張子.TMF)です。

Type65のVariable Window
Type65のVariable Window

TRNSYSのコンポーネントの実体はFORTRANのサブルーチン(C言語だと関数)に相当します。ProformaはSimulation Studioの画面とサブルーチンのデータ(Parameters,Inputs,Outputs)の橋渡しルールを定義しています。

計算算式の準備

まずは、これから作成するコンポーネントの式を用意します。今回はドキュメントに載っているシンプルなヒーターの式を例にProformaを作成します。

簡単なヒーターの計算式
簡単なヒーターの計算式

Tset  設定温度
Tin    入口温度
m      流量
Cp     比熱
Q      負荷

TRNSYS18, Vol.7 Developer’s / Programmer’s Guide,  p7-17, Eq.7.3.1-1 より

さて、この式を元にコンポーネントのProformaを作っていくわけですが、はじめにそれぞれの値をPrameter,Input,Outputに割り当てていきます。

Qは計算結果なのでOutputで問題なさそうです。m, Tset, Tinは時系列で変化する値としてInputに割り当てます。Cpは時系列で変化するならInputで、それほど影響がないようであれば固定値でParamterで扱います。今回はParameterで扱うことにします。

値の割り当てを整理すると次の表のようになります。

NameRoleDimensionUnitDef.
minputFlow Ratekg/hr100.0
TsetinputTemperatureC50.0
TininputTemperatureC20.0
CpparameterSpecific HeatkJ/kgK4.190
QoutputPowerkJ/hr0.0

※デフォルト値(Def.)はInputでは初期値として使われるので、それっぽい値に設定します。Cpはここでは水の比熱です。

Proformaを作成する

Simulation StudioでProformaを作成します。

① メニューから[File]-[New]を選択する。
② 表示されるウィンドウで「New Component」を選択して、
③ Createボタンをクリックする。

Simulation StudioでNew Componentをクリックする
Simulation StudioでNew Componentをクリック

Proformaのウィンドウが表示されるので、式に合せて設定を行います。はじめに「General」タブのType Numberの項目にType番号を指定します。ここでは201を指定してください。

Type番号の指定
Type番号の指定

次に、「Variable」タブで、「Variables(Parameters, Inputs, Outputs, Derivatives)」ボタンをクリックして、設定画面を表示します。

Inputの項目を追加します。「Inputs」タブを選んで、画面右のAddボタンをクリックして新しい項目を追加します。

Addボタンをクリックして、Inputを追加する
Addボタンをクリックして、Inputを追加する

先ほどの表に合せてInputsの項目を3つ追加、設定します。

Inputを3つ追加した状態

つづいて、同じように「Outputs」タブで項目を一つ追加、設定します。

Outputを追加
Outputを追加

そして最後に「Parameters」タブで項目を一つ追加、設定したらOKボタンをクリックしてウィンドウを閉じます。

Paramterを追加
Paramterを追加

メニューから[File]-[Save]を選択してProformaを保存します。
① 保存先として新しいフォルダ”C:TRNSYS18StudioProformasMyComponents “を作成します。
② ProformaをType201Heater.tmfという名前で保存します。

作成したProformaを保存する
作成したProformaを保存する

Simulation Studioのメニューから[Direct Access]-[Refresh tree]を選んで、ツールバーにType201Heaterが表示されればProformaの完成です。

新しく作成したProformaが表示される
新しく作成したProformaが表示される

この段階で、すでにコンポーネントとしてを配置、他のコンポーネントと接続できる状態です。ただし、実行してみると図のようなエラーになります。Proformaは出来上がったものの、まだコンポーネントの本体、つまり計算処理の部分は作成されていないためエラーになります。

コンポーネントが未実装なので、実行するとエラーが表示される
コンポーネントが未実装なので、実行するとエラーが表示される

次回は、計算処理の部分を作成します。つづく。

動作環境

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

関連

TypeStudioで作るTRNSYSコンポーネント(1)
TypeStudioで作るTRNSYSコンポーネント(2)
TypeStudioで作るTRNSYSコンポーネント(3)
TypeStudioで作るTRNSYSコンポーネント(4)

TRNSYSのコンポーネントが見つからない(TRNSYS-USERS)

TRNSYS-USERSの投稿で、TRNSYS17からTRNSYS18へバージョンアップしたら見当たらないコンポーネントがあるんだけど?という話題から。

[TRNSYS-users] Pump type

バージョンアップすると、それまで使っていたコンポーネントが見当たらなくなる事があります。こういうときは。。。

obsoleteフォルダを開いてみる

バージョンアップに伴って使用が推奨されなくなるコンポーネントがあります。理由としては同じ機能の新しいコンポーネントがリリースされた、まもなくサポート終了になるなどです。こういった将来的には使用できなくなる可能性が高いコンポーネントはObsoleteフォルダへ移動されます。図はTRNSYS18のObsoleteフォルダです。見当たらないコンポーネントはここに納められています。

image

すぐに使用できなくなる事もないので、既存のプロジェクトはそのまま実行できます。新しいプロジェクトを始めるときにはObsoleteフォルダからコンポーネントを配置して利用することも可能です。

とはいえ、代替の新しいコンポーネントは設定が簡単になっていたり、安定度が増しています。このため新しいコンポーネントを使用するのがお勧めです。

動作環境

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

高解像度ディスプレイでTRNSYSを使う

新しいPCが届いたので、早速TRNSYSをインストールして起動したら、なんか画面が小さい。

image

ツーリバーのアイコンやメニューの文字が小さくてツライ。解像度の高いPCだとこういう表示になっちゃうんですね。こういうときはDPIの設定で対応します。以下設定方法です。Windows10(1803)の設定例ですが、Windows10 Creator’s Update (1703)以降であれば同じ設定が出来るようです。

Simulation Studioの実行イメージのDPI設定で調整します。

  1. エクスプローラーでSimulation Studioの実行イメージのフォルダへ移動(C:TRNSYS18StudioExe)
  2. Simulation Studioの実行イメージ(Studio.exe)を選択して右クリックで「プロパティ」を選択
  3. 表示されるウィンドウで「互換性」タブを選んで
  4. 高解像度の変更をクリック

image

「高いDPIスケールの動作を上書きします」チェックして、リストから「システム(拡張)」を選択してOKボタンをクリック。

image

これでSimulation Studioのアイコンやメニューの文字が調整されます。

image

ちなみにこの設定、Simulation Studioに限らず他のアプリケーションでも同じです。高解像度の高いディスプレイにしたらアイコンやメニューが小さく表示される場合には有効な設定です。

動作環境

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

TRNSYSのエラーとコンポーネントオーダー

コンポーネントを配置と計算

普段あまり意識していませんが、コンポーネントの配置って、データの流れに沿って並べていないでしょうか?

image

この図はサンプルの例ですが、

  • 左側に気象データやスケジュールなどデータを出力するコンポーネント
  • 真ん中は計算の主になるコンポーネント
  • 右側に計算結果を処理する出力用のコンポーネント

という順で並んでいます。計算の元になるデータは左側(上流)、出力は右側という並びになっています。(この並び順がTRNSYSでは割と一般的な配置です)

TRNSYSの計算順はといえば

ところがTRNSYSの処理順をSettings(Control Cards)で確認すると、意外にも順番がバラバラです。下の図のようにType1b(集熱パネル)、System_Plotter、Type15-6(気象データ)。。。のような並びです。

image

最初に集熱パネルの計算をして、いきなり結果を出力、その後に気象データの読み出し処理と、なんか順番がめちゃくちゃですよね?

ちょっと考えると変な順番に見えますが、複数のコンポーネントを繰り返し計算、収束判定しているので、基本的には順番に関係なく処理できます。

まれにエラーになる事も。。。

コンポーネントに組み合わせによって、まれに並び順が原因でエラーになる事があります。以下は実際に発生したエラーの例です。計算開始直後にType56でなにやらエラーが発生しています。

*** Fatal Error at time : 1.000000
Generated by Unit : 6
Generated by Type : 56
Message : The GetRadiationData routine has been called before the GlobalRadiationData array has been allocated.

これはTRNSYS内部の関数で呼び出し順が逆転しているのが原因です。たまにこういうのがありますが、エラーメッセージを調べるとコンポーネントの処理順が関係している事が推測できます。

こういうときはSettingsComponent Orderタブで、Optimize components order をクリックして並び順を最適化すればOKです。(手動で並び替えることもできます)

image

最適化する前後の画面を見比べると、後の画面ではType15-6(気象データ)、Type14h(スケジュール)、Type1b(集熱パネル)。。。と、データの流れに沿った処理順になっている事が分かります。

この順だと収束も速くなるので、計算時間もほんのちょっと短くなる可能性があります。並び順が原因で発生するエラーは、大抵は計算直後に発生します。なにか新しいプロジェクトでは、ひとまずOptimize components order をクリックしておくのもありかもです。

とはいえエラーが発生した際に手掛かりになるのはエラーメッセージです。メッセージから発生箇所と原因を調べて対策を取ることが基本です。

参考:TRNSYSのエラーメッセージの読み方と対策

余談

計算の途中で発生するエラーは並び順には関係なくて、コンポーネントのつなぎ方が違っていたり、計算値が間違っているなど、他の原因が考えられます。

こういうときはエラーが発生しているコンポーネントの上流側の計算値を書き出して検討したり、接続に問題が無いかなど調べて対策を施します。(いま思い出したけど、上流の値調べたら湿度100.2%とか計算上あり得ないケースとかありました)

動作環境

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

Weather Data Map 北米対応版、只今作成中

Meteonormにつづいて、TMY2形式の気象データへ対応作業中です。TRNSYSに添付の気象データでは北米(US)をカバーしています。

地図にプロットしてみると東海岸が多めです。人口が多いんでしょうか?

image

日本の近くにもアイコンが表示されるので不思議に思ったら、グアム。そういえば、ここも米国領。

image

西海岸の沖に4地点まとまっているのは何かと思ったら、こちらはハワイ諸島でした。この地図だとだいぶ北米に近く見えます。(普段見ている地図だと、太平洋の真ん中に見えますよね?)

image

もうちょっと調整したら、リリースする予定です。

2018/08/09追記

リリースしました。ダウンロードはこちらから。
https://github.com/TRNSYSJP/WeatherDataMap/releases

動作環境

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

TRNSYSのHVACシステムのサンプル

TRNSYS18からHVACシステムの新しいサンプルが追加されています。以下、ドキュメント「10. Examples」の目次より抜粋

10.1. HVAC System 1: Packaged Terminal Air Conditioners with Hot Water Coils
10.2. HVAC System 2: Packaged Terminal Heat Pumps
10.3. HVAC System 3: Packaged Rooftop Air Conditioners with Fossil Fuel Furnaces
10.4. HVAC System 4: Packaged Rooftop Heat Pumps
10.5. HVAC System 5: Packaged Rooftop Variable Air Volume (VAV) with Direct Expansion Cooling and Hot Water Coil Heat/Reheat
10.6. HVAC System 6: Packaged Rooftop Variable Air Volume (VAV) with Parallel Fan Powered (PFP) Boxes, Direct Expansion Cooling and Electric Resistance Heat/Reheat
10.7. HVAC System 7: Packaged Rooftop Variable Air Volume (VAV) with Chilled Water Cooling and Hot Water Coil Heat/Reheat
10.8. HVAC System 8: Packaged Rooftop Variable Air Volume (VAV) with Parallel Fan Powered (PFP) Boxes, Chilled Water Cooling and Electric Resistance Heat/Reheat

Packaged Terminal Air Conditioners with Hot Water Coils

1つめの例を開いてみると、下の図のような構成になっています。サンプルという割に配置されたコンポーネント数が多いですよね。

建物のモデルで冷房はエアコン、暖房は温水を利用したシステムになっています。

image

少々分かりにくいので、コメント追加してみます。

image

  1. 気象データ
  2. 建物モデル(5ゾーンの小規模なオフィス?)
  3. 室内発熱のスケジュール(在室者、照明、機器の平日、休日スケジュール)
  4. HVACシステム

こう分けてみると思いのほかシンプルな構成です。ところがHVACシステムについてはボイラーと必要な配管しか無いように見えます。でも、良く見るとマクロとして1個にまとめられて配置されています。(下図のアイコン)

image

このマクロで建物のモデルから室温や湿度の値を受け取って、冷房、もしくは暖房の計算を行って建物へ返す処理になっています。

このHVACのマクロを開いて中身を覗くと、これまた沢山のコンポーネントが配置されています。でも、これも良く見ると同じ組み合わせのコンポーネントが5セット並んでいるだけです。(5ゾーンそれぞれに1セット用意されている)

image

その中のひと組を抜き出してみると図のような構成です。

image

  1. サーモスタット(暖房、冷房のコントロール。エアコンと加熱コイルの切り換え処理)
  2. ミキシング(外気と室内空気のミキシング)
  3. ファン
  4. エアコン(冷房用)
  5. 加熱コイル(暖房用)

一つ一つ見ていくと、実際にありそうな機器の組み合わせと制御になっています。おそらく実務で使う場合は、更にいろいろなパターンがあると思いますが、全体的な構成のイメージがよく分かるサンプルだと思います。

動作環境

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

PDFドキュメントのリンクが機能しない

TRNSYSのドキュメントはPDF形式で提供されています。スタートメニューやSimulation StudioのF1キーでメインメニューのドキュメントが表示されます。さらにここから各ドキュメントを開くことができるようになっています。

でも、クリックしてもなにも起きないことがあります。下の図(青丸)のようにカーソルの形が変わってクリックできそうに見えるのに、クリックしても何も起きません。

image

これはWindows10では既定でPDFを開くプログラムにEdgeが割り当てられているのが原因です。EdgeはPDFのリンク機能に対応していないため、このような状況になります。

対策

これはもう素直にAdobeのサイトからAcrobat ReaderをダウンロードしてインストールすればOK.

インストール後にPDFを開くと次のような画面が表示されます。次のように設定しておきます。

  1. 「常にこのアプリを使って.pdfファイルを開く」をチェック
  2. 「Adobe Acrobat Reader DC」 を選択
  3. OK ボタンをクリック

image

以上で、PDFのリンクが機能するようになります。もし上記のような画面が表示されない場合は、以下のサイトなどを参考に設定を行って下さい。

PDF ファイルを開くアプリケーションを指定する方法

おまけ

リンク先のファイルを新しいタブで開く

既定ではリンクをクリックすると同じタブの中にリンク先のPDFが表示されます。例えば、メインメニューからGetting Startedをクリックすると、同じタブに中身がGetting Started入れ替わります。

複数のドキュメントを参照したいケースでは、新しいタブで開いてくれた方が便利なので、以下の設定を行います。

メニューから[編集]-[環境設定]で表示されるウィンドウで、[文書]の項目を選んで、「他のファイルへのリンクを同じウィンドウで開く」のチェックを外しておきます。

image

動作環境

以下の環境で動作を確認しています。
Windows10 Pro(64bit, 1803)
TRNSYS18.00.0018(64bit)
Adobe Acrobat Reader DC 2018.011.20055