Translate

2011/07/21

TRNSYS使いへの道 エラー対策

TRNSYSって画面上でコンポーネントを並べてつないで実行すればシミュレーションできてしまう便利なツールです。コンポーネントを並べる作業だけ見ると簡単に見えますが、やっていることはプログラムを作っているのに近いので、ちょっとした間違いであっさりエラーを起こします。慣れないとツライのが、このエラーの発生原因の絞り込みです。

以下、Simulation Studioの一般的なエラー原因の絞り込みの例です。

コンポーネントを並べて、リンクを貼って、いざ計算を開始すると、よく見かけるのが以下のエラー。
なんかエラーがあるからListingファイル(ログファイル)を見てくれとのお達し。 この時点では、エラー原因がなにかもよくわかりません。
そこでSimlation Studioの左下のアイコンをクリックしてListingファイルを表示させます。(余談だけどツールチップにはListing fileじゃなくて"Result File"って表示されますが、気にしないでください。たぶん誤植)

そうすると表示されるのが以下の画面。なーんかいっぱい表示されててゲンナリしますが、よく見るとほとんどNoticeで実際のエラーとは関係ありません。ここは読み飛ばしてエラーメッセージを探します。

こういう時は画面下部の「Severity」の項目にチェックして、リストから「Error」を選ぶとエラーメッセージだけを表示してくれます。
エラーメッセージを順に調べると、次のようなことがわかります。


  • Time(h):0.00

つまり計算に入る直前で発生している。

  • Unit:3

コンポーネントのUnit番号。同じ種類のコンポーネントが2つ以上ある場合は、この番号で識別します。

  • Type:65

コンポーネントの種類は65番(つまりType65です)

  • Message

ここに表示されるのが具体的なエラー内容

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.

以上の情報でエラーの発生しているコンポーネント、内容が判るので、あとは設定に問題ないか確認して対策を取っていきます。
この例だとType65が書き出しに使っているファイルをすでに他のプログラムがロックしているのが原因だと言っています。そこでファイルが開かれていないか確認します。(これから書き出す先のファイルがロックされているというのも妙に思えますが、シミュレーションを何度も繰り返していると内容確認のためにファイルを開きっぱなしにしているのはありがちです。)
実際、この例ではTRNSYSで前回計算した結果をExcelで開いたままになってました。Excelを閉じてあげれば解決です。

0 件のコメント:

コメントを投稿