• 検索結果がありません。

デバッグ

ドキュメント内 Microsoft Word JAJP.docx (ページ 35-40)

6. オシロスコープ制御のポイント

6.5. デバッグ

2) ステップ実行で1行1行実施してみる

問題部分を絞り込んだ後は、プログラムを、ステップ実行で動作させ、明確に問題箇所を特定しま す。1行毎に、ステップ実行をさせながら、測定器の動作と、プログラムへの返り値を確認していき ます。よくある事として、

(良くある例1) コマンドを送ったのに、設定がされない!?

 コマンドの記述ミスで測定器が解釈していない

 Undefined Header , Syntax Error=コマンドの記載ミス

 Undefined Header , Syntax Errorなど、オシロで発生しているエラー は、:SYST:ERR? で確認可能です。

 他に必要なコマンドが送られていない

 例えば、アベレージ測定で平均回数を指定するコマンドを送っているが、

元々のアベレージ測定に設定するコマンドが送られていない。

 コマンドの送る順番

 設定するのに、決められた順番で、コマンドを送る必要がある

 後に送った他のコマンドで、希望の設定が変更されてしまっている

 タイミングミス、測定器の動作が追い付いていない

 waitや *OPC?を入れ、タイミングを調整する

(良くある例2) タイムアウトエラーが発生してしまう!?

 測定器との接続がされていない

 Connection Expertで測定器との通信ができるか再確認

 動作/処理に時間が掛かるのにタイムアウトが短い

(例:長い波形データの取り込みをしているのに、タイムアウト時間の設定値が短い)

がありますが、ステップ実行により、明らかにしていくことができます。

3) コマンドを送るタイミングを疑う

ステップ実行で、問題がない場合には、コマンドを送るタイミングを疑います。例えば、測定器の 設定直後に、測定を開始する場合には、測定器によっては、ある程度時間が経たないと、安定し ない場合があります。このような場合は、ステップ実行では、逆に、上手くWaitが入ってしまうため に、問題が発生しなくなることがあります。設定コマンドを送った後や、トリガが掛かった後など、タ イミングが疑われる部分に、十分なWaitを入れ、動作を確認します。

4) 測定器のバグと思われる場合には、ファームウェアを更新する

測定器の動作が、プログラマーズガイドの説明通りではない場合、測定器のバグであることがあ ります。バグは、ファームウェアの更新で、修正されている場合があります。アジレントでは、最新 のファームウェアをWebサイトで公開しており、すぐに、ユーザーにてファームウェアの更新ができ るようになっています。更新後も、現象が再現する場合には、サポート窓口までお問い合わせくだ さい。その際、問題個所を特定したプログラム、コードと、使っている測定器、ファームウェアバー ジョンをご連絡ください。

5) IOモニタの活用

アジレントでは、ツールとして、IOモニタをご用意させて頂いています。IOモニタとは、測定器に 出力したコマンド、測定器から読み込んだデータ、IOのタイミングなどを簡単に確認するためのツ ールです。これにより、予期せぬ返り値が返ってきている事や、実際に予想していたようなコマンド の送り方、タイミングになっていないことを確認することができます。

① Agilent Connection Expertを起動します。スタートボタンから [スタートボタン]>[Agilent IO Libraries Suite]>[Agilent Connection Expert]を実行します。(図 1)

② 起動後、メニューより[Tools]>[IO Monitor]を選択します。

図 30 IO Monitorの起動

③ IO Monitorのメニューより [Tools]>[Options]を選択し、IO Monitor Optionsを表示させま す。

図 31 IO Monitor Optionの画面

Monitoring Optionでは、モニタするレイヤ(Monitor Message)、画面に表示するレイヤ

(Display Message)を選択します。ライブラリは、上位、下位のレイヤに分かれており、上位 レイヤ(VISA-COM)を指定すると、最も、アプリケーションに近いレイヤをモニタすることを意 味し、下位レイヤ(SICL Detail)を指定すると、最も、ハードウェアに近いレイヤをモニタする 事を意味します。

Message Limitでは、モニタするメッセージ数を指定します。100から10000メッセージまでを

指定できます。

Capture up to…bytes of a Buffer parameterでは、記録するバイト数を指定します。32から

65536バイトまでを指定できます。

④ 実際に記録を開始するには、Start Capturing Messages ボタンを押します。

⑤ 下記は、USBにて接続したオシロスコープとPCとのやり取りをIO Monitorで観測した例 です。

図 32 IO Monitor Optionの観測例

1,2行目:*IDN?¥n (¥nは、コマンドのデリミタ) が送られ、その返り値として、測定値 の名前が返ってきている事が分ります。

3-5行目: :WAV:DAT?¥n という間違ったコマンド(最後のAが足りない)が送られ、その 返り値を求めていますが、測定器が返り値を出さなかったために、タイムアウトになっ ています。そのため、4行目は、赤い文字になり、5行目で、タイムアウトが発生してい る事を表示しています。

6,7行目: :WAV:DATA?¥nという正しいクエリコマンド(波形データを求めるコマンド)が 送られ、その返り値として、#800001000から始まるバイナリデータ(バイナリブロックデ ータ転送)が返ってきている事が分ります。

IO Monitorは、強力なデバッグツールの一つです。デバッグ原因の特定などに活用する事ができ

ますので、デバッグの際には、是非、ご利用下さい。

ドキュメント内 Microsoft Word JAJP.docx (ページ 35-40)

関連したドキュメント