見出し画像

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

複数の測定器からの測定値をExcelへ書き込む

DDE通信を用いて最大4台までの測定器から同時にデータを取得できるようにする。

DDE通信ステータス表示を追加、ソースコード整理

DDE通信ダイアログにDDE通信の状態を表示するチェックボックスを追加。
使用していない関数を削除。

ソースコード整理

複数データ取得ダイアログの作成

複数の測定器から同時にデータを取得できるダイアログを作成。最大4台まで。

DDEg.m.d.作成

ダイアログ処理関数を作成する準備

ダイアログ作成

コントロールの初期化部作成

初期化部作成

[タイマー割り込み処理]および[各ボタン処理]部作成

タイマー割り込み処理部(各測定器からのデータ取得)およびボタンの処理部を作成。タイマー処理部はIeEnter()関数、ヘッダー処理、DDE通信を4回ループさせ、測定有効のチェックの付いている測定器のデータのみをDDE通信でExcelに送っている。

測定データをDDE通信へ送る

この状態で擬似データを用いて非実機デバッグを行う。 初期化の間違いは直ったが、チェックボックスのチェックが勝手に消える。

タイマー割り込み時に複数データ取得

ボタンを押すと関係無いチェックボックスのチェックが消える

チェックが外れるのはコントロールの識別番号が重複しているのが原因。
番号を変えれば解消できるがリソースファイルをテキストエディタで触ってしまうと以後リソースエディタで管理できなくなってしまう。

識別番号の重複

名前を変えるだけでは識別番号の重複は解消できない。一旦コントロール自体を削除して作成し直す必要がある。重複確認のため、作業中にresource.hを他のテキストエディタで開いたらリソースエディタが「共有違反」と言うメッセージを出して更新できない。このメッセージが出た場合、もう一度コントロールを作り直す必要がある。

識別番号の重複を解消

DDE通信による複数データ送信用関数を作成

複数の測定データをExcelに送るDDE通信用関数を作成。
擬似データでは正常に動いている。

非実機による検証

次は実機で実際に複数の測定器から測定データを取得してみる。


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