PCカード型GPIBコントローラーで測定器を制御 PART 9
複数の測定器からの測定値をExcelへ書き込む
DDE通信を用いて最大4台までの測定器から同時にデータを取得できるようにする。
DDE通信ステータス表示を追加、ソースコード整理
DDE通信ダイアログにDDE通信の状態を表示するチェックボックスを追加。
使用していない関数を削除。
複数データ取得ダイアログの作成
複数の測定器から同時にデータを取得できるダイアログを作成。最大4台まで。
ダイアログ処理関数を作成する準備
コントロールの初期化部作成
[タイマー割り込み処理]および[各ボタン処理]部作成
タイマー割り込み処理部(各測定器からのデータ取得)およびボタンの処理部を作成。タイマー処理部はIeEnter()関数、ヘッダー処理、DDE通信を4回ループさせ、測定有効のチェックの付いている測定器のデータのみをDDE通信でExcelに送っている。
この状態で擬似データを用いて非実機デバッグを行う。 初期化の間違いは直ったが、チェックボックスのチェックが勝手に消える。
ボタンを押すと関係無いチェックボックスのチェックが消える
チェックが外れるのはコントロールの識別番号が重複しているのが原因。
番号を変えれば解消できるがリソースファイルをテキストエディタで触ってしまうと以後リソースエディタで管理できなくなってしまう。
名前を変えるだけでは識別番号の重複は解消できない。一旦コントロール自体を削除して作成し直す必要がある。重複確認のため、作業中にresource.hを他のテキストエディタで開いたらリソースエディタが「共有違反」と言うメッセージを出して更新できない。このメッセージが出た場合、もう一度コントロールを作り直す必要がある。
DDE通信による複数データ送信用関数を作成
複数の測定データをExcelに送るDDE通信用関数を作成。
擬似データでは正常に動いている。
次は実機で実際に複数の測定器から測定データを取得してみる。
この記事が気に入ったらサポートをしてみませんか?