見出し画像

PCカード型GPIBコントローラーで測定器を制御 PART 8

DDE通信サンプルプログラムの修正

サンプルプログラムをリソースエディタが使用出来るように修正する。

プロジェクトの再々作成

リソースファイルはそのままでは使えない。全てのリソースを削除しても識別IDは手動管理しないといけなくなっているので、最初からプロジェクトを作成し直す必要がある。
DDE通信以外のリソースは再利用したいのでGPIB用として作成したダイアログの含まれているリソースファイルと resource.h をコピーして使う。
サンプルプログラムで使う”INDLG"ダイアログは一から作り直す。
クライアント領域に作られるリストビューは、この”INDLG”ダイアログに「リストビュー・コントロール」を貼り付けて「不可視」に設定しておく。このコントロールはプログラム起動時にクライアント領域に貼り付けられる。

リストビューコントロールの貼り付け

「DDEexcel」プロジェクトの分離

このサンプルプログラムはGPIB制御プログラムでは使わない。しかしDDE通信のベースとして使う可能性もあるので、この状態で別のプロジェクトとして分離する。(途中でDDE通信を追加するとリンクエラーが発生する可能性があるので)

「DDEexcel」プロジェクトの作成

「GPIBdde」プロジェクトの作成

分離したプロジェクトとは別に「GPIBdde」プロジェクトを作り、GPIB制御を移植していく。GPIB制御でDDE通信を行うダイアログを新たに作成。

「GPIBdde」プロジェクトの作成

実機での動作テスト

GPIB制御の移植およびDDE通信部作成完了。 実機での動作テストを実施。タイマー割り込み2回目でIe_Enter()の「error 223:End of TRANSFER BUFFER has been reached」が発生する。 以後は発生しない。(測定間隔が短い(10秒以下)時に起こりやすい)
GPIB制御ライブラリ関数のIeEnter()から受信バッファへ送る文字数を制限。文字コード以外がExcelに送られないように修正。

実機動作テスト

ヘッダ分離、グラフ化

ヘッダを分離し、数値をExcel内でグラフ化する。

ヘッダ分離

長時間実行した場合でもエラーは発生せず。
リアルタイムでグラフを描かせることも可能。ただし、グラフは余り長い期間描画させるとDDE通信が切断されてしまう。(20行ぐらいが限界)
そのため長時間測定時のグラフ化は終了後に行う。

グラフ描画

操作ダイアログの変更

ヘッダ分離のON/OFF、デバッグ用表示などを追加。

操作ダイアログ変更

17時間連続動作試験

17時間連続動作結果

これでDDE通信を使った測定が可能に。
次は複数の測定器から取得したデータをDDE通信で送れる様にする。

この記事が気に入ったらサポートをしてみませんか?