045 ファンクション・ジェネレータをコントロールする(その3)

2022/06/16

実機/ファンクションジェネレータ

t f B! P L

今回は,エヌエフ回路設計社製のファンクション・ジェネレータPyVISAパッケージを使ってコントロールする際に,各種の不具合を検出するための方法について紹介します.
以前の投稿で,PyVISAパッケージにはコマンドの送受信で発生した不具合を検出する手段が備わっていることを紹介しましたが,残念ながら,今回使用している実機では,上手く働いていない様子です.

代わりに,コマンドの送受信で発生した不具合を検出するための特定のコマンドが用意されています(おそらく,エヌエフ回路設計社製の測定機器の多くは,この特定のコマンドを使うことができると思います).その特定のコマンドとは,
 :SYSTem:ERRor?
コマンドです.

戻り値は,エラーコードと,エラーメッセージの2つで,不具合の症状によって,20数種類のエラーコードエラーメッセージが報告されます.
使い方は,測定機器をコントロールするためにSCPIコマンドを送受信した直後に,上記の:SYSTem:ERRor?コマンドで問合せ,エラーコードが0以外の場合(0の場合は不具合無し),該当するエラーコードの内容によって,不具合に対処するようにします.

自動測定システムを構築し始めの時は,上記のように,測定機器特定の不具合検出用コマンドを活用することによって,Pythonスクリプトの実装上の問題(コマンド名の間違いや,パラメータの設定ミスなど)を検出することができます.
システムを構築したのだけど,上手く動いてくれない時は,時間はかかりますが,自動測定システムの処理の流れを最初からもれなく,不具合が検出されるかどうか検証してみるのが賢明です.どの処理工程で不具合が発生しているのかを特定できれば,それだけで,解決する糸口が見つかったようなものです.

また,上記のような測定機器に用意されている,不具合検出用のコマンドを使うだけでなく,通常のコマンドを使うこともできます.
例えば,前回の出力波形パターンの設定のケースでは,波形パターンを設定した直後に,波形パターンの取得を行えば,正しく出力波形パターンが設定できているか確認することができます.自動測定システムを正式にリリースするまでの,動作検証用のチェックルーチンとして使う目的でも良いです.

繰り返しますが,自動測定システムを構築する上で最も困難であり重要なのは,各種不具合が発生した時に,処理を中断したり,繰り返したりする機能です.これは,測定者が手作業で測定しているケースでは自然に対処してくれることが期待できますが,自動測定システムを構築するケースでは,それらに対処できるような機能を別途実装しておかなければなりません(システム構築で経験が無い人は,全て上手く行ったケースのみ想定しまいがちで,これでは単に,手順通りに操作するだけのシステムとなってしまいます).

人命がかかっているシステムを構築する訳ではないので,不具合に完璧に対処できるシステムを目指すのではなく,あくまでも,発生しやすそうな不具合に対処できるシステムの構築を目指して下さい(それでも不具合が発生したら,その都度,システムを改良すれば良いだけの話です).

QooQ