Translate

2015/07/13

作ってみようTRNSYSコンポーネント C/C++編(1) 基本情報

The Evolution of Computer Programming Languages #C #Fortran #Java #Ruby
The Evolution of Computer Programming Languages #C #Fortran #Java #Ruby / dullhunk

以前にFORTRANを使ってTRNSYSコンポーネントを作成する話をまとめましたが、今回は他の言語、具体的にはC/C++で書いてみたいと思います。
(しかし、上の絵って面白いので貼ってみたけど、CとFORTRANは時系列としては逆だよね)

さて、TRNSYSのドキュメントによるとカスタムコンポーネントの開発にはC, C++, PASCAL, FORTRAN,その他の開発言語が使用できるとあります。

Windowsのプログラミングに詳しい方はご存じだと思いますが、基本的に引数の渡し方とか戻り値の処理が分かれば複数言語を組み合わせた開発が可能です。そういう意味で他の言語も使えるという意味で書かれているようです。

さて、とはいえ開発に関するドキュメントはFORTRANを前提に書かれています。そもそもTRNSYS自身がFORTRANで書かれているので、その流れでドキュメントもそうなっているようです。その他の言語について言えば、C/C++対応として、'Export as C++’という機能がSimulation Stuidioに用意されており、ドキュメントでもさらっと触れられています。(1.8.3.2. Types in C++)
サンプルも用意されているので、それを参考にすればできそうな雰囲気で書いてあります。が、実際にやってみると、あちこち落とし穴が待ち構えています。そのあたりも含めて書いてみたいと思います。

用意するもの

今回試すに当たって用意した環境は以下の通りです。

TRNSYS 17.01.0028
コンパイラ Microsoft Visual Stuido 2013 Professional

プロフォルマの準備

コンポーネントのインターフェースを定義するプロフォルマ。これに関してはFORTRANとまったく同じ方法で作成します。今回も同じプロフォルマを使うので、以前の記事そのままです。
(1) 準備編
(2) プロフォルマ
これで準備は整ったということで、次回へつづく。

----------------------------------------------------

以下、このシリーズの目次

作ってみようTRNSYSコンポーネント C/C++編
(1) 基本情報
(2) ソースコードの生成
(3) ソースコードを読んでみよう
(4) Simulation Studioで実行してみよう
(5) コンポーネントが呼び出されるタイミング
(6) ヘッダーファイル・基本編
(7) ヘッダーファイル・実践編

0 件のコメント:

コメントを投稿