TRNSYSとJavaを連成(3)
前回に続き、TRNSYS-Java Coupler(Type299)を試しています。
設定が済んで、実行したらエラーでうまく流れませんでしたが、その後いろいろ調べて原因が特定できました。
原因はJNIのライブラリ
このコンポーネントでは、JavaのJNI(Java Native Interface)を経由して外部にあるJavaのクラスを呼び出します。JNIを利用するためにはJVM.DLLというライブラリが必要なります。要は、このライブラリのパスが環境変数に無いとエラーになってしまいます。
JVM.DLLにはServer、Clientの2種類があるようですが、通常はClientのDLLのフォルダへパスを通せばOK
具体的には、環境変数Pathに以下のパスを追加すればOKです。
例)C:\Program Files (x86)\Java\jdk1.7.0_40\jre\bin\client;
※インストールしているJDKに合わせてパスを設定します。
実行してみる
環境変数を設定して、再度実行してみると。。。
おお、今度はちゃんと動いた。
さて、動いたものの、実用的かという、ちょっとなー、な感じです。
- 良いところ
すべて無償のツールで賄える。コンポーネントは公開されたものですし、実行時に必要な環境はJDKだけ。
特にライセンスも必要ないので気軽に始められます。
- 悪いところ
Javaを含め、いろいろと事前準備が必要。JDKのインストールから始まって、環境変数の設定、それにJavaのソースコードの作成とビルド。
TRNSYSの標準コンポーネントを使う場合に比べて、準備に手間がかかります。
加えて、クラスを配置するパスが固定なのもちょっと厄介。プロジェクトごとに分けて用意しようと思ってもできません。
ちょっと試すぐらいならともかく、今の仕様だと準備が手間な分、普段から使うのは難しそうですね。とはいえ、まだリリースされたばかりなので、設定項目など改良されてくれば十分使えるかな?どうだろうか?