検査の自動化って、そもそもナニ?

はじめに

本ガイドは、自動計測による検査の自動化について短期間に開発するための手法について解説するものです。筆者がスイッチング電源関連の計測業務を行なってきた関係上、スイッチング電源関係の計測器を中心とした内容となりますことをあらかじめご了承下さい。現在お持ちの計測器等に新たな機器やソフトウエアを追加するなど、いくつかの方法で検査自動化を実現する手順について解説致します。

検査自動化開発の想定コンセプト

スイッチング電源の自動検査について、次のようなコンセプトで開発することを想定します。

  • ケース1:既存設備を出来る限り再利用
  • ケース2:自動検査専用機を導入
 ケース1ケース2
ハードウエア開発コスト低い(既存設備の再利用を想定)比較的高い
ソフトウエア開発コスト低い(社内開発を想定)低い
開発期間1~3か月程度(※)不要

※開発期間は必要最低限の仕様による自動検査ソフトウエアの開発を想定しております。

ケース1:既存設備を出来る限り再利用

以下のような機器による検査自動化装置の開発を想定します。

 名称台数既存 / 購入備考
1交流電源1既存GP-IBインターフェース内蔵
2電子負荷3既存GP-IB及びリップルノイズ測定機能内蔵
3PC1購入 
4USB/GP-IB1購入USB→GP-IBコンバータ
5GP-IBケーブル3購入 

計測の自動化を行う場合、コントロール用インターフェースは必須となりますが、図のように各機器の内蔵インターフェースがGP-IBの場合PCと直結できないため、USBからGP-IBへの変換器(USB/GP-IB)を使用して各機器をコントロールします。なお、スイッチング電源検査の内容については、次のような検査を想定しております。

 検査項目測定項目など
1起動・停止電圧検査入力電圧上昇(下降)時の起動電圧(停止電圧)検査
2入力特性検査入力電流、電力、力率、効率など
3入力変動検査入力変動時の出力電圧安定度を検査
4負荷変動検査負荷電流変動時の出力電圧安定度を検査
5出力特性検査出力電圧、リップル・ノイズ検査
6保護機能検査OCP(過電流保護), UVP(低電圧保護)

インターフェースについて

現在計測用として使用されている主なインターフェースには次のようなものが有ります。

GP-IB (IEEE488)

日本ではGP-IBという呼び方が一般的ですがこれはいわゆる通称であり、正式な規格の名称はANSI-IEEE488.1となっています。このため米国などではGP-IBではなくIEEE488バスと呼ばれることが多いようです。IEEE488.1は主にハードウエアの仕様を定義したものであり、これに基本的な制御コマンドなどのソフトウエア仕様を追加したものがIEEE488.2となっています。さらに個々の計測器に特有の制御コマンドまで標準化したSCPI(Standard Codes for Programable Instruments)というものも有りますが、ここでは割愛させて頂きます。写真はGP-IBコネクタの例で、何段も重ねて接続できるようになっています。

USB (Universal Serial Bus)

PC用のシリアル通信インターフェースとして古くから普及していたRS-232Cに代わって現在では高速で取り扱いの簡単なUSBインターフェースが普及しています。計測用のインターフェースとしては、依然としてGP-IBが使われていますがUSBをインターフェースとして装備した機器も増えているようです。一般的に機器のUSBコネクタ付近には右図のようなマーキングがされており、ケーブルのコネクタ側にも同様のマーキングが有るためわかりやすくなっています。

USBコネクタには大きくわけて2種類の形状が有り、それぞれAタイプ、Bタイプと呼ばれています。Aタイプのコネクタは一般にPC側に使用されており、右の図のような形状となっています。 これに対してBタイプのコネクタはプリンタやスキャナなどの周辺機器側に使われており、右の図のような形状で、計測器のコネクタもBタイプとなっています。

インターフェースの比較

GP-IBとUSB各インターフェースの特徴は以下のようになっております。

 接続台数通信速度備考
GP-IB14台300kbps程度電気的に絶縁すれば30台まで接続可能
USB127台1.5Mbps程度USB1.1(Low Speed)の場合

※bps (bit per second) は1秒あたりの転送速度
※GP-IBの2次アドレスを使用すれば30台以上接続可能ですが、ここでは1次アドレスのみと仮定し30台としています。

この他にもRS-232Cなど、計測用のインターフェースとして使用されているものが有りますが、本ガイドではGP-IBとUSBを例としてご説明します。

各機器の接続

機器とPCの接続手順は、接続するインターフェース(GP-IBまたはUSB)により異なります。

 GP-IBのコネクタは(必要以上に?)頑丈に出来ており、コネクタ接続後の締め付けによって機器を痛めることが有りますので注意が必要です。コネクタをマイナスドライバーで強く締めると相手側の機器に損傷を与えることが有るからです。これは、測定器等のGP-IBコネクタがプリント基板に直付けとなっていることが多いため、コネクタに加わった力がそのままプリント基板まで印加されるためと思われます。このためGP-IBコネクタを締めるときはドライバーを使用せず手で締めるのが無難です。(ただし、GP-IBコネクタは物によってかなり硬い場合が有り、素手では締められないものも有ります。その場合はドライバーで締めるしか有りません)
これに対してUSBコネクタは簡単に接続できる反面、すぐに抜けてしまうという欠点が有ります。このため、USBケーブルは余裕を持った長さのものを使用し無理な力が加わらないように考慮して下さい。

接続時によくあるトラブル

■GP-IBケーブルの長さ

IEEE488.1の規格ではGP-IBケーブルの長さは1本あたり2m以内と規定されていますが市販のケーブルには4mなどの長いものも販売されているようです。当然ながら、このような「規格外」のケーブルを使用して障害が発生しても文句は言えませんのでご注意下さい。どうしても長さが足りない場合は、次のような方法が有ります。

USB/GP-I コンバータUSBからGP-IBに変換するコンバータを使用し、USB側のケーブルを長くする方法です。USB→GP-IBコンバータにつきましては巻末の資料をご覧下さい。
GP-IB アイソレータGP-IBのバスを電気的に絶縁するためのもので、これにより2m×2 = 4mまでは延長することが出来ます。詳細は巻末の資料をご覧下さい。
LAN/GP-IB コンバータ文字通り10BaseTなどの一般的なネットワークからGP-IBに変換するコンバータです。LAN側のケーブルを延ばせばGP-IBと比較して格段に延長することが出来ます。また、LANを使うことによりGP-IB側とは絶縁されるというメリットも有ります。詳細は巻末の資料をご覧下さい。

GP-IBの接続機器台数について

IEEE488.1の規格ではGP-IBのバスに接続できる台数は、PC以外に14台までとなっています。これはGP-IB機器に内蔵されているバスドライブ用のデバイスに要求されるドライブ能力から規定されているもので、15台以上接続するとバスをドライブしきれずに不安定な動作を引き起こす可能性が有りますのでご注意下さい。
どうしても15台以上の機器を接続したい場合は前述のGP-IBアイソレータ等を使用することにより電気的に絶縁すればドライブ能力の制限が無くなり、接続機器の台数を増やすことが出来ます。

■GP-IBボードのインストール

使用するPCにGP-IBボードをインストールする場合は注意が必要です。当然ながら市販のPCにはGP-IBボードを動かすためのソフトウエア(ドライバソフト)は入っていません。このため、先にGP-IBボードを組み込んでからドライバソフトウエアをインストールするのはお勧め出来ません。ドライバソフトがインストールされていない状態でPCの電源を入れると、Windowsは新しいデバイスを自動的に認識しドライバソフトの検索を始めます。このときの操作が的確でないとGP-IBボードが「その他のデバイス」として登録されてしまい、その後の処理が複雑になってしまうことがあります。従って、先にソフトウエアをインストールしてからGP-IBボードを組み込んだ方が無難です。これについて詳しくはお使いのGP-IBボード取り扱い説明書等をご覧下さい。

USB対応計測器のインストール

USB機器をインストールする場合もGP-IBボードと同様のことが言えます。Windowsでは接続する機器のUSBケーブルを挿入すると自動認識を行い、ドライバソフトの検索を始めます。従って、GP-IBボードと同様に先にドライバソフトウエアをインストールしてからUSBケーブルを挿入した方が良い場合が有ります。(詳しくはUSB機器の取り扱い説明書をご覧下さい)

検査自動化開発へのステップ

検査(計測)を自動化するために避けて通れないのがソフトウエア(プログラムの作成)です。ここではソフトウエアの選定からプログラムの開発までをサンプルによりご紹介します。

ソフトウエアの選定

世の中には様々なプログラミング言語が存在しておりますが、プログラミング経験の全く無い方が短時間でマスターできるものは殆ど無いと言って良いと思います。ここでは初心者の方が自動計測を出来る限り短期間で実現するために適した方法をご紹介します。  自動計測をするためには次のような知識が必要となります。

  • 計測(計測器)に関する知識
  • GP-IB等のインターフェースに関する知識
  • ソフトウエア(プログラミング)の知識

このように自動計測のプログラミングでは単にソフトウエアだけの知識が有ってもプログラムを作成することは難しいため、敷居が高いと感じている方も多いのではないでしょうか。また、一般的な自動計測では単に測定を自動的に行うだけでなく、計測した結果(データ)をPCによって処理することが必要となります。いわゆるデータ処理と呼ばれるものです。このようなことからトータル的に考えると、VBAによるプログラミングが浮かび上がってきます。 VBA(Visual Basic for Applications)はMicrosoft社が同社のVisualBasicをベースとしてExcel等のマクロ言語用として組み込んだもので、標準のVisual Basicとの一番の違いは、例えばExcelのVBAを使用した場合、プログラムの中でExcelのセルの内容を直接操作することが出来るという点でしょうか。

つまり、自動計測中に計測器から取得したデータを直接Excel内の指定したセルの中に書き込むことが出来るわけです。VBAを使わない場合、計測結果をいったんファイル等に保存してからExcelで読み込むという作業が必要となりますので、手間がかかる上にデータ処理まで含めた自動化は難しくなります。以上から、VBAによるプログラミングはデータ処理をする上で大変有利ということがおわかりいただけると思います。

 次にVBAで計測プログラムを作成する場合、計測器側でもVBAに対応していることが必要となります。言葉を変えて言いますと、お使いの計測器にその機器を制御するためのActiveXコンポーネント(ファイル名はXXXXX.OCX)が添付されていればVBAから簡単に使用することが出来ます。平たく言いますとActiveXコンポーネントが有れば、Excelの中から計測器を一つの部品として扱うことが出来るようになり、Excelの中に計測結果を容易に取り込むことが出来るということになります。
VisualBasicやVBAに関する解説書は様々なものが出版されておりますので、詳しい解説は割愛させて頂き、自動計測実現までのおおまかな流れについてご紹介させて頂きます。

計測器ドライバソフトウエアのインストール

前の章でも触れましたが、まず最初に「使用する計測器のドライバソフトウエアをインストール」することが必要です。

ActiveXコントロールのインストール

VBAから使用するためにActiveXコントロール(OCX)をインストールすることが必要です。これにより、ふだん使い慣れたMicrosoft Excelから計測器をコントロールしてExcelのワークシート上に結果を持ってくることが可能となります。 これらのソフトウエアのインストールについて詳しくは、お使いの計測器のマニュアルをご覧下さい。

Microsoft Excelの設定

Excelの中から計測器をコントロール出来るようにするために、Excel側の設定も必要となります。例として、Microsoft Excel2007から弊社の電子負荷LNシリーズをコントロールするプログラムをご説明します。  Excelの中にLNシリーズ電子負荷装置を一つの「部品」として登録する作業を行います。開発タブの「挿入」メニューからActiveXコントロール、「コントロールの選択」を開くと以下のようなダイアログが表示されます。

あらかじめActiveXコントロールをインストールしていれば、この中に使用する計測器(ここでは KEISOKU GIKEN LN Series Control)が表示されます。使用する機器の行を選択し、OKをクリックし、挿入位置を指定すると次のように機器をしめすアイコン(LN…)がワークシート上に表示されます。

以上でLNシリーズ電子負荷をコントロールする準備が整いました。

計測器のコントロール

いよいよVBAのプログラミングです。プログラミングというと難しく感じるかも知れませんが、これは思ったより難しくありません。サンプルプログラムとしてExcelのワークシート上にボタンを作成し、このボタンを押すと電子負荷の設定を変化しながら測定し、測定結果をExcelのセルに記録するものを作成してみます。

サンプルプログラムの流れ

初期設定

負荷スイッチ ON

負荷設定0A(設定値をセルに記録)
電流測定(測定結果をセルに記録)

負荷設定10A(設定値をセルに記録)
電流測定(測定結果をセルに記録)

負荷設定100A(設定値をセルに記録)
電流測定(測定結果をセルに記録)

負荷スイッチ OFF

サンプルプログラム

サンプルプログラムの仕様に従って作成したサンプルプログラムは次のようなもので、これはVisualBasicのプログラムリストそのものとなります。なお、使用機器の都合上LNシリーズではなくELシリーズ電子負荷を使ったサンプルとなっておりますのでご注意下さい。

サンプルプログラム

このプログラムは次のような手順で作成します。
最初にプログラムを起動(開始)するためのボタンを作成します。ツールバーのボタンを押してデザインモードに切り替えて下さい。このツールバーはお使いのExcelの使用状況によって表示位置が異なったり、場合によっては表示されていない場合が有りますのでご注意下さい。
次に「コマンドボタン」を作成します。さきほどの右側のボタンを押してExcelのワークシートに適当な大きさのボタンを作成します。ボタンが出来ましたら、そのボタンをダブルクリックしてみて下さい。

すると以下のような「ボタンが押されたときに実行されるプログラムリスト」が表示されます。

「CommandButton1」がクリックされたときに実行されるプログラムとなりますが、まだ作成していませんので中身は何も有りません。この中に前述のプログラムを作成してゆきますが、1文字単位で入力する必要は有りません。インテリセンスと呼ばれる入力支援機能により、プログラムを途中まで入力すると、その後に来る文字や単語を予測して候補が表示されるため、有る程度自動で入力が行えるようになっており大変便利です。

例えば、”KEISOKU_El1″ という単語は前述のActiveXコントロールの組み込みによってExcelのVBAの中に組み込まれたもので、いわゆる「ソフトウエア部品」という扱いになります。例えば、プログラムリスト中に以下の行を入力する場合をご説明します。(この行ではELシリーズに対して負荷設定を行います)

KEISOKU_El1.LoadSet loadMode, load

この行を入力するとき、KEISOKU_El1まで入力し次に”.”(ピリオド)を入力するとインテリセンスが働いて「KEISOKU_El1の次に来るべき項目」のリストが現れます。

右の図のようにピリオドを入力すると、その次に来るべき項目のリストが現れます。ここではLoadSetを選択すれば1文字ずつ入力する必要は有りません。また、LoadSetを選択後はスペースキーを押すことによりその次に入力すべきパラメータの説明が次のようにガイドとして表示されます。

このようにプログラムの作成やデバッグを支援する機能が他にも豊富に組み込まれており、プログラム作成者の負担を少しでも軽減するようになっています。

サンプルプログラムの実行結果

では、作成したサンプルプログラムを実行してみましょう。さきほどのツールバーのボタンを押してデザインモードを解除し、作成したボタン(CommandButton1)を押すとプログラムが起動します。作成したプログラムでは電子負荷の設定電流を0アンペアから100アンペアまで10アンペアきざみで変動しながら、電子負荷に対する設定電流値と実際に測定した電流値をExcelの1列目及び2列目に記録するというもので、実行結果は左図のようになります。

このように計測器から受け取った測定結果を簡単にExcelのワークシートに記録することが出来ますので、言うまでも有りませんが測定結果をもとにExcelの関数を使って計算したり、また、右図のように計測器から取得したデータをもとにグラフを書くという作業がいとも簡単に出来てしまいます。

ケース2:自動検査専用機を導入

ケース1のように既存設備を再利用した場合、手軽にスタートできるというメリットがある反面、場合によっては全ての検査項目に対応できないという制約があります。この場合、スイッチング電源検査自動化用の専用機(型式:PW-800)を導入することにより短期間で開発・稼働することが可能です。

スイッチング電源自動検査システムPW-800基本構成

 名称型式数量備考
1交流電源EAL-ADVシリーズ1500VA~2kVAの中から選択
2パワーメータユニットPMU3335-2KVA1 
3負荷・測定ユニットmodel-800E15チャンネル負荷・測定、I/Oなど
4PC 1Windows10
5ソフトウエアPowerTestSite/PW-8001PW-800用検査自動化ソフトウエア
6USB/GP-IB 1USB/GP-IBコンバータ
7USBケーブル 1 
8GP-IBケーブル 1 

検査自動化用専用機(PW-800)を使用した場合、ケース1の検査項目(No.1~6)に加えて以下のような検査を自動化することができます。

No.検査項目備考
1起動・停止電圧検査入力電圧上昇(下降)時の起動電圧(停止電圧)検査
2入力特性検査入力電流、電力、力率、効率など
3入力変動検査入力変動時の出力電圧安定度を検査
4負荷変動検査負荷電流変動時の出力電圧安定度を検査
5出力特性検査出力電圧、リップル・ノイズ検査
6保護機能検査OCP(過電流保護), UVP(低電圧保護)
7突入電流測定 
8OVP(過電圧保護)機能検査外部印加方式による検査
9シーケンス(SETUP/HOLD)検査オプションモジュールSC-860Aの時間測定により検査
10POWER GOOD/FAIL信号検査デジタルI/Oまたは汎用DVM測定により検査

まとめ

要求される検査項目が既存の汎用的な設備で実現可能な場合、VBAを使って検査自動化ソフトウエアを比較的容易に開発することが可能ですが、VBAによるプログラミングには学習期間も含めた工数が必要です。 このようなプログラミングに工数がかけられない場合、あるいは汎用機器では対応できない検査項目が含まれるときや、高速な検査速度を要求されるときは、自動検査専用機の導入も選択肢のひとつではないでしょうか。

関連ページ

電源自動検査システムPW-800
https://www.keisoku.co.jp/pw/product/system/review/pw-800/
電源自動評価システム PW-6000
https://www.keisoku.co.jp/pw/product/system/eval/pw-6000/

用語の説明

当社では次のような用語を使用しておりますが、皆様が日常的に使用している用語と用法等が異なる可能性がございますので、念のためにご確認下さい。

自動計測PCなどにより様々な機器の制御、測定などを自動的に行うこと。
自動検査システム自動計測による出荷検査(PASS / FAILの判定)を目的とした装置。
自動評価システム自動計測による特性評価(評価リポート作成)を目的とした装置
汎用機一般的に市販されている機器で構成された装置
専用機専用に開発された装置で、一般的に実行速度は高速
PCパーソナルコンピュータ(パソコン)の略称
Windows本ガイドではWindows10の使用を想定しています
インターフェースPCと計測器を接続するための各種規格(USB, GP-IBなど)
USB現在のPCには標準装備されている汎用インターフェース
GP-IB (IEEE488)計測用インターフェースの一つ。ANSI-IEEE488.1により規格制定されたもの。
VBVisual Basicの略。Microsoft 社のプログラミング環境Visual Studioに同梱。
VBAVisual Basic for Applicationの略。Microsoft Excel等に組み込まれているVB
VC++Visual C++の略。C++はC言語にオブジェクト指向が追加されたものでVisual Studioに同梱。
VC#Visual C#の略。C#はC++とJavaをもとに開発されたプログラミング言語でVisual Studioに同梱(C++との互換性はない)
LabVIEWNational Instruments社から提供されている計測制御用に最適化されたグラフィカルプログラミング環境で、膨大な計測器ライブラリを持っている。