この記事ではオシロスコープを使用した自動測定の実現方法と活用アイデア①について解説しています。
自動測定の有用性
電子機器の開発現場では効率化による工数削減に向けて、プログラミングなどの手段を用いて測定作業の自動化に取り組んでいます。この自動測定にはメリット・デメリットがあります。
メリット・デメリット
メリットは測定作業に極力人を介在させないことによって測定時間と工数を大幅に削減できることです。長時間に及ぶ測定の場合は、無人で測定が行われることもあります。また人の手が加わることで、測定のばらつきが増加する可能性があります。特にルーチン的な測定業務においては如何に同じ精度で測定できるかが重要になり、この場合は計測器だけで自動測定したほうが接続、操作、値の読み取りなどのばらつきが小さくなり、結果として測定精度が高まります。
一方でデメリットはプログラミングの難しさやメンテナンスコストが挙げられます。プログラミングに関しては計測器制御のための専用コマンドを理解する必要があります。これらの専用コマンドはプログラミングガイドとして計測器メーカーから提供されています。ただし計測器の種類によって制御コマンドが異なるため、複数の計測器を組み合わせて自動測定する場合はプログラミングするだけでもかなりの時間を要してしまいます。つまり測定にかかる工数を削減するために自動化するはずが、その自動化のための工数が増加してしまって、結果として業務全体で見ると大した工数削減にならないケースがあるということです。またプログラムを正常に動作させ続けるためには、いくらかのメンテナンス作業が必要になります。特にプログラムの制作者がいるうちは問題なくとも、配置変更などによって担当者が変更されると途端に維持し続けるのが難しくなります。つまりメンテナンス作業に対して、属人性が高すぎるということです。
オシロスコープによる自動測定の難しさ
多くの開発現場で自動化が推進されていることからもわかる通り、自動測定にはデメリットを上回るメリットがあります。ただしオシロスコープの自動測定の事例はそれほど多くありません。この理由は以下のことが考えられます。
Auto測定機能
オシロスコープは他の計測器と違って、測定条件を計測器が自動で設定してくれるAuto測定機能を備えています。これによってマニュアル操作であっても、ある程度は測定作業が効率化されます。そして簡単な測定業務においては、このAuto測定機能で必要十分なことが多いです。他の計測器では設定項目を1つずつ操作する必要がありますが、オシロスコープではその作業をAuto測定機能が補完してくれるため、自動測定へのモチベーションが発生しづらくなっています。
場面・機会・頻度
ルーチンの測定業務であれば、毎回同じ設定で測定する必要があるため自動測定の有用性は高いです。しかしオシロスコープは動作確認やデバッグ作業に使用されることが大半です。これらの作業では測定対象となる信号が毎回異なるため、垂直軸、水平軸、トリガーの設定を都度変化させる必要があります。つまり一般的な自動測定のように測定条件を一律に規定することが難しく、それだったらAuto測定機能を使えば十分という考えになるわけです。
測定精度
12ビットオシロスコープの普及に伴って、高い測定精度を維持しつつ信号を測定できるようになりましたが、旧来の8ビットオシロスコープでは測定精度が物足りない印象でした。特に振幅の大きい信号の場合1LSBあたりの誤差が大きくなるため、波形の評価には使用できても値の評価には適さないと判断されることもありました。加えてプロービングによる誤差の影響も大きく、都度調整が必要となると自動化することのメリットが薄かったのも事実です。
オシロスコープによる自動測定方法
オシロスコープによる自動測定には課題もありますが、近年はオシロスコープの性能向上やプログラミング環境が整備されたことによって、より簡単に自動測定環境を構築できるようになりました。ここでは Siglent製の SDS804Xを使って自動測定を実現するための手順を紹介します。
PCとの接続方法
オシロスコープを自動で制御するためにはPCと接続する必要があります。PCとの接続インターフェースは機種によって異なりますがUSB、LAN、GPIBあたりが一般的です。SDS804Xは背面にUSB(Type-B)ポートとLANポートが備わっています。
これら2つのポートの使い分けは、オシロスコープを単体で制御するのであればUSBポートを使用し、複数機器を同時に制御するのであればLANポートを使用すると良いです。USBポートはPCと1対1でしか繋げないため、接続が簡単でシンプルです。一方でLANポートは単体制御でも使用できますが、ルーターを介することで複数の計測器を同時に接続しやすいことがメリットです。
LANによる接続
LANで接続する場合は、LANケーブルをPCと直結することもできますし、ルーターなどを介してネットワーク接続することもできます。ネットワークに接続する場合は「UTILITY」→「I/O」→「LAN Config」→「IP Config」→「Automatic」にチェックを入れていると自動的にIPが割り当てられます。
詳細は後述しますが、計測器と接続するためのプログラムは以下のように記述します。
**************************************************************************************
# オシロスコープに接続
rm = pyvisa.ResourceManager()
scope = rm.open_resource('TCPIP::192.168.xx.xx::INSTR')
**************************************************************************************
USBによる接続
ここではWindows PCを用いてSDS804Xに接続する方法を紹介します。まずPCにNI-VISAをインストールします。NI-VISAは計測器を制御するプログラミングインタフェースを提供するAPIです。インストーラーはナショナルインスツルメンツ社のWEBサイトからダウンロードできます。
PyVisaの導入
PythonのPyVisaライブラリを使用するために、まずはPythonをインストールします。PythonがインストールできたらWindowsのコマンドプロンプトから「pip install pyvisa」コマンドを実行します。もしPATHがうまく設定できていない場合はWindowsの環境変数設定でパスを追加します。環境変数の設定方法は以下のとおりです。
- スタートメニューから「設定」を開きます。
- 「システム」→「バージョン情報」を選択します。
- 「システム情報」をクリックします。
- 「システムの詳細設定」をクリックします。
- 「環境変数」ボタンをクリックします。
- 「システム環境変数」または「ユーザー環境変数」の「Path」を選択し、「編集」をクリックします。
- 「新規」ボタンをクリックします。
- 追加したいパスを入力します。(パスはコマンドプロンプトの警告文に記載)
- 「OK」をクリックして各ダイアログを閉じます。
- 変更を反映させるため、PCを再起動します。
固有情報の確認
PCとの接続にあたってオシロスコープの固有情報が必要になります。固有情報はオシロスコープ本体の「UTILITY」→「System Info」から確認できます。
この固有情報は以下の要素で構成されています。
- 'USB0': USBインターフェースを使用
- '0xF4EC': SiglentのベンダーID
- '0x1017': SDS804Xシリーズの製品ID
- 'SDS08A0X802449': オシロスコープのシリアル番号
また「NI-VISA Interactive Control」からも確認できます。
© 2024 T&Mコーポレーション株式会社