TRNSYS/Type169のトラブルシューティング
2022/06/20 追記
Python用に新しいコンポーネント、Type3157がリリースされています。Type169よりも安定して動作するので、こちらの利用がお薦めです。
Type169がうまく動作しない場合の確認項目を以下に示します。
インストールされているPythonのバージョン
まず、Type169を実行するのに適切なPythonがインストールされているか確認してください。
- Python 3.6(64bit), もしくは同等のAnacondaバージョン。
これ以外のバージョンのPythonで使用するためには、そのバージョンに合せてType169をビルドしなければなりません。
2021/08/23追記
TRNSYS18.04.0000のリリースからはTRNSYS18\Exe\DLLS フォルダにビルド済みのDLLsが納められています。使用するPythonのバージョンに対応した圧縮ファイルを解凍して、C:\TRNSYS18\UserLib\ReleaseDLLsフォルダへ上書きしてください。
Python 3.8(64bit)でビルドしたType169については、以下のリンク先で公開しています。
Type 169 built for python 3.8(3.8.3) 64bit
注:Type169は64bit版のTRNSYS,ython用にビルドされています。32bit版TRNSYS,Pythonの組み合わせでは動作しません。
エラーと対策
”TRNSYS Message 105 : A TYPE was called in the TRNSYS input file…”
*** Fatal Error at time : 0.000000
Generated by Unit : Not applicable or not available
Generated by Type : 169
TRNSYS Message 105 : A TYPE was called in the TRNSYS input file but was either not linked into trndll.dll or was not found in an external dll. A dummy subroutine was called in its place. Please link the TYPE or remove it from the input file
Reported information : Type169 could not be located in either the TRNdll64.dll or in an external dll. Please relink theTRNDll64.dll including this Type or make sure that an external DLL in the \UserLib\DebugDLLs and \UserLib\ReleaseDLLs folders contain the Type.
適切なバージョンのPythonがインストール済みであれば、Pythonのパスが参照できていない。
対策としてType169がPythonのライブラリを参照できるように環境変数、PATHへPythonのパスを追加する。
以下はAnacondaのパスを指定した例。
パスはAnacondaのインストール先に合せて指定して下さい。
エラーメッセージが何も表示されない
計算を実行すると、エラーマネージャーダイアログが表示されるが、なにもエラーメッセージが表示されていない。
環境変数にPYTHONPATHが定義されていないと発生する事があります。
画像のように環境変数にPYTHONPATHを定義してください。画像はAnaconda3.8の定義例です。
それでも解決しなければ、おそらくはPython環境になにか原因があります。回避策として、以下の手順を試して下さい。
- Pythonの公式サイトからPython embeddable版をダウンロードする。
Type169に対応するバージョンの「Windows x86-64 embeddable zip file」をダウンロードする。下の図はPython 3.8.3のembeddable版をダウンロードする例。
- ダウンロードが完了したらZipファイルを解凍する。
- 解凍したファイルをすべてTRNSYSのフォルダ(C:\TRNSYS18\Exe)へコピーする。
注:試していないけど”TRNSYS Message 105 : A TYPE was called in the TRNSYS input file…”のエラーもこれで回避できるかも?
Floating point division by zero.
計算を実行すると図のようなエラーメッセージが表示される。
「OK」ボタンをクリックすると、図のようなエラーメッセージが表示される。
Python スクリプトで標準ライブラリ以外をImport していると発生します。例えばNumpyをImportしているとこのエラーが発生します。
原因については只今、調査中です。
動作環境
以下の環境で動作を確認しています。
Windows10 Pro(64bit, 20H2)
TRNSYS18.02.0002(64bit)