プログラミングコース07 ー生産ライン向け検査装置ー
プログラム課題
背景
あなたは検査装置の担当者です。一緒にプロジェクトに参加している先輩エンジニアから、以下に示す「検査システム」の検査シーケンスを製作するよう頼まれました。検査シーケンス作成の前段階で用意できているものは、システム構成、要求機能のリストの2つです。
システム構成

要求機能
- 電源の出力電圧をデジタルマルチメータで計測して出力電圧値の合否判定を行う
- パルス発生器の出力波形をオシロスコープで収録して周波数(Hz)と振幅(Vp-p)の合否判定を行う(sin 波、1kHz、3Vp-p)
- 検査結果をcsvファイル形式で保存する。
TestStandとLabVIEWを使用したソフトウェア構成図

プログラミング解説
プログラムの階層構造

用語
製作の流れ

STEP1:サンプルVIで電源の動作を確認する
サンプルVIのブロックダイアグラム(参考例)

サンプルVIを開き、適切なVISAリソースを選択して動作を確認する。
STEP2:電源ドライバVIを作成する
フロントパネル

ブロックダイアグラム




列挙体タイプ定義

サンプルVIを改造して、より高速に動作するドライバVIを製作する。サンプルVIの処理を以下のケースに分割し、タイプ定義に指定した列挙体でケースを選択できるようにしておく。
- initialize:初期化
- output:出力開始
- stop:出力停止
- close:終了
STEP3:サンプルVIでDMMの動作を確認する
サンプルVIのブロックダイアグラム(参考例)

サンプルVIを開き、適切なVISAリソースを選択して動作を確認する。
STEP4:DMM制御ドライバVIを作成する
フロントパネル

ブロックダイアグラム



列挙体タイプ定義

サンプルVIを改造して、より高速に動作するドライバVIを製作する。サンプルVIの処理を以下のケースに分割し、タイプ定義に指定した列挙体でケースを選択できるようにしておく。
- Initialize:初期化
- measurement:収録
- close:終了
STEP5:検査結果表示VIの説明
フロントパネル

①検査シーケンス実行後、検査結果を画面表示し、CSVファイルに保存するVIを作成しましたのでご利用ください
②ダイアグラムは複雑なため説明を省略いたします。改造する場合は処理内容をよく理解したうえで実施してください。
STEP6:シーケンスファイルの作成①
(電源制御ドライバVIの初期化)
Teststandシーケンスエディタ

シーケンスファイルのSetupの部分でドライバVIの初期化を実行するようにE3631A Driver viを配置する。
STEP7:シーケンスファイルの作成②
(電源制御ドライバVIのoutput:電圧出力)
Teststandシーケンスエディタ

シーケンスファイルのMianの部分でドライバVIをoutputでコールし、1Vを出力するようにパラメータを変更する。次に3Vと5Vを出力するようにステップを追加する。
STEP8:シーケンスファイルの作成③
(電源制御ドライバVIのstepとclose)
Teststandシーケンスエディタ

シーケンスファイルのCleanupの部分でドライバVIをstopでコールし、電源出力を停止する。次にcloseを実行するようにステップを追加する。(Actionの文字列は編集可能)
STEP9:シーケンスファイルの作成④
(DMMドライバVIのintializeとclose)
Teststandシーケンスエディタ

電源制御ドライバVIと同様にSetupの部分に初期化、Cleanupの部分にcloseを追加する。
STEP10:シーケンスファイルの作成⑤
(DMMドライバVIのintializeとclose)
Teststandシーケンスエディタ

電圧出力のあとに電圧計測を実施してOK/NGの判定を行うためにNumericLimitTestのステップを追加する。
STEP11:シーケンスファイルの作成⑥
(DMMドライバVIのmeasure:計測の追加)
Teststandシーケンスエディタ

NumericLimitTestのステップで34401A Driver viをmeasurementでコールして計測を実行する。3Vの検査ステップ、5Vの検査ステップも同様に追加する。
STEP12:シーケンスファイルの作成⑦
(DMMドライバVI:パラメータ変更)
Teststandシーケンスエディタ

NumericLimitTestにおける計測結果パラメータの出力先を指定する。(Teststandとの連携)
STEP13:シーケンスファイルの作成⑧
(DMMドライバVI:検査規格値の設定)
Teststandシーケンスエディタ

NumericLimitTestにおける検査規格値と単位の設定を行う。
STEP14:シーケンスファイルの作成⑨
(検査結果表示VIの追加)
Teststandシーケンスエディタ

Cleanupの部分に検査結果表示VI(GetResultsFromTestStand)を追加する。
STEP15:シーケンスファイルの実行
Teststandシーケンスエディタ

作成したシーケンスファイルを実行して結果を表示させてみましょう。
STEP16:サンプルVIでパルス発生器の動作を確認する
サンプルVIのブロックダイアグラム(参考例)

サンプルVIを開き、適切なVISAリソースを選択して動作を確認する。
STEP17:パルス発生器ドライバVIを作成する
フロントパネル

ブロックダイアグラム



列挙体タイプ定義

サンプルVIを改造して、より後続に動作するドライバVIを製作する。サンプルVIの処理を以下のケースに分割し、タイプ定義に指定した列挙体でケースを選択できるようにしておく。
- Initialize:初期化
- output start:出力
- close:終了
STEP18:サンプルVIでオシロスコープの動作確認をする
サンプルVIのブロックダイアグラム(参考例)

サンプルVIを開き、適切なVISAリソースを選択して動作を確認する。
STEP19:オシロスコープドライバVIを作成する
フロントパネル

ブロックダイアグラム




列挙体タイプ定義

サンプルVIを改造して、より高速に動作するドライバVIを製作する。サンプルVIの処理を以下のケースに分割し、タイプ定義に指定した列挙体でケースを選択できるようにしておく。
- Initialize:初期化
- setting:設定
- Input:波形
- close:終了
STEP20:シーケンスファイルに周波数と振幅検査を追加する
Teststandシーケンスエディタ

パルス発生器とオシロスコープのドライバVIをSetup、Main、Cleanupにそれぞれ追加する。パルス発生器で1kHz、3Vp-pのsin波を出力し、オシロスコープでVerticalRage 1V/div、Timebase 0.001にsettingしたのち、inputで波形計測を実行する。
STEP21:シーケンスファイルの実行
Teststandシーケンスエディタ

各STEPのRun Options
(結果をファイル保存したくない場合)
Teststandシーケンスエディタ

各STEPのShow VI Front Panel
(VIの画面を表示させる設定)
Teststandシーケンスエディタ

ポイントのまとめ
- ドライバVIは、Initialize→OutputまたはMeasure→Closeにケースを分割すれば、NIおよび他社の計測器も同様に作成することができる
- TestStandシーケンスファイルの作り方
- Setupに初期化処理、Cleanupに終了処理を配置しておく
- Actionで検査するための前処理を実行する
- NumericLimittestで数値判定する検査VIを実行する
- Pass/Failtestでブール判定する検査VIを実行する
- 検査結果に残さないステップは、RunOptionsでResultRecordingOptionをDisableにする
LabVIEW講座データの販売について
本講座で使用した動画・テキスト・プログラム一式は、プログラムデータとしての販売やDVDメディアでの販売を行っております。
自習や復習、社内研修などにご活用いただけます。
LabVIEWに関する開発支援・技術サポートのご案内
ペリテックでは、LabVIEWに関する有償技術サポートおよび受託開発サービスを提供しております。本講座で得た知識を実務に活かしたい方や、実際の業務に即した開発支援をお求めの方は、ぜひお気軽にご相談ください。
専門のエンジニアが、お客様の課題解決をサポートいたします。