(57)【要約】【課題】対環境に適応できるとともに低コストとなる官能検査装置・システムを提供すること【解決手段】ＰＬＣを構成する波形検査ユニット１０は、データ入力プロセス１２ａ，フィルタ処理プロセス１２ｂを介して与えられた波形信号に対して特徴量を求める特徴量計算プロセス１２ｃと、その特徴量をもとに正常／異常を判定する結果判定プロセス１２ｄと、その判定結果を出力する結果出力プロセス１２ｅを備える。各プロセス（プログラム部品）は、検査対象物に対して適したものを設定用パソコン２５から設定されており、各プロセス間のデータの送受は、システム共有メモリ１６を介して行う。検査治具を制御する制御プログラムを備えたＣＰＵユニット２０との間では、ＰＬＣバス２１経由で検査開始指示，検査完了通知などの同期をとるための各種の通知を行う機能を備えた。【選択図】        図１
2004326562.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルコントローラを構成する機器であって、
与えられた波形信号に対して特徴量を求める特徴量算出手段と、
その特徴量算出手段で求められた特徴量をもとに正常／異常を判定する判定手段と、
その判定手段による判定結果を出力する出力手段を備え、
検査治具を制御する制御プログラムを備えた他のユニットとの間で、プログラマブルコントローラの内部バス経由で検査開始指示，検査完了通知などの同期を取るための各種の通知を行う機能を備えたことを特徴とするプログラマブルコントローラ用検査機器。
【請求項２】
前記特徴量算出手段並びに前記判定手段の少なくとも一方は、各機能ごとに生成された個々のプログラム部品により構成され、そのプログラム部品単位で入れ替え可能にしたことを特徴とする請求項１に記載のプログラマブルコントローラ用検査機器。
【請求項３】
前記特徴量算出手段並びに前記判定手段は、各機能ごとに生成された個々のプログラム部品により構成され、
前記プログラム部品が読み書き可能なシステム共有メモリを備え、
前記各プログラム部品は、前記システム共有メモリの所定エリアにアクセスしてデータを取得したり、その取得したデータを処理した処理後のデータを所定エリアに格納したりすることにより、前記各プログラム部品間でデータの受け渡しを行うようにしたことを特徴とする請求項１または２に記載のプログラマブルコントローラ用検査機器。
【請求項４】
プログラマブルコントローラを構成する機器であって、
与えられた波形信号に対して特徴量を求める特徴量算出手段と、
その特徴量算出手段で求められた特徴量を出力する出力手段を備え、
検査治具を制御する制御プログラムを備えた他のユニットとの間で、プログラマブルコントローラの内部バス経由で検査開始指示，検査完了通知などの同期を取るための各種の通知を行う機能を備えたことを特徴とするプログラマブルコントローラ用検査機器。
【請求項５】
前記特徴量算出手段は、各機能ごとに生成された個々のプログラム部品により構成され、そのプログラム部品単位で入れ替え可能にしたことを特徴とする請求項４に記載のプログラマブルコントローラ用検査機器。
【請求項６】
前記波形信号は、振動，音声，光の強さ，電流，電圧の少なくとも１つであることを特徴とする請求項１から５のいずれか１項に記載のプログラマブルコントローラ用検査機器。
【請求項７】
請求項１から６のいずれか１項に記載のプログラマブルコントローラ用検査機器と、
そのプログラマブルコントローラ用検査機器の検査対象物を検査可能な位置にセットする検査治具を制御する制御プログラムを実行するＣＰＵユニットを備え、
前記プログラマブルコントローラ用検査機器と前記ＣＰＵユニットは、内部バス経由で前記通知を行うことにより、互いに同期して検査を実行するようにしたことを特徴とするプログラマブルコントローラ。
【請求項８】
請求項２，３，５のいずれか１項に記載のプログラマブルコントローラと、設定ツールとがネットワークを介して接続されたネットワークシステムであって、
前記設定ツールは、前記プログラマブルコントローラ用検査機器に対し直接または間接的に前記プログラム部品を設定する設定機能を備えたことを特徴とするネットワークシステム。
【請求項９】
前記設定ツールは、複数のプログラム部品が格納された記憶手段から、検査対象物に適したプログラム部品を抽出し、前記プログラマブルコントローラ用検査機器に設定するものであることを特徴とする請求項８に記載のネットワークシステム。
【請求項１０】
前記設定ツールは、前記プログラマブルコントローラ用検査機器に設定されたプログラム部品の削除・入れ替えを行う機能を備えたことを特徴とする請求項８または９に記載のネットワークシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、プログラマブルコントローラ用検査機器およびプログラマブルコントローラならびにネットワークシステムに関するものである。
【０００２】
【従来の技術】
自動車や家電製品などには、モータが組み込まれた回転機器が非常に多く用いられている。例えば自動車を例にとってみると、エンジン，パワーステアリング，パワーシート，ミッションその他の至る所に回転機器が実装されている。また、家電製品では、冷蔵庫，エアコン，洗濯機その他各種の製品がある。そして、係る回転機器が実際に稼働すると、モータ等の回転に伴って音が発生する。
【０００３】
係る音は、正常な動作に伴い必然的に発生するものもあれば、不良に伴い発生する音もある。その不良に伴う異常音の一例としては、ベアリングの異常，内部の異常接触，アンバランス，異物混入などがある。より具体的には、ギヤ１回転について１度の頻度で発生するギヤ欠け，異物かみ込み，スポット傷，モータ内部の回転部と固定部が回転中の一瞬だけこすれ合うような異常音がある。また、人が不快と感じる音としては、例えば人間が聞こえる２０Ｈｚから２０ｋＨｚの中で様々な音があり、例えば約１５ｋＨｚ程度のものがある。そして、係る所定の周波数成分の音が発生している場合も異常音となる。もちろん、異常音はこの周波数に限られない。
【０００４】
係る不良に伴う音は、不快であるばかりでなく、さらなる故障を発生させるおそれもある。そこで、それら各製品に対する品質保証を目的とし、生産工場においては、通常検査員による聴覚や触覚などの五感に頼った「官能検査」を行い、異常音の有無の判断を行っている。具体的には、耳で聞いたり、手で触って振動を確認したりすることによって行っている。なお、官能検査は、官能検査用語  ＪＩＳ  Ｚ８１４４により定義されている。
【０００５】
ところで、数年前から自動車に対する音品質の要求が急激に激しくなってきている。すなわち、自動車業界では、エンジン，ミッション，パワーシートなどの車載駆動パーツの検査を定量的に自動検査するニーズが高まっており、従来から行われている検査員による上記の官能検査のように定性的・曖昧な検査ではそのニーズに応える品質を得ることができなくなってきている。
【０００６】
そこで、係る問題を解決するため、定量的かつ明確な基準による安定した検査を目的とした官能検査装置（異音検査装置）が開発されている。この官能検査装置は、「官能検査」工程の自動化を目的とした装置であり、製品駆動部の振動や音をセンサで測定し、そのアナログ信号をＦＦＴアルゴリズムなどを応用した周波数解析装置を使って周波数成分を調べて検査するものである（特許文献１）。アナログ信号の解析は、他にバンドパスフィルタ，ローパスフィルタ，ハイパスフィルタなどを応用したものでもよい。
【０００７】
この特許文献１に開示された技術を簡単に説明すると、ＦＦＴアルゴリズムを応用した周波数解析装置は、時間領域信号を高速フーリエ変換アルゴリズムにより、周波数領域の分析をすることができる。一方、異常音の周波数領域もある程度決まっている。従って、分析により抽出された周波数成分のうち、異常音の発生領域に該当する成分を抽出することができるので、係る抽出した成分の特徴量を求める。そして、特徴量から異常の有無やその原因などをファジィ推論などを用いて推定するようにしている。
【０００８】
さらに、従来の官能検査装置は、実際には、振動センサなどの入力装置から取得した波形信号情報に対し、フィルタリング処理をして所定周波数成分のみ通過させ、その所定周波数成分の波形信号に対して、特徴量抽出を行い、抽出した特徴量に基づいて良否判定を行い、判定結果を出力する機能を備えている。そして、例えばフィルタリング処理に使用するフィルタとしても数種類あり、特徴量としても４０種類以上存在する。さらに、良否判定は係る多数の特徴量を総合的に判断して異常か否かを判断するようになっている。
【０００９】
上記した官能検査装置では、一度定めた基準に従った自動判定ができるとともに、検査した結果（実績）と、そのときの波形データを、異音検査システム内の記憶装置に保存することができる。
【００１０】
【特許文献１】
特開平１１−１７３９０９号
【００１１】
【発明が解決しようとする課題】
しかしながら、上記した従来の装置では、以下に示す問題があった。すなわち、従来の官能検査装置は、抽出すべき特徴量が複数種存在するため、多くの特徴量に対して信号処理を行い、多数の判定ルールにより検査結果を得ることになる。このように官能検査装置を複数種の特徴量と多数の判定ルールとに対応できるようにするには、官能検査装置のハードウェアリソースがどうしても大きくなる。そのため、係る検査機能を実装するためには、多くの場合、高性能なハードウェアリソースを大量に備えている高性能パソコンが用いられることとなる。つまり、上記した一連の各処理を実行するアルゴリズムを１つのプログラムとして作成し、当該プログラムを高機能パソコンにインストールすることにより構成することになる。そして、例えばフィルタリング処理に使用するフィルタとしても数種類あり、特徴量としても４０種類以上存在する。さらに、良否判定は係る多数の特徴量を総合的に判断して異常か否かを判断する。
【００１２】
そしてまた、さまざまな検査対象へ適用するため、特徴量抽出処理で扱う特徴量の数を増加させたり、判定ルールを増加させたりするので、ますますハードウェアリソースが大きな装置が必要とされるようになっていた。
【００１３】
このように、システムの基本的な構成要素としてパソコンが必要であるが、ファクトリーオートメーション（ＦＡ）現場においては、耐環境性や信頼性などの面から設置性が阻害される傾向にある。
【００１４】
また、官能検査装置に対して入力する検査対象の波形信号は、マイクロホンや振動センサなどを用いて検査対象物から検出することになるが、例えば振動センサの場合には、検査対象部に対する接触位置や、接触圧等を一定にする必要があり、マイクロホンの場合も、検査対象物との相対位置関係を一定にする必要がある。そのため、検査対象を所定位置に搬送したり、所定位置に来た検査対処物に対しセンサ等の入力装置を所定位置に位置させたりして検査可能な状態を実現するための検査治具（ロボット等）を設け、その検査治具の動作をプログラマブルコントローラ（ＰＬＣ）を用いて制御することにより、一定の検査条件で検査対象の波形信号を取得するようにしている。
【００１５】
このように検査治具を用いて実際に官能検査を行うことを考えると、ＰＬＣと官能検査装置（パソコン）の動作を同期させる必要がある。具体的には、下記の▲１▼から▲５▼に示す処理を順次実行することになる。▲１▼ＰＬＣより検査治具を制御して、検査対象を検査実施位置へ運び、正しいデータ入力が可能なように振動センサ等の入力装置を所定の位置へセットする。▲２▼ＰＬＣよりＩ／Ｏもしくはネットワークで接続された官能検査装置（パソコン）へ検査開始指示を送る。▲３▼官能検査装置上の検査プログラムを実行して波形データを取得し、そのデータをもとに検査を実施する。▲４▼官能検査装置より検査終了、および検査結果をＰＬＣへ通知する。▲５▼ＰＬＣは検査結果に応じて検査治具を制御して、検査対象を検査実施位置から排出する。
【００１６】
このように、ＰＬＣと官能検査装置を構成するパソコンとの間でＩ／Ｏやネットワークを使って動作タイミングを合わせる必要があるため、それぞれの上のプログラムが煩雑になり、システム構築の効率が阻害される。さらに、システムの基本的な構成要素としてＰＬＣとパソコンが両方とも必要であり、システムのコスト低減に制約がある。ＰＬＣ部分を検査用のパソコンに統合した場合でも、検査治具との接続のため拡張ボードが必要となったり、充分なシステムスループットを実現するため高性能ハードウェアが必要となったりし、やはりコスト低減に制約が発生する。
【００１７】
この発明は、官能検査を行う検査システムとして、対環境に適応できるとともに低コストとなるＰＬＣ型のユニットで構築したプログラマブルコントローラ用検査機器およびプログラマブルコントローラならびにネットワークシステムを提供することを目的とする。
【００１８】
【課題を解決するための手段】
本発明者は、上記した問題点を解決するための方法として、まず、パソコン上で実行される検査プログラムをＰＬＣに搭載する方法を考えた。しかしながら、検査プログラムは、バンドパスフィルタやフーリエ変換フィルタなど数値演算を大量に行う処理が多く、一般にＰＬＣで実行されるラダープログラムではこれらの処理を記述しにくく、充分なシステムスループットを実現することが難しい。
【００１９】
また、検査プログラムは大きなプログラムを実行し、大量のデータを扱うため、より高性能なハードウェアリソースをより多く必要とする。これによりＰＬＣのようなハードウェアコスト，コンポーネント形状などに制約の厳しいコンポーネント上で従来の検査プログラムと等価なものをそのまま搭載することは困難である。
【００２０】
そこで、本発明に係るプログラマブルコントローラ用検査機器では、プログラマブルコントローラを構成する機器であって、与えられた波形信号に対して特徴量を求める特徴量算出手段と、その特徴量算出手段で求められた特徴量をもとに正常／異常を判定する判定手段と、その判定手段による判定結果を出力する出力手段を備えるようにし、かつ、検査治具を制御する制御プログラムを備えた他のユニットとの間で、プログラマブルコントローラの内部バス経由で検査開始指示，検査完了通知などの同期を取るための各種の通知を行う機能を備えるようにした。
【００２１】
なお、各手段は、ハードウェアで構成しても良いし、ソフトウェアで構築しても良い。後述するようにソフトウェアによるプログラム部品で構成した場合には、入れ替えも容易に行えるので好ましい。また、検査対象物によって、判定するのに適した特徴量などは異なる。そこで、各手段は、必要最低限の機能を最適に選んで搭載するようにすると、少ないハードウェアリソースでも対応できる。
【００２２】
また、プログラマブルコントローラ用検査機器は、ＦＡ制御のために使用するラダープログラム等を実行する必要がないので、例えばＣ言語その他の高級言語が扱えるものにより構成することができる。従って、特徴量算出処理や判定処理をソフトウェアで形成しても対応できる。
【００２３】
また「正常・異常を判定」とは、正常か異常かの２値的な判定をするものも含むし、例えばファジィ的な判断（２値的でなく、アナログ的な判断）をするものも含む。もちろん、正常度合いまたは異常度合いを段階的な数値で表すような判定も含まれる。
【００２４】
さらにまた「特徴量をもとに判定する」とは、一つの特徴量をもとに判定する意味も含むし、複数の特徴量をもとに判定するものも含む。複数の特徴量をもとに判定するというのは、複数の特徴量の相関関係から総合的に判定する場合や、複数の特徴量を複合して判定する場合や、一つ一つの特徴量を判定し、その一つ一つの判定結果を組み合わせて総合的に判定する場合を含む。また、本発明では、前記波形信号は、振動，音声，光の強さ，電流，電圧の少なくとも１つとすることができる。
【００２５】
プログラマブルコントローラ用検査機器は、実施の形態で示したように１つの独立した筐体からなるユニットでもよいし、ＣＰＵユニット内等に実装する拡張ボードのようなものでも良い。
【００２６】
そして、本発明によれば、システムの構成要素としてＦＡ現場への適用のために高価にならざるを得ないパソコンが無くなるため、システム全体のコストが低減される。さらに、システムの構成要素として振動や粉塵など一般的にＦＡ環境に弱いとされるパソコンがなくなり、ＦＡ環境を考慮されたＰＬＣのユニットとなるため、システム構築時の現場設置における制約が大幅に改善される。さらにまた、システムの構成要素としてパソコンがなくなり、ＰＬＣのユニットとしてＰＬＣに一体化されるためシステム構築時のスペース上の制約が飛躍的に改善される。そして、検査治具を制御するＣＰＵユニットと、検査を行う検査機器の間の通信は、ＰＬＣの内部バスを用いることができるので、高速に情報伝達が可能となる。
【００２７】
検査治具の動作制御などにＰＬＣを使用し、ＰＬＣとセットでシステムが構築されるケースが多い。そこで、官能検査装置（波形検査装置）そのものをＰＬＣの拡張ユニット上に構築し、ＰＬＣのＣＰＵユニット上のラダープログラムと連携する機能を持たせてやることで、システム構築の効率を向上させる。また、現場設置性が格段によくなり、システムトータルコストの面でもメリットを得ることができる。
【００２８】
また、前記特徴量算出手段並びに前記判定手段の少なくとも一方は、各機能ごとに生成された個々のプログラム部品により構成され、そのプログラム部品単位で入れ替え可能にすることもできる。このように、検査装置のプログラムを部品化し、適宜必要充分な機能のみを取捨選択できるようにすると、システム構築時にＣＰＵユニット上のラダープログラム等のシステムの制御を行うためのユーザプログラムのみを作成するだけでよく、システム構築の生産性が向上する。さらに、検査対象物が変わった場合でも、プログラム部品の入れ替えにより対応することができる。
【００２９】
つまり、検査プログラムを複数のプログラム部品から構成し、ＰＬＣの高機能ユニット上等に必要に応じてプログラム部品をダウンロードすることで、検査プログラム実行時に必要とされるハードウェアリソースを最小限に抑え、ハードウェアリソースに制約のあるコンポーネント上でも実使用可能なレベルで検査プログラムを実現することができる。
【００３０】
さらに、前記特徴量算出手段並びに前記判定手段は、各機能ごとに生成された個々のプログラム部品により構成され、前記プログラム部品が読み書き可能なシステム共有メモリを備え、前記各プログラム部品は、前記システム共有メモリの所定エリアにアクセスしてデータを取得したり、その取得したデータを処理した処理後のデータを所定エリアに格納したりすることにより、前記各プログラム部品間でデータの受け渡しを行うようにすることもできる。
【００３１】
一方、本発明に係るプログラマブルコントローラでは、上記した各プログラマブルコントローラ用検査機器と、そのプログラマブルコントローラ用検査機器の検査対象物を検査可能な位置にセットする検査治具を制御する制御プログラムを実行するＣＰＵユニットを備え、前記プログラマブルコントローラ用検査機器と前記ＣＰＵユニットは、内部バス経由で前記通知を行うことにより、互いに同期して検査を実行するようにした。
【００３２】
また、本発明に係るネットワークシステムは、上記した所定の手段をソフトウェアで構成したプログラマブルコントローラ用検査機器と、プログラマブルコントローラと、設定ツールとがネットワークを介して接続されたネットワークシステムであって、前記設定ツールは、前記プログラマブルコントローラ用検査機器に対し直接または間接的に前記プログラム部品を設定する設定機能を備えるようにした。
【００３３】
また、前記設定ツールは、複数のプログラム部品が格納された記憶手段から、検査対象物に適したプログラム部品を抽出し、前記プログラマブルコントローラ用検査機器に設定するようにしてもよい。さらに、前記設定ツールは、前記プログラマブルコントローラ用検査機器に設定されたプログラム部品の削除・入れ替えを行う機能を備えるようにするとよい。
【００３４】
ここで、直接接続するとは、プログラマブルコントローラ用検査機器に直接ケーブルを接続し、プログラム部品を設定することを言い、間接的に接続するとは、ＣＰＵユニット，通信ユニットなどの他のユニットが一旦プログラム部品を取得し、内部バス等を介してプログラマブルコントローラ用検査機器に設定されるようにすることを言う。
【００３５】
プログラム部品を提供する際の接続形態としては、通信プロトコルを問わないのはもちろんであり、有線，無線（赤外線やＢｌｕｅＴｏｏｔｈなど）のいずれによる接続でもよい。
【００３６】
上記した各発明では、判定手段も必須の要件とし、特徴量算出手段で求めた特徴量に基づいて正常／異常を判定するようにしたが、本発明はこれに限ることはなく、判定手段を設けずに、特徴量算出手段で求めた特徴量を出力するようにしてもよい。
【００３７】
すなわち、例えばプログラマブルコントローラ用検査機器としては、与えられた波形信号に対して特徴量を求める特徴量算出手段と、その特徴量算出手段で求められた特徴量を出力する出力手段を備え、検査治具を制御する制御プログラムを備えた他のユニットとの間で、プログラマブルコントローラの内部バス経由で検査開始指示，検査完了通知などの同期を取るための各種の通知を行う機能を備えるようにすることである。そして、前記特徴量算出手段は、各機能ごとに生成された個々のプログラム部品により構成され、そのプログラム部品単位で入れ替え可能にすることももちろんできる。
【００３８】
すなわち、特徴量算出手段で求めた特徴量を、例えばＣＰＵユニットその他の機器・装置に渡し、ＣＰＵユニット側等で正常／異常の判定をするようにすることもできる。つまり、正常／異常の判断が閾値のみで判定するような簡単な判定手法の場合は、ＣＰＵユニットなどでも判定処理を行うことができるからである。
【００３９】
【発明の実施の形態】
図１は、本発明の好適な一実施の形態を示している。本発明では、従来パソコンで構成していた官能検査装置をＰＬＣの高機能ユニットとして実現した。つまり、波形検査ユニット１０は、ＣＰＵユニット２０と内部バスであるＰＬＣバス２１を介して接続されている。もちろん、図示省略するが、電源ユニットや、マスタユニットや、ＩＯユニットなどの各種のユニットも必要に応じて適宜連結され、ＰＬＣが構成される。
【００４０】
ＣＰＵユニット２０に実装されるラダー言語で作成されたユーザプログラムは、本発明との関係で言うと検査治具の動作制御する治具制御プログラムである。そして、この治具制御プログラムと、波形検査ユニット１０に実装される検査プログラムとは、ＰＬＣバス２１を介して通信することにより、検査プログラムの実行と検査のための治具制御の連携を実現するようにしている。なお、連携するための仕組み等の詳細は後述する。
【００４１】
さらに、従来と相違し、波形検査ユニット１０に実装する検査プログラムは部品化し、検査対象に合わせて必要最小限のプログラム部品を設定用パソコン２５からダウンロードし、波形検査ユニット１０上で実行するようにしている。
【００４２】
次に各部について説明する。波形検査ユニット１０は、リアルタイムＯＳ１１を搭載し、ＰＬＣ拡張バスアクセス，入力装置２６，コンパクトフラッシュファイルシステム並びにイーサネット（登録商標）によるＴＣＰ／ＩＰ通信をハンドリングするようにしている。
【００４３】
官能検査を行う処理アルゴリズムは、個々の機能ごとに分割して形成されるプログラム部品の集合体から構成される。プログラム部品として、本実施の形態では、データ入力プログラム，フィルタ処理プログラム，特徴量計算プログラム，結果判定プログラム，結果出力プログラムおよび、これらを組み合わせたものがある。さらに、フィルタ処理プログラム，特徴量計算プログラム，結果判定プログラムは、各種類ごとに部品化されている。つまり、例えばフィルタ処理は，バンドパスフィルタ，ローパスフィルタなど複数種類のフィルタが存在し、抽出すべき特徴量も４０種類以上あり、それに応じて結果判定アルゴリズムも複数種類存在する。そこで、それら各種類ごとにプログラム部品を形成した。
【００４４】
そして、従来の官能検査プログラムに相当するフルスペック（全てのプログラム部品）は、設定用パソコン２５にプログラム部品ライブラリとして登録されており、システム設定ツール２５ａにより、必要なプログラム部品を抽出し、ネットワーク経由で波形検査ユニット１０にダウンロードする。
【００４５】
なお、本実施の形態では、波形検査ユニット１０にダウンロードされた各プログラム部品は、不揮発性メモリであるコンパクトフラッシュメモリに格納するようにしている。
【００４６】
なおまた、設定用パソコン２５のプログラム部品ライブラリに登録するプログラム部品は、必ずしもフルスペックを格納しておくものに限ることはなく、一部のプログラム部品を格納しておく場合もあるし、必要最小限のプログラム部品のみが登録されている場合もある。
【００４７】
また、これらのプログラム部品は、波形検査ユニット１０上ではそれぞれプロセスとして実行される。そして、各プロセスの実行は、システム管理プロセス１３により制御される。すなわち、システム管理プロセス１３は、データ入力プロセス１２ａ，フィルタ処理プロセス１２ｂ，特徴量計算プロセス１２ｃ，結果判定プロセス１２ｄ，結果出力プロセス１２ｅの各プロセスを管理し、コンフィグレーションファイル１４に格納された情報に基づいて各プロセスの生成／起動／削除を行う。つまり、プロセス（プログラム部品）単位で、起動・停止を実行することにより所定の官能検査プログラム全体を実行させ、生成・削除をすることにより、プログラム部品の入れ替えその他の修正を行うようにしている。
【００４８】
さらに、システム管理プロセス１３は、ユニット上に唯一存在し、プログラム部品を構成するプロセス同士がデータ受け渡しのインタフェースをとるために使用するシステム共有メモリ１６を保持しており、システム管理プロセス１３の管理下にある各プロセス１２ａ〜１２ｅは、このシステム共有メモリ１６を介してプロセス間のデータ受渡しを行う。このプロセスは、一般的には、自プロセスの処理に必要なデータを他のプロセスから渡してもらうための入力メモリエリアと自プロセスの処理後のデータを他のプロセスに渡すための出力メモリエリアを持つ。システム管理プロセス１３上の特定のメモリエリアをプロセス間メモリ共有により自プロセスへ割り付けることで、同一のメモリエリアをデータの受け渡しを行う他プロセスと共有することができる。
【００４９】
つまり、プログラム部品（プロセス）間においては、官能検査アプリケーションを実行する上で各種データの受け渡しが必要となる。例えば、フィルタ処理プロセス１２ｂの１種であるバンドパスフィルタリング処理を行うプログラム部品は、入力処理を行うプログラム部品（データ入力プロセス１２ａ）からデジタルサンプリングされた波形データを受け取り、バンドパスフィルタリング処理を行ったならば、処理後の波形データを所定の特徴量計算処理を行うプログラム部品（特徴量計算プロセス１２ｃ）へ引き渡す必要がある。このように、各プロセスは、原則として他のプロセスが実行して得られたデータを取得し、所定の処理を実行して得られた結果を別のプロセスへ渡すことを行う。係るデータの送受をシステム共有メモリ１６を介して行うようにした。
【００５０】
すなわち、図２に示すように、プログラム部品Ａのプロセスは、システム管理プロセスのシステム共有メモリ１６のエリア１に格納されているデータを読み出し、所定の処理を実行後エリア２に書き込む。このエリア２に書き込まれたデータは、次のプログラム部品Ｂのプロセスが読み出し、所定の処理を実行後エリア３に書き込む。さらに、このエリア３に書き込まれたデータは、次のプログラム部品Ｃのプロセスが読み出して所定の処理を実行するというように、システム共有メモリ１６を介してデータの受け渡しが行われる。
【００５１】
係る構成をとると、各プロセスは、自己が処理するために必要な入力データと出力データが格納されるエリアのみ知っていれば処理することができる。そして、このようにシステム共有メモリを介してデータの受け渡しを行うようにしたことにより、自己が取得する入力データを生成したプロセスが何であるか、並びに、自己が生成し出力した出力データをどのプロセスが使用するのかは問わなくなるので、設定用パソコン２５のシステム設定ツール２５ａによりプロセス単位で自由に実装・入れ替えを行うことができる。
【００５２】
そして、どのプロセスがどのメモリエリアに割り付けられているかの情報は、コンフィグレーションファイル１４に格納される。コンフィグレーションファイル１４には、システム管理プロセス１３によって管理されるプロセスの情報、およびシステム共有メモリ１６への各プロセスの割り付け情報が格納されている。具体的には、メモリエリア設定ファイルと、メモリ割付設定ファイルを備えている。メモリ設定ファイルは、システム管理プロセス上に確保され、図３（ａ）に示すようにプログラム部品プロセスへプロセス間メモリ共有によって割り付けられるメモリエリアを定義する。また、メモリ割り付け設定ファイルは、図３（ｂ）に示すようにそれぞれのプログラム部品プロセスが、システム管理プロセス１３のどのメモリエリアを自プロセスのどこへ割り付け、どのように使うか（Ｒｅａｄ／Ｗｒｉｔｅ）を定義する。
【００５３】
上記したシステム共有メモリ１６を介してプロセス間のデータの受け渡しを行うようにしたメモリ管理機構を使って波形検査処理が実行される例を以下に示す。以下の例では、検査対象の波形データに対し、２つの特徴量を抽出し、その２つの特徴量に基づいて良否判定を行うようになっている。
【００５４】
▲１▼データ入力プロセス１２ａは、入力装置２６から取得した検査対象データ入力処理を行い、システム管理プロセス１３のエリア１へデータを書き込む。
【００５５】
▲２▼フィルタリング処理プロセスＡは、検査対象データをシステム管理プロセス（システム共有メモリ１６）のエリア１から読み込み、そのデータに対してフィルタリング処理を行い、結果データをシステム管理プロセス（システム共有メモリ１６）のエリア２へ書き込む。
【００５６】
▲３▼特徴量計算処理プロセスＢは、計算対象データをシステム管理プロセス（システム共有メモリ１６）のエリア２から読み込み、特徴量計算を実行、結果データをシステム管理プロセス（システム共有メモリ１６）のエリア３へ書き込む。
【００５７】
▲４▼特徴量計算処理プロセスＣは、計算対象データをシステム管理プロセス（システム共有メモリ１６）のエリア２から読み込み、特徴量計算を実行、結果データをシステム管理プロセス（システム共有メモリ１６）のエリア４へ書き込む。このように、同一のエリアに格納されたデータを複数のプロセスが読み出すこともある。
【００５８】
▲５▼判定処理プロセスは、判定対象とする特徴量計算結果データをシステム管理プロセス１３（システム共有メモリ１６）のエリア３，４から読み込み、判定処理を行った後、判定結果データをシステム管理プロセス（システム共有メモリ１６）のエリア５へ書き込む。
【００５９】
▲６▼出力処理プロセスは、出力対象となる判定結果データをシステム管理プロセス１３（システム共有メモリ１６）のエリア５から読み出し、所定の出力処理を行う。
【００６０】
波形検査ユニット１０に実装された検査プログラムを用いて実際に官能検査を行うには、ＰＬＣのＣＰＵユニット２０に実装した治具制御ラダープログラムによる検査治具２８の制御と連携させ、所望の状態・タイミングで検査対象物から検査対象データ（波形信号）を取得し、検査を行う必要がある。
【００６１】
ここで、検査治具２８は、検査対象物を検査位置まで搬送したり、センサ等の入力装置２６を検査対象物に対して所望の相対位置（所定圧で接触，一定距離をおくなど）に移動させたり、データ入力終了後に検査対象物を検査位置から搬出させたり、あるいは検査結果に応じて検査対象物を選別したりする処理を実行するものである。そして、係る処理は、ＣＰＵユニット２０上で実行されるラダープログラムによりその動作が制御されることにより実行する。
【００６２】
また、入力装置２６は、一般にはセンサヘッドとセンサヘッドからの信号を増幅し、波形検査ユニット１０へ送るためのアンプからなる。アプリケーションによっては、波形検査ユニット１０で持っている入力信号に対するデジタルサンプリング，デジタルフィルタリング機能を入力装置２６側に持たせることもできる。また、逆にアンプ機能を波形検査ユニット１０側に持たせることも可能である。
【００６３】
波形検査ユニット１０（波形検査プログラム）とＣＰＵユニット２０（治具制御ラダープログラム）間の同期は、ＰＬＣバス２１を介して行う両者間の通知に基づいて行うことはすでに説明したが、具体的には、ＰＬＣバス２１によって、ＣＰＵユニット２０と波形検査ユニット１０の双方から読み書き可能なメモリエリアとして実現されるＩ／Ｆメモリ割付エリア２９を利用し、論理的なＩ／Ｆとして一方があらかじめ決められたメモリエリアにフラグ、もしくはデータを書き込み、他方が同じメモリエリアを読み出すことによって実現する。
【００６４】
そして、実際のＣＰＵユニット２０と波形検査ユニット１０間の論理的なＩ／Ｆとしては、以下の各種通知を用意している。すなわち、波形検査ユニット１０における前回の検査が完了後、所定の処理（ロギング等）が終了し、次の検査が可能になったことを通知する「検査実行可能通知」（検査ユニット→ＣＰＵユニット）がある。この通知が波形検査ユニット１０からＣＰＵユニット２０に伝わると、ＣＰＵユニット２０は、波形検査ユニット１０側で検査可能になったことを知るためと、検査治具２８を動作させて検査対象並びに入力装置２６を所定の検査対象位置にセットする処理を行う。
【００６５】
また、ＣＰＵユニット２０の治具制御ラダープログラムの実行により検査治具２８を動作させ検査対象物を検査可能な状態になったことを通知する「検査開始要求」（ＣＰＵユニット→検査ユニット）がある。この通知を受けた波形検査ユニット１０は、検査対象の波形データの取得並びにそれに基づく波形検査処理を実行することになる。
【００６６】
さらに、波形検査ユニット１０における検査が完了したことを通知する「検査完了通知」（検査ユニット→ＣＰＵユニット）がある。この通知を受けたＣＰＵユニット２０は、検査治具２８を動作させ、検査対象物を搬出等し、次の検査対象物の検査位置へのセットに備える。
【００６７】
さらに、波形検査ユニット１０における検査結果（異常／正常）を所定メモリ領域に登録したことを通知する「検査結果通知」（検査ユニット→ＣＰＵユニット）や、検査結果が異常のときに通知する「異常発生通知」（検査ユニット→ＣＰＵユニット）がある。これらの通知を受けたＣＰＵユニット２０は、検査結果を取得したり、異常時の非常停止処理などを行うことになる。上記各通知であるが、「正しい動作で検査処理を行った結果として検査結果が異常」の場合は、「検査結果通知」で正常／異常が通知され、「正しい動作で検査行為が行えなかった」場合には、この「異常発生通知」により異常通知が行われる。例えば、検査処理実行中に、データ異常を検知した場合や、内部プログラム矛盾などが発生した場合に通知される。
【００６８】
さらに、検査対象のデータの取得完了（センシング終了）を通知する「データ収集完了通知」（検査ユニット→ＣＰＵユニット）もある。このようにデータ収集完了通知を発行すると、それ以降は検査対象物を搬出しても良いので、係る搬出処理と収集した検査対象のデータに基づく官能検査処理を並列処理することができる。
【００６９】
治具制御プログラムは、ＣＰＵユニット２０上のラダープログラムで、ＰＬＣのＩＯにより検査治具２８を制御したり、波形検査ユニット１０に対して検査指示したり、検査結果を受けて処理を行ったりする。具体的には、図４に示すフローチャートを実行するようになる。
【００７０】
すなわち、まず、ユーザからの検査開始指示として検査開始ボタンが押下され、或いは波形検査ユニットからの検査実行可能通知が発行され、検査開始になるのを待つ（ＳＴ１１）。
【００７１】
そして、検査開始ボタンが押下等されて検査開始状態になると、検査治具を操作して検査対象物を検査位置にセットし、検査開始要求通知を発行する（ＳＴ１２）。この通知は、特定のメモリエリアに検査開始フラグを立てるもので、これにより波形検査ユニットに対して検査開始指示を行う。
【００７２】
ついで、検査完了通知が発行されるのを待つ（ＳＴ１３）。つまり、特定のメモリエリアに波形検査ユニットから検査終了フラグが立てられるのを待つ。そして、検査終了フラグが立つと、特定のメモリエリアに書かれている検査結果データを取得し（ＳＴ１４）、その取得した検査結果データに従い、検査結果であるＯＫ／ＮＧ／ＧｒａｙをＬＥＤにより表示する（ＳＴ１５）。その後、ステップ１１に戻り上記した処理を繰り返し実行する。
【００７３】
次に、プログラム部品の設定について説明する。システム設定ツール２５ａは、イーサネット（登録商標）により波形検査ユニット１０と接続された設定用パソコン２５上で動作するソフトウェアであり、１つ以上の複数のプログラム部品を管理し、検査対象に応じたプログラム部品を波形検査ユニット１０へ追加／削除、ならびに各プログラム部品のパラメータ設定などを行う。
【００７４】
本システムにおけるプログラムの入れ替えは、以下に示すプロセス管理機構により実現される。すなわち、前記のメモリ管理機構によりプログラム部品プロセス間のデータ受け渡しＩ／Ｆを定型化した上で、実際のプログラム入れ替えは、プログラム部品プロセス単位で行う。プログラムの入れ替えを行う場合は、削除対象となるプログラム部品プロセスのプロセス間メモリ共有を解除し、プログラム部品プロセスを停止、削除する。その後、あらたなプログラム部品プロセスを起動し、プロセス間メモリ共有によりメモリエリアの割り付けを行う。
プログラムの入れ替え時の処理アルゴリズムとしては、以下のようになる。
【００７５】
▲１▼システム管理プロセス１３は、プログラム入れ替えによってシステムからの削除対象となるプログラム部品プロセスへＯＳのプロセス間通信機能により削除指示を行う。
【００７６】
▲２▼削除指示を受けたプログラム部品プロセスは、ＯＳのプロセス間メモリ共有機能により共有しているシステム管理プロセスのメモリエリアを開放する。
【００７７】
▲３▼システム管理プロセスは、メモリ割り付け設定ファイルからプログラム入れ替えによって削除されるプログラム部品プロセスの情報を削除し、あらたにシステムに追加されるプログラム部品プロセスのメモリ割り付け情報を追加する。
【００７８】
▲４▼システム管理プロセスは、プログラム入れ替えによってあらたに追加されるプログラム部品プロセスを起動する。
【００７９】
▲５▼あらたに起動されたプログラム部品プロセスは、メモリ割付設定ファイルの情報にしたがって、ＯＳのプロセス間メモリ共有機能を用いてシステム管理プロセスのメモリエリアを自プロセスのメモリエリアへ割り付ける。プログラム部品の追加、削除も同様の処理により実現される。
【００８０】
そして、上記した波形検査ユニットとＣＰＵユニット２０が連携して行われる検査は以下の手順で実行される。すなわち、まず「初期設定」処理を行う。これは、設定用パソコン２５のシステム設定ツール２５ａを用い、検査対象に合わせてプログラム部品を選択し、波形検査ユニット１０へセットする。
【００８１】
次に、調整処理を行う。これは、良否結果のわかっているサンプルに対して調整のための検査を実行し、結果に応じてパラメータ設定やプログラム部品の選択をやり直す。
【００８２】
そして、調整が完了すると、実際の検査を実行する。つまり、論理Ｉ／Ｆにより波形検査ユニット１０とＣＰＵユニット２０間で同期を取りながら、検査対象物を検査位置にセットし、検査対象の波形データを取得し、その取得した派生データに基づく検査を実行する。
【００８３】
なお、検査対象の変更や検査基準の見直しが発生した場合は、再調整を行うべく上記した調整処理を実行する。また再調整の必要がない場合には、上記の検査処理を繰り返し実行することになる。
【００８４】
なお、上記した実施の形態では、波形検査ユニット１０とＴＣＰ／ＩＰネットワーク接続された設定用パソコン２５上に設定ツールを構築したが、本発明ではこれに限ることはなく、各種の変形実施が可能である。一例としては、設定用パソコン２５と波形検査ユニット１０の接続方法をＲＳ２３２ＣやＵＳＢなどのシリアル通信とすることができる。また、ツールを波形検査ユニット１０に直接接続するのではなく、ＣＰＵユニット２０等に接続し、ＣＰＵユニットと検査ユニット間のＩ／Ｆを拡張してＣＰＵユニット経由で波形検査ユニット１０に対する設定を行うこともできる。
【００８５】
また、システム設定ツール２５ａを設定用パソコン２５に実装するのではなく、ＰＤＡなどのハンディタイプの汎用機器上にツールを実現するようにしてもよい。
【００８６】
さらにまた、ツールを接続するのではなく、設定情報やプログラム部品をコンパクトフラッシュカードなどに格納し、そのコンパクトフラッシュカードを検査ユニットに挿入し、（機能拡張された）システム管理プロセスがコンパクトフラッシュカードから設定情報などを読み込むことでシステムの設定を行うこともできる。
【００８７】
上記した実施の形態では、特徴量算出プロセス１２ｃで求めた特徴量に基づいて正常／異常を判定するようにしたが、本発明はこれに限ることはなく、結果判定プロセス１２ｄを設けずに、特徴量算出プロセス１２ｃで求めた特徴量を出力するようにしてもよい。
【００８８】
すなわち、例えばプログラマブルコントローラ用検査機器としては、与えられた波形信号に対して特徴量を求める特徴量算出プロセス１２ｃと、その特徴量算出プロセス１２ｃで求められた特徴量を出力する結果出力プロセス１２ｅを備え、検査治具を制御する制御プログラムを備えた他のユニットとの間で、プログラマブルコントローラの内部バス経由で検査開始指示，検査完了通知などの同期を取るための各種の通知を行う機能を備えるようにすることである。
【００８９】
すなわち、特徴量算出プロセス１２ｃで求めた特徴量を、例えばＣＰＵユニットその他の機器・装置に渡し、ＣＰＵユニット側等で正常／異常の判定をするようにすることもできる。つまり、正常／異常の判断が閾値のみで判定するような簡単な判定手法の場合は、ＣＰＵユニットなどでも判定処理を行うことができるからである。
【００９０】
【発明の効果】
以上のように、この発明では、官能検査を行う処理機能をプログラマブルコントローラを構成するユニットに実装することができるので、対環境に適応できるとともに低コストとなる。
【図面の簡単な説明】
【図１】本発明の好適な一実施の形態を示すブロック図である。
【図２】メモリ管理構成を説明する図である。
【図３】各設定ファイルのデータ構造を説明する図である。
【図４】治具制御ラダープログラムの機能を示すフローチャートである。
【符号の説明】
１０  波形検査ユニット
１１  リアルタイムＯＳ
１２ａ  データ入力プロセス
１２ｂ  フィルタ処理プロセス
１２ｃ  特徴量計算プロセス
１２ｄ  結果判定プロセス
１２ｅ  結果出力プロセス
１３  システム管理プロセス
１４  コンフィグレーションファイル
１６  システム共有メモリ
２０  ＣＰＵユニット
２１  ＰＬＣバス
２５  設定用パソコン
２５ａ  システム設定ツール
２６  入力装置
２８  検査治具
２９  Ｉ／Ｆメモリ割付エリア
【図１】
2004326562.tif 000003
【図２】
2004326562.tif 000004
【図３】
2004326562.tif 000005
【図４】
2004326562.tif 000006