Translate

2012/08/15

作ってみようTRNSYSコンポーネント(6) デバッグしてみる

作ってみようTRNSYSコンポーネントシリーズのおまけです。
コンポーネントの作成といっても、これはいわゆるプログラミングです。プログラミングといえば欠かせないのはデバッグ作業。という事で新しく作ったコンポーネントをデバッグしてみましょう。

コンポーネントをデバッグする場合、TRNSYS側もデバッグモードでビルドされている必要があります。具体的にはTRNDLL.DLLがデバッグモードじゃないとデバッグができません。

で、どうするかですが、幸いにもTRNSYSには、はじめからTRNDLL.DLLをビルドするためのソリューションが用意されています。これを使ってデバッグの準備をします。

1. TRNDLL.DLLのソリューションを開く

Intel Visual Fortran Composer XE 2011を起動して、以下のソリューションを開きます。

C:\Trnsys17.01.0016\Compilers\IvfCXE2011\IvfCXE2011.sln

VS2008用なのでVS2010を使われている場合、開くと変換ウィザードが立ち上がります。ここは素直に「次へ」を選択して変換を行います。

2. コンポーネントのプロジェクトを追加する

ソリューションが無事に開けたら、新しく作成したコンポーネントのプロジェクトを追加します。ソリューションエクスプローラーで「IvfCXE2011」を選んで右ボタンクリックで表示されるメニューから[追加]-[既存のプロジェクト]の順で選択します。
 ここで前回までに作成したコンポーネントのプロジェクトを指定します。
これで新しいコンポーネントとTRNDll.DLLをまとめてビルド出来るようになりました。

3. プロジェクトの設定を変更する

プロジェクトに追加されたら、右ボタンクリックで表示されるメニューから[スタートアッププロジェクトに設定]を選択します。
さらに右ボタンクリックで表示されるメニューから[プロパティ]を選んで、デバッグの設定を行います。
下の図のように実行用の指定を行います。
「コマンド」の項目にはTRNSYSを実行するためのTRNexe.exeを指定します。
「コマンド引数」の項目は、新しいコンポーネントを実行するためのDckファイルを指定します。ここでは「(5) Simulation Studioで実行」で作成したプロジェクトの*.dckファイルを指定します。

4. デバッグモードで実行する

[ビルド]-[構成マネージャー]を選んで、表示されるダイアログで「アクティブソリューション構成」の項目を[Debug]にしてビルドします。

デバッグの状態を確認するため、出力値を設定している行にブレークポイントを設定します。
で、実行してみます。ここでいきなり警告メッセージが表示されます。これはTRNEXE.exeがデバッグモードでビルドされていないのが原因です。ここは警告を無視して「はい」を選んで続行します。
TRNSYSが起動して、ブレークポイントでプログラムの実行が一時停止したら、変数の内容が適切な値になっているか確認します。以下の図のような内容であればOKです。

これで何か問題があってもデバッグモードで処理内容を確認することができます。

0 件のコメント:

コメントを投稿