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

TRNSYSの計算実行に表示されるエラーメッセージと対策について。

Simulation Studioでプロジェクトを実行すると図のようなメッセージが表示される事があります。

TRNSYS ERRORS
TRNSYS ERRORS

One error was found in the deck.
Check the listing file for more information!

このメッセージは、ひとまず何らかのエラーが発生したので、詳細はリストファイル(.lst)の参照を促しています。
ちなみに、このメッセージで”the deck”と言っているのは、Simulation StudioからTRNSYSの計算エンジンへ引き渡しているdeckファイル(.dck)の事を指しています。ここでは詳しく説明しませんが、Simulation Studioはdeckファイルを作るだけで、計算自体はTRNSYS本体(TRNEXE.EXEというプログラム)が行っています。

リストファイル(.lst)

TRNSYSが計算中のログやエラーメッセージを書き出すファイルです。デフォルトではプロジェクト名と同じ名前で、拡張子.lstで書き出されます。テキストファイルなので、直接メモ帳で開いて確認することもできますが、エラーには直接関係しないログや警告メッセージなども含まれるため、読み解くには慣れが必要です。

※サポートへお問い合わせ頂く際は、この.lstファイルを添付して頂けると詳しい状況が分ります。

通常はSimulation Studioがリストファイルの内容をError Managerで表示します。そちらを使って詳細を確認します。

TRNSYS18では上記のメッセージでOKボタンをクリックすると、Error Manager ウィンドウが表示されます。

Error Manager
Error Manager

後から再度 Error Manager ウィンドウを開く場合や、TRNSYS17ではSimulation Studioのツールバーからアイコンをクリックして表示します。

TRNSYS17ではツールバーのアイコンをクリックして表示
TRNSYS17ではツールバーのアイコンをクリックして表示

情報の読み方

下図は先ほどの画面を拡大した物です。いくつかの項目に分かれて情報が表示されています。

エラーメッセージと関連情報
エラーメッセージと関連情報

Severity

メッセージの種類。Error,Warning,Noticeのいずれか。Error以外は直接的なエラーの原因ではないので、ひとまず無視してもOKです。(Warningも一定数を超えると、問題ありと見なしてTRNSYSが計算を停止することがあります。あまり多い場合はなにか問題が潜んでいます。)

2018/5/16 追記

Error 

計算を継続できなくなる致命的な問題が発生しいてる。文字通りのエラーなので、原因の検討、対策が必要。設定上の問題の他、WARNINGの多発などの原因が考えられる。

Warning

警告メッセージ。Errorではないが使用者に注意を促す意味で出力される。収束計算に一定以上の計算が掛かる、計算した値が想定される上限値を超えているなど。頻繁に発生するようであれば計算上の問題が考えられるため検討、対策が必要。

Notice

通知メッセージ。処理内容の確認のため出力される。ErrorでもWarningでもないため特に対応は不要。

Time

メッセージが書き出された時刻(通し時間)この例では0.000なので計算開始時点で発生しています。計算の途中で発生しているようであれば、その期間に条件指定されている設定が原因の可能性が高くなります。例えば、夏期にエラーが発生しているのであれば、冷房の設定などに問題がある可能性があります。

Unit

メッセージを書き出したTypeのUnit番号。Simulation StudioでTypeを配置した段階で、自動的に割り当てられます。確認する場合はキーボードの[F2]を押すとTypeのアイコンとともに表示されます。(下図)
同じTypeを複数配置している場合に、該当するTypeを特定する手がかりになります。

「F2」キーを押すとUnit NoとType Noが表示される
「F2」キーを押すとUnit NoとType Noが表示される

参考:TRNSYSコンポーネントのType No. を確認する

Type

メッセージを書き出したType番号。(上図)
この例ではUnit 5のType65を示しています。このType65に何らかの原因があります。

Message

メッセージの本文。エラーであれば原因に関しての詳しい説明が表示されます。

対策

上記の⑤の部分は以下のようなメッセージになっています。

TRNSYS Message    431 : An error occurred when trying to access the output file.
The specified file must not be currently in use by another application and (if specified) must be in a directory that currently exists. Please check the file ASSIGNment for this unit/type, and re-run the simulation. This error can happen if the file accessed is locked by another application such as MS Excel. It can also occur if the printed values are outside the range set by a FORMAT statement in the code. In this case stars (*) are printed to the output file istead of numbers.
Reported information  : Not available

以下、和訳
出力ファイルにアクセスしようとしたときにエラーが発生しました。
指定されたファイルは、現在他のアプリケーションによって使用されておらず、(指定された場合)現在存在するディレクトリになければなりません。このユニット/タイプのファイルASSIGNmentを確認し、シミュレーションを再実行してください。このエラーは、アクセスしたファイルがMS Excelなどの他のアプリケーションによってロックされている場合(開かれている場合)に発生する可能性があります。また、出力する値がコード内のFORMAT文で設定された範囲外である場合にも発生することがあります。この場合、出力ファイルには数値の代わりに星印(*)が出力されます。

指定された出力ファイルにアクセスできない。他のアプリケーション、例えばExcelでロックされている可能性がある。と言っています。

実際、計算結果をExcelで開いてそのままというケースは良くあります。こういう時はExcelを閉じれば解決です。

その他のエラー

使用しているTypeや組み合わせによって様々なエラーの原因が考えられます。上記のように発生するTypeや時刻、エラーメッセージを参考に原因を特定します。
原因が特定できない場合は、単純に設定を変えて状況が変わるか検討する方法もあります。例えばパラメーターの値を大きな値や小さな値に振ってみるとか。上記の例でいえば、なにか出力先のファイルに問題があるのは明らかです。ファイルの名前や、フォルダを変更して試してみると良いでしょう。

2017/11/22追記

TRNSYS-USERSを参照する

TRNSYSのメーリングリスト、TRNSYS-USERSにはエラーを含め、使い方や計算方法についての過去の質疑が蓄積されています。ここでエラーメッセージを検索すると、かなりの確率でログがヒットします。エラー原因を検討する際には非常に有用です。

参考:TRNSYSの情報はここがおすすめ

ヒント

メッセージの部分をダブルクリックすると、該当するTypeの設定画面を表示することができます。(下図)Typeが何十個と配置されているような複雑なプロジェクトでは、直接設定画面へ行けるので効率的に作業できます。

Typeの設定画面
Typeの設定画面

動作環境

以下の環境で動作を確認しています。

Windows10 Pro(64bit)
TRNSYS18.00.0015(64bit)

Pocket

3件のピンバック

コメントする

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