PCカード型GPIBコントローラーで測定器を制御 PART 8
DDE通信サンプルプログラムの修正
サンプルプログラムをリソースエディタが使用出来るように修正する。
プロジェクトの再々作成
リソースファイルはそのままでは使えない。全てのリソースを削除しても識別IDは手動管理しないといけなくなっているので、最初からプロジェクトを作成し直す必要がある。
DDE通信以外のリソースは再利用したいのでGPIB用として作成したダイアログの含まれているリソースファイルと resource.h をコピーして使う。
サンプルプログラムで使う”INDLG"ダイアログは一から作り直す。
クライアント領域に作られるリストビューは、この”INDLG”ダイアログに「リストビュー・コントロール」を貼り付けて「不可視」に設定しておく。このコントロールはプログラム起動時にクライアント領域に貼り付けられる。
「DDEexcel」プロジェクトの分離
このサンプルプログラムはGPIB制御プログラムでは使わない。しかしDDE通信のベースとして使う可能性もあるので、この状態で別のプロジェクトとして分離する。(途中でDDE通信を追加するとリンクエラーが発生する可能性があるので)
「GPIBdde」プロジェクトの作成
分離したプロジェクトとは別に「GPIBdde」プロジェクトを作り、GPIB制御を移植していく。GPIB制御でDDE通信を行うダイアログを新たに作成。
実機での動作テスト
GPIB制御の移植およびDDE通信部作成完了。 実機での動作テストを実施。タイマー割り込み2回目でIe_Enter()の「error 223:End of TRANSFER BUFFER has been reached」が発生する。 以後は発生しない。(測定間隔が短い(10秒以下)時に起こりやすい)
GPIB制御ライブラリ関数のIeEnter()から受信バッファへ送る文字数を制限。文字コード以外がExcelに送られないように修正。
ヘッダ分離、グラフ化
ヘッダを分離し、数値をExcel内でグラフ化する。
長時間実行した場合でもエラーは発生せず。
リアルタイムでグラフを描かせることも可能。ただし、グラフは余り長い期間描画させるとDDE通信が切断されてしまう。(20行ぐらいが限界)
そのため長時間測定時のグラフ化は終了後に行う。
操作ダイアログの変更
ヘッダ分離のON/OFF、デバッグ用表示などを追加。
17時間連続動作試験
これでDDE通信を使った測定が可能に。
次は複数の測定器から取得したデータをDDE通信で送れる様にする。
この記事が気に入ったらサポートをしてみませんか?