a.第1実施形態
以下、本発明の第1実施形態について図面を用いて説明する。図1は、幅測定装置10を用いて、包装容器30の接合部32a,32cを測定する状態を示している。以下の説明において、上下、前後、左右の各方向は、図1の方向に基づいたものとし、図1の左下方が前方、右上方が後方であるとする。幅測定装置10は、図1に示したように、搬送装置11と、超音波センサ15と、一対のエッジセンサ16,17からなる角度検出センサと、エンコーダ18とを備えている。搬送装置11は、前後に間隔を保って平行に配置された一対の回転軸12a,12bの左右両側にそれぞれ一対の無端ベルト13a,13bを掛け渡して本体が構成されており、回転軸12aには駆動モータ14が連結されている。
このため、駆動モータ14を作動させると、回転軸12aが右側から見た状態で反時計周り方向に回転し、無端ベルト13a,13bにおいては、上方に位置する部分が後方から前方に移動し、下方に位置する部分が前方から後方に移動するように走行する。この無端ベルト13a,13bの走行に従動して回転軸12bも回転軸12aと同じ方向に回転する。また、無端ベルト13a,13bの間には空間が設けられており、包装容器30を無端ベルト13a,13bの上方に位置する部分の後部に掛け渡して載せると、包装容器30は、上面の全面及び下面の左右方向の中央部分が開放された状態で前方に向かって搬送される。
超音波センサ15は、超音波を発信する発信探触子15aと、発信探触子15aが発信する超音波を受信する受信探触子15bとで構成されている。発信探触子15aは、電圧を掛けると振動する圧電素子からなっており、所定の電圧を与えると伸縮及び膨張を繰り返して振動することにより超音波を発生する。本実施形態では、図8に示すバースト信号により駆動されて、このバースト信号に対応した超音波を発生する。このバースト信号は、所定の時間間隔をもって周期的に発生される正弦波信号であり、正弦波信号の振幅は発生時から徐々に増加した後に徐々に減少する。この正弦波信号の周波数は、検出分解能を高めるために高いことが好ましく、100KHz以上の周波数であることが好ましい。したがって、発信探触子15aから発生される超音波は、本実施形態では、所定の時間間隔で発生される100KHz以上の正弦波波形群からなるバースト波である。なお、バースト信号及びバースト波の周期については詳しく後述する。受信探触子15bは、発信探触子15aと同様に圧電素子で構成されており、超音波を受信して振動する。そして、受信探触子15bは、この振動により生じる変位を図8に示す受信信号(電圧信号)に変換して、超音波信号として出力する。
発信探触子15aは、無端ベルト13a,13b間における左右方向の中央で前後方向の中央よりもやや前部寄りの部分の上方に配置され、受信探触子15bは、発信探触子15aとの間に包装容器30を通過させる間隔を保って発信探触子15aの下方に配置されている。具体的には、発信探触子15aの下端部は、無端ベルト13a,13bの上方に位置する部分の上面から所定距離(例えば、20mm程度)だけ上方に位置している。受信探触子15bの上端部は、無端ベルト13a,13bの上方に位置する部分の下面から所定距離(例えば、20mm程度)だけ下方に位置している。また、発信探触子15aにおける超音波を発信する面と、受信探触子15bにおける超音波を受信する面とは対向している。この超音波センサ15は、後述するプログラム処理により、無端ベルト13a,13b上に載置した包装容器30の接合部32a,32b,32cの幅xを検出するために用いられる。
角度検出センサは、左右に間隔を保って配置された一対のエッジセンサ16,17からなる。エッジセンサ16,17としては、非接触で包装容器30の前端部を検出できるものであればどのようなものでも使用できるが、本実施形態では、フォトセンサが用いられている。エッジセンサ16は、光を発生する発光素子16aと、発光素子16aが発光する光を受光する受光素子16bとで構成されており、受光素子16bは受光量に応じた受光信号を出力する。エッジセンサ17は、エッジセンサ16の発光素子16a及び受光素子16bと同様に構成された発光素子17a及び受光素子17bで構成され、エッジセンサ16と同一機能を有する。これらのエッジセンサ16,17は、後述するプログラム処理により、無端ベルト13a,13b上に載置した包装容器30の搬送方向に対する包装容器30の接合部32a,32b,32cの幅方向の傾き角度θを検出するために用いられる。
エッジセンサ16,17は、無端ベルト13a,13b間の左右両側部分で、かつ超音波センサ15よりも少し後方にそれぞれ配置されている。そして、発光素子16a,17aは、超音波センサ15の発信探触子15aと同じ高さになるように配置され、受光素子16b,17bは、超音波センサ15の受信探触子15bと同じ高さになるように配置されている。また、発光素子16a,17aにおける発光面と、受光素子16b,17bにおける受光面とはそれぞれ対向している。発光素子16aと受光素子16bを結ぶ直線が無端ベルト13a,13bの上方に位置する部分の上面と交わる交点と、発光素子17aと受光素子17bを結ぶ直線が無端ベルト13a,13bの上方に位置する部分の上面と交わる交点とを結ぶ直線は無端ベルト13a,13bの移動方向と直交し、両交点間の距離は図9に示すaである。
エンコーダ18は、回転軸12aの近傍に設置されており、回転軸12aの回転を検出して、その回転に応じたパルス列信号を発生する。このエンコーダ18は、図示していないが、発光部と、受光部とを対向させて配置し、その間に、回転軸12aに取り付けられ発光部が発生する光を断続させる複数のスリットが形成された円盤を配置して構成されている。複数のスリットは円盤の周方向に沿って等間隔に配置されており、本実施形態の場合、スリット数をSNoとする。そして、エンコーダ18は、円盤の回転によって生じる光の断続に応じたパルス列信号であって、受光部によって検知されたパルス列信号を出力する(図8参照)。このパルス列信号は、後述するプログラム処理により、包装容器30の搬送速度Vを検出するために用いられる。
幅測定装置10は、図2に示した制御装置20を有する。制御装置20は、コンピュータ装置を構成するCPU21、記憶部22及びタイマ23を備えている。CPU21は、図4の搬送速度検出ルーチン、図5の傾き角度検出ルーチン、図6A,6Bの幅測定ルーチン及び図7の剥離検出ルーチンを含む図3の幅測定プログラムを実行する。記憶部22は、ROM、RAM、ハードディスク、フラッシュメモリなどを有する。ROM、ハードディスク、フラッシュメモリなどは、前記幅測定プログラムを含む各種プログラムを記憶している。RAMは、プログラムの実行時に必要なデータを一時的に記憶する。タイマ23は、所定の短時間Toごとにパルス信号(クロック信号)をCPU21に出力して、CPU21に短時間Toごとに前記幅測定プログラムを実行させる。
制御装置20には、信号処理部24が接続されている。信号処理部24は、制御装置20の作動制御により作動して、周波数、振幅、波長などの情報に加えて、バースト信号の発生タイミングをバースト信号発生器25に供給する。特に、バースト信号の発生タイミングに関しては、制御装置20はエンコーダ18からのパルス列信号のパルス数をカウントし、所定数のパルス(例えば、数個のパルス)をカウントするごとに、パルスの立ち上がりタイミングに同期してバースト信号の発生開始をバースト信号発生器25に指示する。したがって、バースト信号発生器25は、エンコーダ18からのパルス列信号の所定周期ごとにパルスの立ち上がりタイミングに同期して、前述したバースト信号を発信探触子15aに出力する。
また、信号処理部24は、受信探触子15bにより受信され、かつプリアンプ26により増幅された超音波信号を入力する。そして、信号処理部24は、入力した超音波信号をディジタル信号に変換して制御装置20に出力する。このようなエンコーダ18、制御装置20、信号処理部24、バースト信号発生器25、発信探触子15a、受信探触子15b及びプリアンプ26の動作により、図8に示すように、エンコーダ18によって出力されるパルス列信号に同期して、発信探触子15aはバースト信号に対応した断続的な超音波(バースト波)を発生する。そして、受信探触子15bは前記超音波の発生から所定の短時間だけ遅れて伝搬される超音波に対応した超音波信号をプリアンプ26に出力し、この超音波信号のサンプリング値を表すディジタルデータが制御装置20に供給されることになる。この場合、各バースト信号の発生タイミングをT0とし、各超音波信号のサンプリング値の制御装置20への供給開始タイミング及び供給終了タイミングをそれぞれT1,T2とする。なお、各バースト信号の発生タイミングT0はエンコーダ18から出力されるパルス列信号に基づいて把握されるタイミングである。サンプリング値の供給開始タイミングT1は、超音波が発信探触子15aから受信探触子15bに伝搬される時間を前記発生タイミングT0に加算したタイミングである。また、サンプリング値の供給終了タイミングT2は、1回のバースト信号が発生される時間を前記供給開始タイミングT1に加算したタイミングである。したがって、これらの供給開始タイミングT1及び供給終了タイミングT2も、前記発生タイミングT0に基づいて把握されるタイミングである。
また、制御装置20には、駆動モータ14、エンコーダ18、角度検出センサ駆動源27及び受光素子16b,17bも接続されている。駆動モータ14は、CPU21の作動制御により作動する。エンコーダ18は、回転軸12aの回転に応じたパルス列信号を制御装置20に出力する。角度検出センサ駆動源27も、CPU21の作動制御により作動して、発光素子16a,17aを発光させる。受光素子16b,17bからの受光量に応じた受光信号は、制御装置20内の図示省略したディジタル変換器によりディジタル信号に変換されてCPU21に供給される。
制御装置20には、さらに、表示装置28及び操作部29が接続されている。表示装置28は、CPU21の作動制御により各種情報を表示する。操作部29は、キーボード、マウスなどで構成され、被検査物に関する各種の情報、包装容器30の搬送速度(すなわち、駆動モータ14の回転速度)などの測定条件を入力するために用いられる。
このように構成された幅測定装置10を用いて、包装容器30に関する測定を行う場合には、作業者は操作部29を操作して幅測定装置10の作動を開始させる。この作動開始により、CPU21は、図示しないプログラム処理により、駆動モータ14、超音波センサ15、エッジセンサ16,17、エンコーダ18、信号処理部24、バースト信号発生器25、角度検出センサ駆動源27及び表示装置28の作動を開始させる。
この作動開始により、駆動モータ14は設定された速度で回転し始めて、搬送装置11の無端ベルト13a,13bを設定され速度で走行させる。この設定された駆動モータ14の回転速度及び無端ベルト13a,13bの走行速度は、固定された一定の速度でもよいが、本実施形態では操作部29の操作により可変設定される。信号処理部24及びバースト信号発生器25も作動を開始し、発信探触子15aは、バースト信号発生器25から断続的に供給されるバースト信号を入力して、超音波を断続的に発生し始める。受信探触子15bは、受信した超音波に対応した超音波信号を、プリアンプ26を介して信号処理部24に出力し始める。信号処理部24は、この超音波信号のサンプリング値を制御装置20に断続的に供給し始める。角度検出センサ駆動源27は、発光素子16a,17aの発光を開始させる。受光素子16b,17bは、受光量に応じた受光信号を制御装置20に供給し始めて、制御装置20内にて、受光信号をディジタル変換したディジタル信号が制御装置20に供給され始める。また、エンコーダ18からのパルス列信号も制御装置20に供給され始める。また、タイマ23は短時間Toごとにクロック信号を出力し始め、このクロック信号に応答して、CPU21は、短時間Toごとに図3の幅測定プログラムの実行を開始し始める。
次に、作業者は、無端ベルト13a,13bの後端側に複数の包装容器30を間隔を保って順次載せる。この包装容器30は、レトルト食品を収容するためのものであり、細長い矩形のプラスチックフィルムを折り畳んで重ね、その短い縁部の一方以外の縁部を加熱圧着して形成されている。このため、包装容器30は、扁平な袋状に形成され開口部31を除く外周部に接合部32a,32b,32cが形成され、中央に収容部33が形成されている。接合部32a,32cの幅を検出する際には、開口部31側部分と接合部32b側部分を無端ベルト13a,13bの上面に位置させ、接合部32a,32cの延設方向が搬送方向と直交するように、包装容器30を無端ベルト13a,13bに載せる。したがって、この場合には、包装容器30は、無端ベルト13a,13bにより、接合部32a,32cの延設方向を搬送方向と直交させて(すなわち、接合部32a,32cの幅方向を搬送方向と平行にして)、後方から前方に搬送される。また、接合部32bの幅を検出する際には、接合部32a,32c側部分を無端ベルト13a,13bの上面に位置させ、接合部32bの延設方向が搬送方向と直交するように、包装容器30を無端ベルト13a,13bに載せる。したがって、この場合には、包装容器30は、無端ベルト13a,13bにより、接合部32bの延設方向を搬送方向と直交させて(すなわち、接合部32bの幅方向を搬送方向と平行にして)、後方から前方に搬送される。なお、本実施形態においては、接合部32a,32b,32cの幅方向を搬送方向と正確に平行にしなくても、後述する傾き角度を用いた補正により、接合部32a,32cの幅は正確に検出される。
前記幅測定プログラムの実行は図3のステップS10にて開始され、CPU21は、ステップS12にて搬送速度検出ルーチンを実行する。この搬送速度検出ルーチンは、包装容器30の無端ベルト13a,13bによる搬送速度Vを検出する処理であり、図4のステップS100にて開始され、CPU21は、ステップS102にて、エンコーダ18の出力信号であるパルス列信号(エンコーダ出力値)を入力し、かつエンコーダ出力データ群を更新する。このエンコーダ出力データ群は、前記入力処理によって入力された現在のエンコーダ出力値と、過去の前記入力処理によって入力された過去の複数のエンコーダ出力値からなるもので、記憶部22のRAMには、常に現在から過去に渡る所定数のエンコーダ出力値がエンコーダ出力データ群として記憶されている。そして、このステップS102の処理が実行されるごとに、エンコーダ出力データ群は、最も古いエンコーダ出力値が消去され、前記入力された新たなエンコーダ出力値が現在のエンコーダ出力値として更新記憶される。なお、このエンコーダ出力データ群は、制御装置20の作動開始時に全てローレベルに初期設定されている。
前記ステップS102の処理後、CPU21は、ステップS104にてエンコーダ18から新たなパルスが入力したかを判定する。この場合、前記RAMに記憶されているエンコーダ出力データ群が参照され、エンコーダ18からのパルス列信号がローレベルからハイレベルに変化したかにより、新たなパルス入力であったかを判定する。新たなパルス入力でなければ、CPU21は、ステップS104にて「No」と判定して、ステップS108に進む。ステップS108においては、搬送速度Vを算出するための時間カウント値TC1に「1」を加算することにより、時間カウント値TC1を「1」だけカウントアップする。なお、この時間カウント値TC1は、制御装置20の作動開始時に「0」に初期設定されている。
次に、CPU21は、ステップS110にて、パルス数PNが所定数PNo(例えば、スリット数SNoの数倍)以上であるかを判定する。なお、このパルス数PNは、エンコーダ18からの入力されるパルス数をカウントするための変数であり、制御装置20の作動開始時に「0」に初期設定されている。パルス数PNが所定数PNo以上でなければ、CPU21は、ステップS110にて「No」と判定して、ステップS118にて搬送速度検出ルーチンの実行を終了して、図3の幅測定プログラムの実行に戻り、ステップS14〜S32の処理後、ステップS34にて幅測定プログラムの実行を終了する。
そして、タイマ23からふたたびクロック信号がCPU21に入力されるごとに、CPU21は、図3の幅測定プログラムの実行を開始し、ステップS12の搬送速度検出ルーチンを実行する。この場合も、エンコーダ18から新たなパルスが入力されるまでは、CPU21は、図4のステップS102にてエンコーダ出力値を入力するとともにエンコーダ出力データ群を更新し、ステップS104,S110の「No」との判定のもとで、ステップS108の処理を繰り返し実行する。この状態では、時間カウント値TC1が「1」ずつカウントアップされるとともに、エンコーダ出力データ群が順次更新される。
一方、エンコーダ18から新たなパルスが入力されると、CPU21は、ステップS104にて「Yes」と判定して、ステップS106にてパルス数PNに「1」を加算する。そして、CPU21は、前述したステップS108の処理により、時間カウント値TC1を「1」ずつカウントアップする。このような搬送速度検出ルーチンの実行により、エンコーダ18からCPU21に新たなパルスが入力されるごとに、パルス数PNが「1」ずつカウントアップされていく。
そして、パルス数PNが所定数PNo以上になると、CPU21は、ステップS110にて「Yes」と判定して、ステップS112,S114の処理を実行する。ステップS112においては、時間カウント値TC1を用いて、単位時間当たりの回転軸12aの回転数すなわち回転軸12aの回転速度Nが下記数1の演算の実行により計算される。
この数1は、エンコーダ18から所定数PNoのパルスが出力される時間TC1・Toで、前記時間TC1・To内の回転軸12aの回転数PNo/SNoを除算することにより回転速度Nを計算するための演算式である。なお、値SNoはエンコーダ18の円盤に設けたスリットの数であり、値Toはタイマ23からのクロック信号の周期であり、前記所定数PNo及び値SNo,Toはいずれも予め決められた定数である。
また、ステップS114においては、前記計算した回転軸12aの回転速度Nを用いて、単位時間当たりの無端ベルト13a,13bの移動速度すなわち包装容器30の搬送速度Vが下記数2の演算の実行により計算される。
この数2は、回転軸12aの1回転あたりの無端ベルト13a,13bの移動距離(すなわち、包装容器30の搬送距離)2π・roに、回転軸12aの回転速度Nを乗算することにより、包装容器30の搬送速度Vを計算するための演算式である。なお、値roは回転軸12aの半径であり、予め決められた定数である。
前記ステップS114の処理後、CPU21は、ステップS116にて、パルス数PN及び時間カウント値TC1をそれぞれ「0」にクリアする。そして、ステップS118にて搬送速度検出ルーチンの実行を終了する。このような、搬送速度検出ルーチンの実行により、パルス数PNが所定数PNoに達するごとに、すなわちエンコーダ18から所定数PNoのパルスが出力されるごとに、包装容器30の搬送速度Vが計算されて更新される。ただし、駆動モータ14の回転速度が常に安定している場合には、初回を除く2回目以降に搬送速度Vが計算された後には、以降の搬送速度検出ルーチンの実行をなくして、前記計算された搬送速度Vを継続して用いるようにしてもよい。
次に、無端ベルト13a,13b上に載置した包装容器30の傾き角度θの検出について説明する。この傾き角度θは、前述した図3のステップS12の搬送速度検出ルーチンの実行後のステップS14の傾き角度検出ルーチンの実行により検出される。この傾き角度検出ルーチンも、前記搬送速度検出ルーチンと同様に、タイマ23からクロック信号がCPU21に入力されるごとに実行される。
この傾き角度検出ルーチンにおける処理について説明する前に、包装容器30の傾き角度θについて説明しておく。前述のように、包装容器30の接合部32a,32b,32cの幅xを測定する場合、作業者は無端ベルト13a,13bの後端側に包装容器30を載置する。この場合、包装容器30のエッジ(接合部32a,32c又は接合部32b)の延設方向が包装容器30の搬送方向すなわち無端ベルト13a,13bの移動方向と正確に直交するように、包装容器30を無端ベルト13a,13b上に載置することは難しい。すなわち、エッジの延設方向が包装容器30の搬送方向と直交するように包装容器30を無端ベルト13a,13bに載せようとしても、通常、包装容器30のエッジの延設方向は包装容器30の搬送方向と直交する方向に対して若干傾く。言い換えれば、包装容器30の測定される接合部32a,32b,32cの幅方向が包装容器30の搬送方向に対して傾く。
図9は、接合部32a,32cの延設方向が包装容器30の搬送方向と直交するように包装容器30を無端ベルト13a,13bに載せようとした場合を示しており、傾き角度をθで示している。なお、接合部32bの延設方向が包装容器30の搬送方向と直交するように包装容器30を無端ベルト13a,13bに載せようとした場合も同様である。そして、包装容器30が傾き角度θだけ傾いて無端ベルト13a,13b上に載置されると、詳しくは後述するように、超音波センサ15によって検出される包装容器30の幅は包装容器30の搬送方向の幅であるので、包装容器30の接合部32a,32b,32cの幅は、実際の幅xよりも大きな幅cとして検出されてしまう。そのために、本実施形形態では、包装容器30の傾き角度θを検出しておいて、超音波センサ15によって検出される幅cを傾き角度θを用いて補正することにより、包装容器30の接合部32a,32cの実際の幅xを求める。
図3のステップS14の傾き角度検出ルーチンは、図5のステップS200にて開始され、CPU21は、ステップS202にて、受光素子16b,17bからの受光信号をディジタル変換した受光量データを入力し、かつ受光量データ群を更新する。この受光量データ群は、前記入力処理によって入力された現在の受光量データと、過去の前記入力処理によって入力された過去の複数の受光量データからなるもので、記憶部22のRAMには、常に現在から過去に渡る所定数の受光量データが記憶されている。そして、このステップS202の処理が実行されるごとに、受光量データ群は、最も古い受光量データが消去され、前記入力された新たな受光量が現在の受光量データとして更新記憶される。なお、この受光量データ群は、制御装置20の作動開始時に全て大きな値に設定されている。
次に、CPU21は、ステップS204にて、エッジ検出フラグEFLGが“1”であるか否かを判定する。このエッジ検出フラグEFLGは、両エッジセンサ16,17位置における包装容器30の2つの前端(エッジ)のいずれも検出されていない状態で、前記2つのエッジのうちのいずれか一方のエッジが検出されたときに“1”に設定されるもので、初期には“0”に設定されている。したがって、初期には、CPU21は、前記ステップS204にて「No」と判定して、ステップS206にて、包装容器30のエッジがエッジセンサ16,17のいずれか一方の位置に到達したか、すなわち前記2つのエッジのうちの一方のエッジの検出を判定する。この場合、包装容器30が発光素子16a,17aと受光素子16b,17bの間を通過し始めると、受光素子16b,17bの受光量が急激に減少する。したがって、ステップS206の判定処理においては、前記RAMに記憶されている受光量データ群を参照して、受光素子16b,17bのいずれか一方による受光量レベルが所定レベルよりも大きい状態から所定レベル以下に変化したかが判定される。
初期においては、包装容器30の前端はエッジセンサ16,17のいずれの位置にも到達していないので、CPU21は、ステップS206にて「No」と判定して、ステップS224にて傾き角度検出ルーチンの実行を終了して、図3の幅測定プログラムの実行に戻り、ステップS16〜S32の処理後、ステップS34にて幅測定プログラムの実行を終了する。
この場合も、タイマ23からふたたびクロック信号がCPU21に入力されて図3の幅測定プログラムが実行されるごとに、CPU21は、図5の傾き角度検出ルーチンを実行する。そして、ステップS206にていずれか一方のエッジが検出されるまで、CPU21はステップS204,S206にて「No」とそれぞれ判定し続ける。一方、包装容器30の移動により、包装容器30のエッジがエッジセンサ16,17のいずれか一方の位置に到達すると、CPU21は、ステップS206にて「Yes」すなわち前記2つのエッジのうちの一方のエッジを検出したと判定して、ステップS208,S210に進む。ステップS208においては、傾き角度θを検出するための時間カウント値TC2を「0」に初期設定する。ステップS210においては、エッジ検出フラグEFLGを“1”に設定する。
このエッジ検出フラグEFLGが“1”に設定されると、次からの傾き角度検出ルーチンにおいては、CPU21は、ステップS204にて「Yes」すなわちエッジ検出フラグEFLGは“1”であると判定して、ステップS212に進む。ステップS212においては、時間カウント値TC2に「1」を加算することにより、時間カウント値TC2を「1」だけカウントアップする。そして、CPU21は、ステップS214にて、時間カウント値TC2が所定値TC2max以上であるかを判定する。この所定値TC2maxは、一方のエッジが検出されてから他方のエッジが検出されるまでの時間としてあり得ない大きな値に予め設定されている。したがって、通常の場合には、CPU21は、ステップS214にて「No」と判定して、ステップS216にて包装容器30のエッジがエッジセンサ16,17のうちの前記とは異なる他方の位置に到達したか、すなわち前記2つのエッジのうちの他方のエッジの検出を判定する。具体的には、2つのエッジセンサ16,17のうちの前記ステップS206でエッジが検出されたエッジセンサとは異なる他方のエッジセンサに関する、前記ステップS202の処理によりRAMに記憶されている受光量データ群を参照することにより、前記とは異なる他方の受光素子16b(又は17b)による受光量レベルが所定レベルよりも大きい状態から所定レベル以下に変化したかが判定される。他方のエッジが検出されなければ、CPU21は、ステップS216にて「No」と判定して、ステップS224にて傾き検出ルーチンの実行を終了する。
そして、他方のエッジが検出されるまで、CPU21は、ステップS204にて「Yes」と判定して、ステップS212にて時間カウント値TC2を「1」ずつカウントアップする。すなわち、一方のエッジが検出されてから他方のエッジが検出されるまで、時間カウント値TC2は、タイマ23からのクロック信号の周期である短時間Toごとに「1」ずつ増加する。この時間カウント値TC2の増加中、包装容器30のエッジが他方のエッジセンサに達すると、CPU21は、ステップS216にて「Yes」すなわち他方のエッジの検出を判定して、ステップS218,S220に進む。
ステップS218においては、前記検出した包装容器30の搬送速度V及び時間カウント値TC2を用いて、包装容器30の前端のエッジセンサ16,17位置におけるずれ量を表す距離b(図9参照)が下記数3の演算の実行により計算される。
この数3は、包装容器30の搬送速度Vに、包装容器30のエッジがエッジセンサ16,17の一方のエッジセンサに到達してから他方のエッジセンサに到達するまでの時間TC2・Toを乗算することにより、距離bを計算するための演算式である。なお、値Toは、前述のように、タイマ23からのクロック信号の周期であり、予め決められた定数である。
また、ステップS220においては、前記計算した距離bを用いて、包装容器30の傾き角度θ(図9参照)が下記数4の演算の実行により計算される。
この場合、値aは、前述のように、エッジセンサ16,17間の包装容器30の搬送方向と直交する方向の距離であり(図9参照)、予め決められた定数である。
前記ステップS218,S220の処理後、CPU21は、ステップS222にてエッジ検出フラグEFLGを“0”にクリアする。したがって、その後には、この傾き角度検出ルーチンの実行により、次の包装容器30の傾き角度θが計算されるようになる。
一方、前記ステップS214の判定処理時に、時間カウント値TC2が所定値TC2max以上である場合には、CPU21は、ステップS214にて「Yes」と判定して、ステップS228に進む。この場合、前述のように、所定値TC2maxは、一方のエッジが検出されてから他方のエッジが検出されるまでの時間としてはあり得ない大きな値に予め設定されている。したがって、この状態は、包装容器30が無端ベルト13a,13b上に的確に載置されていないか、幅測定装置10が正常に動作していない状態である。ステップS228においては、CPU21は表示装置28に異常を表示する。次に、CPU21は、ステップS230にて幅測定装置10の全体の動作を停止させて、ステップS232にて幅測定プログラムの実行を終了する。この場合には、作業者は、包装容器30及び幅測定装置10を点検した後、包装容器30の幅測定を前述のようにして再開する。
次に、包装容器30の接合部32a,32b,32cの幅xの検出について説明する。この幅xは、前述した図3のステップS14の傾き角度検出ルーチンの実行後のステップS16の幅検出ルーチンの実行により検出される。この幅検出ルーチンも、前記搬送速度検出ルーチン及び傾き角度検出ルーチンと同様に、タイマ23からクロック信号がCPU21に入力されるごとに実行される。
この幅検出ルーチンにおける処理について説明する前に、包装容器30の接合部32a,32b,32cの幅の検出方法について説明しておく。無端ベルト13a,13b上に載置された包装容器30が、超音波センサ15に到達すると、発信探触子15aが発信する超音波は、包装容器30の移動にともなって、接合部32a、収容部33、接合部32cの順に透過していき、各部分を透過した超音波は受信探触子15bに受信される。そして、受信探触子15bが受信する超音波信号の大きさ(超音波の強度)の変化により、包装容器30のどの部分が検出されているかが認識される。この超音波の強度は発信探触子15aから受信探触子15bへの超音波の伝搬率にほぼ比例する。すなわち、包装容器30が超音波の進路に介入した場合には、超音波の強度は超音波の伝搬率(透過率)にほぼ比例する。この超音波の強度は、本実施形態では超音波信号のサンプリング値から検出されるバースト波のピーク値に対応する。そして、この超音波の強度(バースト波及び超音波信号のピーク値)及び超音波の伝搬率と、包装容器30の移動距離との関係は、図10に示したグラフのようになる。
図10において、横軸は包装容器30の移動距離を示し、縦軸は受信探触子15bが受信した超音波の強度(バースト波及び超音波信号のピーク値)を示している。図10の状態ST0は、包装容器30がまだ超音波センサ15に到達してない状態を示しており、本発明の未検出状態に対応する。この状態では、発信探触子15aが発信する超音波は、発信探触子15aと受信探触子15bの間に存在する空気によって減衰するだけで、包装容器30によって減衰されないで受信探触子15bに受信される。そして、この状態ST0では、超音波の強度は、実際には極めて大きい。ただし、本実施形態の場合には、プリアンプ26の飽和により、状態ST0においてプリアンプ26からの超音波信号のレベルは図10に示す程度である。なお、図10の伝搬率の変化は、包装容器30を図9に示すように無端ベルト13a,13b上に載置して移動させた場合の例である。
また、状態ST1は、接合部32aの外側端部(縁部)が超音波センサ15の位置に到達した状態を示しており、本発明における接合部の外側端部検出状態に対応する。この状態では、発信探触子15aが発信する超音波は、一部が受信探触子15bに直接受信され残りが接合部32aの外側端部(縁部)を透過して受信探触子15bに受信される。そのために、包装容器30の移動に伴って接合部32aの外側端部を透過する超音波の量が増えていき、この状態ST1では超音波の強度が徐々に減少していく。状態ST2は、包装容器30の接合部32aの外側端部と内側端部の間に位置する中央部が超音波センサ15の位置を通過している状態を示しており、本発明における接合部の中央部検出状態に対応する。この状態ST2では、発信探触子15aが発信し、接合部32aの表面に到達した超音波の殆どが接合部32aを透過して受信探触子15bに受信され、受信される超音波の量が減少した状態である。したがって、この状態ST2では、前記状態ST1における超音波の強度の減少は停止して、ほぼ一定に保たれる。
また、状態ST3は、接合部32aの内側端部(収容部33との境界部)が超音波センサ15の位置に到達した状態を示しており、本発明における接合部の内側端部検出状態に対応する。この状態ST3では、接合部32aの上部を透過した超音波の一部はそのまま接合部32aの下部を透過して受信探触子15bに受信されるが、残りは一端空気層を通過したのちに接合部32aの下部を透過して受信探触子15bに受信される。そのために、包装容器30の移動に伴って途中で空気層を通過する超音波の量が接合部32aの下部を直接透過する量よりも増えていき、この状態ST3では超音波の強度が徐々に減少していく。
状態ST4は、包装容器30の収容部33が超音波センサ15の位置を通過している状態を示しており、本発明の非接合部検出状態に対応する。この状態ST4では、包装容器30を構成するプラスチックフィルムが上下に位置し、その間に空間部が形成されている。そのために、状態ST4では、プラスチックフィルムと空気層の境界部が多くなり、超音波の強度が最も低くなる。状態ST5は、状態ST3と同様、接合部32cの内側端部(収容部33の境界部)が超音波センサ15の位置に到達した状態を示しており、本発明における接合部の内側端部検出状態に対応する。この場合、超音波による走査方向が状態ST3で示した場合とは逆になるため、超音波の強度は徐々に増加していく。
状態ST6は、状態ST2と同様、接合部32cの内側端部と外側端部の間に位置する中央部が超音波センサ15の位置を通過している状態を示しており、本発明における接合部の中央部検出状態に対応する。状態ST6では、状態ST2の場合とは、接合部32cの幅xの大きさが異なるだけで超音波の強度はほぼ同じになる。状態ST7は、状態ST1と同様、接合部32cの外側端部(縁部)が超音波センサ15の位置に到達した状態を示しており、本発明における接合部の外側端部検出状態に対応する。この場合、超音波による走査方向が状態ST1の場合とは逆になるため、超音波の強度は徐々に増加していく。この状態ST7の後に、包装容器30の接合部32cの外側端部は超音波センサ15の位置を通過して、次の包装容器30の接合部32a,32cの幅xの測定のための前述した状態ST0(本発明の未検出状態に対応)に戻る。
図3のステップS16の幅検出ルーチンは、図6AのステップS300にて開始され、CPU21は、ステップS302にて、サンプリング値の入力期間、すなわち図8を用いて説明した供給開始タイミングT1と供給終了タイミングT2との間の期間T1−T2であるかを判定する。この期間T1−T2の判定においては、CPU21がバースト信号の発生タイミングT0を決定する場合には、超音波が発信探触子15aから受信探触子15bに伝搬される予め定めた時間を発生タイミングT0に加算して供給開始タイミングT1を求める。そして、1回のバースト信号が発生される予め定めた時間を供給開始タイミングT1に加算して供給終了タイミングT2を求めて、現在のタイミングが両タイミングT1,T2間であるかを検出する。また、CPU21がバースト信号の発生タイミングT0を制御していなくて、エンコーダ18、制御装置20及び信号処理部24の協働により前記発生タイミングT0を決定している場合には、CPU21がこの発生タイミングT0を入力する。そして、前述のようにして供給開始タイミングT1と供給終了タイミングT2を求めて、現在のタイミングが両タイミングT1,T2間であるかを検出する。
現在のタイミングが前記期間T1−T2でなくて、サンプリング値の入力期間でなければ、CPU21は、ステップS302にて「No」と判定して、後述するステップS312〜S386の処理を実行して、ステップS388にてこの幅検出ルーチンの実行を終了する。そして、図3の幅測定プログラムの実行に戻り、ステップS18〜S32の処理後、ステップS34にて幅測定プログラムの実行を終了する。そして、この場合も、タイマ23からふたたびクロック信号がCPU21に入力されて図3の幅測定プログラムが実行されるごとに、CPU21は、図6A及び図6Bの幅検出ルーチンを実行する。したがって、サンプリング値の入力期間でなければ、CPU21は、この幅検出ルーチンにおいて、ステップS304〜S310の処理を実行せず、ステップS312〜S386の処理のみを実行する。
このようなステップS302にて「No」すなわちサンプリング値の入力期間でないと判定され続けている状態で、サンプリング値の入力期間になると、CPU21はステップS302にて「Yes」と判定して、ステップS304にて、信号処理部24から超音波信号のサンプリング値を入力して、入力したサンプリング値を蓄積する。前記ステップS304の処理後、CPU21は、ステップS306にて、サンプリング値の入力終了タイミングT2に到達したかを判定する。すなわち、現在のタイミングが、前述したサンプリング値の供給終了タイミングT2に到達したかを判定する。そして、サンプリング値の入力終了タイミングT2に到達しない状態では、CPU21はステップS306にて「No」と判定し続けて、前記ステップS304の処理により、サンプリング値を蓄積し続ける。
このようなサンプリング値の蓄積中、サンプリング値の入力終了タイミングT2に到達すると、CPU21は、ステップS306にて「Yes」と判定して、ステップS308に進む。ステップS308においては、超音波の強度を検出し、かつ超音波の強度データ群を更新する。超音波の強度の検出においては、前記蓄積した複数のサンプリング値を用いてサンプリング値のピーク値を検出することにより、超音波信号のピーク値を超音波の強度とする。また、超音波の強度データ群は、前記検出処理による超音波の強度と、過去の前記検出処理による過去の複数の超音波の強度からなるもので、記憶部22のRAMには、常に現在から過去に渡る所定数の超音波の強度データが超音波強度データ群として記憶されている。そして、このステップS308の処理が実行されるごとに、超音波の強度データ群は、最も古い超音波の強度が消去され、前記新たに検出された超音波の強度が現在の超音波の強度として更新記憶される。なお、この超音波の強度データ群は、制御装置20の作動開始時に全て大きな強度を表す値(状態ST0における超音波の強度に対応した値)に初期設定されている。
前記ステップS308の処理後、CPU21は、ステップS310にて前記蓄積したサンプリング値をクリアして、ステップS312にて包装容器30の状態変数STが状態ST0を表しているかを判定する。この状態変数STは状態ST0を表す値に初期設定されているので、最初、CPU21はステップS312にて「Yes」と判定して、ステップS314に進む。なお、以降の動作説明においては、包装容器30を図9に示すように無端ベルト13a,13b上に載置して移動させた場合について説明する。
ステップS314においては、CPU21は、図10に示す状態ST0から状態ST1への変化点X1を検出したかを判定する。この変化点X1の検出においては、前記ステップS308で更新した記憶部22のRAMに記憶され超音波の強度データ群が参照されて、超音波の強度が減少し始めたかを判定する。初期においては、包装容器30の接合部32aの外端部(縁部)は超音波センサ15に到達していないので、超音波の強度は大きな状態のままであり、CPU21は、ステップS314にて「No」すなわち変化点X1を検出しないと判定する。
そして、ステップS312にて「Yes」すなわち状態変数STは状態ST0を表していると判定するとともに、変化点X1が検出されるまで、CPU21はステップS314にて「No」と判定し続ける。この状態では、ステップS302〜S314,S384,S386の処理が繰り返し実行され続ける。一方、包装容器30の移動により、接合部32aの外端部が超音波センサ15の位置に到達すると、CPU21は、ステップS314にて「Yes」すなわち変化点X1を検出したと判定して、ステップS316,S318に進む。ステップS316においては、状態変数STを状態ST1を表す値に変更する。ステップS318においては、接合部32aの幅を検出するための時間カウント値TC3を「0」に初期設定する。
状態変数STが状態ST1を表す値に設定されると、次の幅検出ルーチンにおいては、CPU21は、ステップS312にて「No」すなわち状態変数STは状態ST0を表していないと判定して、ステップS320に進む。ステップS320においては、状態変数STが状態ST1を表しているかを判定する。この場合、前記ステップS316の処理により、状態変数STは状態ST1を表す値に設定されているので、CPU21は、ステップS320にて「Yes」と判定して、ステップS322に進む。ステップS322においては、時間カウント値TC3に「1」を加算することにより、時間カウント値TC3を「1」だけカウントアップする。次に、CPU21は、ステップS324にて、状態ST1から状態ST2への変化点X2を検出したかを判定する。この変化点X2の検出においては、前記ステップS308の処理によって更新された超音波の強度データ群を参照して、超音波の強度の減少が終了して、超音波の強度が一定になり始めたかを判定する。変化点X2が検出されなくて、ステップS324にて「No」と判定されると、CPU21は、ステップS384,S386の処理を経て、ステップS388にてこの幅検出ルーチンの実行を終了する。そして、変化点X2が検出されるまで、ステップS312にて「No」及びステップS320にて「Yes」と判定されて、ステップS322の処理により、時間カウント値TC3は所定の短時間Toごとに「1」ずつカウントアップされる。
そして、変化点X2が検出されると、CPU21は、ステップS324にて「Yes」と判定して、ステップS326にて状態変数STを状態ST2を表す値に変更する。次に、幅検出ルーチンが実行された際には、CPU21は、ステップS312,S320にて「No」とそれぞれ判定し、ステップS328に進む。ステップS328においては、状態変数STが状態ST2を表しているかを判定する。この場合、前記ステップS326の処理により、状態変数STは状態ST2を表す値に設定されているので、CPU21は、ステップS328にて「Yes」と判定して、ステップS330に進む。ステップS330においては、時間カウント値TC3に「1」を加算することにより、時間カウント値TC3を「1」だけカウントアップする。次に、CPU21は、ステップS332にて、状態ST2から状態ST3への変化点X3を検出したかを判定する。この変化点X3の検出においては、前記ステップS308の処理によって更新された超音波の強度データ群を参照して、超音波の強度が減少し始めたかを判定する。変化点X3が検出されなくて、ステップS332にて「No」と判定されると、CPU21は、ステップS384,S386の処理を経て、ステップS388にてこの幅検出ルーチンの実行を終了する。そして、変化点X3が検出されるまで、ステップS312,S320にて「No」及びステップS328にて「Yes」と判定されて、ステップS330の処理により、時間カウント値TC3は所定の短時間Toごとに「1」ずつカウントアップされる。
そして、変化点X3が検出されると、CPU21は、ステップS332にて「Yes」と判定して、ステップS334にて状態変数STを状態ST3を表す値に変更する。前記ステップS334の処理後、CPU21は、ステップS336にて、前記検出した包装容器30の搬送速度V及び時間カウント値TC3を用いて、包装容器30の接合部32aの斜め方向の幅c(図9参照)を下記数5の演算の実行により計算する。
この数5は、包装容器30の搬送速度Vに、変化点X1の検出から変化点X3の検出までの時間TC3・Toを乗算することにより、幅cを計算するための演算式である。なお、値Toは、前述のように、タイマ23からのクロック信号の周期であり、予め決められた定数である。
次に、CPU21は、ステップS338にて、前記計算した幅c及び傾き角度θを用いて、包装容器30の接合部32aの延設方向に直交する方向の幅x(接合部32aの本来の幅x)を下記数6の演算の実行により計算する。
前記ステップS338の処理後、CPU21は、ステップS340にて、測定フラグMFLGを“1”に設定し、ステップS384〜S388の処理を経て図3の幅測定プログラムに戻り、ステップS18の剥離検出ルーチンの実行後、ステップS20に進む。この測定フラグMFLGは、接合部32a,32b,32cの幅xの測定が終了したことを表すもので、初期には“0”に設定されている。
ここで、ステップS20の剥離検出ルーチンについて説明しておく。剥離検出ルーチンは、その詳細が図7に示されており、前述したステップS12〜S16の各ルーチンと同様に、タイマ23からのクロック信号がCPU21に入力されて図3の幅測定プログラムが実行されるごとに実行される。この剥離検出ルーチンは、図7のステップS400にて開始され、CPU21は、ステップS402にて、状態変数STが状態ST2又は状態ST6を表しているかを判定する。この状態ST2,ST6の判定処理を行う理由は、この剥離検出ルーチンが接合部32a,32b,32c内に剥離が生じているかを検出する処理であるために、状態ST0,ST4の判定処理は不要であるかである。また、状態ST1,ST3,ST5,ST7の期間は短くて、剥離の検出が難しいためである。
状態変数STが状態ST2又は状態ST6を表していれば、CPU21は、ステップS402にて「Yes」と判定して、ステップS402に進む。それ以外の場合には、CPU21は、ステップS402にて「No」と判定して、ステップS408にて剥離検出ルーチンの実行を終了する。ステップS404においては、前記図6AのステップS308にて更新された超音波の強度データ群を用いて、超音波の強度(ピーク値)が予め定めた所定値より小さいかを判定する。接合部32a,32b,32c内に剥離が生じている場合には、剥離位置では接合部32a,32b,32c内に空気を含む空間が形成されて、超音波が大きく減衰して、超音波の強度は極めて小さくなくなる。したがって、前記超音波の強度の大きさの判定により、接合部32a,32b,32c内の剥離が検出される。この場合、前記ステップS308にて検出された最新の1つの超音波の強度データだけを用いて剥離を検出するようにしてもよいが、検出精度の向上のために、最新の1つの超音波の強度データに加えてその前の1つ又は複数の超音波の強度データを用いて、超音波の強度が連続して所定値より小さいことを条件に剥離を検出するようにするとよい。
超音波の強度が小さくて剥離が検出された場合には、CPU21は、ステップS404にて「Yes」と判定し、ステップS406にて剥離の検出を表す異常フラグERRを“1”に設定して、ステップS408に剥離検出ルーチンの実行を終了する。この異常フラグERRも、制御装置20の作動開始時に“0”に初期設定されている。超音波の強度が大きくて剥離が検出されない場合には、CPU21は、ステップS404にて「No」と判定して、異常フラグERRを“0”に保ったまま、ステップS408に剥離検出ルーチンの実行を終了する。
ふたたび、図3の幅測定プログラムの説明に戻ると、前記ステップS18の処理後、CPU21は、ステップS20にて、測定フラグMFLGが“1”であるかを判定する。そして、測定フラグMFLGが“0”であれば、ステップS20にて「No」と判定して、ステップS34にて幅測定プログラムの実行を終了する。したがって、図3の幅測定プログラムにおいては、測定フラグMFLGがステップS16の幅検出ルーチンにおいて“1”に設定されるまでは、ステップS20にて「No」と判定され、ステップS34にて幅測定プログラムの実行が終了され続ける。この場合、測定フラグMFLGが“1”に設定されているので、CPU21は、ステップS20にて「Yes」と判定して、前記計算された幅xが予め定めた許容値以内であるかを判定する。幅xが許容値以内であれば、CPU21は、ステップS22にて「Yes」と判定して、ステップS24に進む。また、幅xが許容値以内でなければ、CPU21は、ステップS22にて「No」と判定して、ステップS28に進む。
ステップS24においては、CPU21は、異常フラグERRが“0”であるかを判定する。この場合、異常フラグERRが“0”であれば、CPU21は、ステップS24にて「Yes」と判定して、ステップS26に進む。また、異常フラグERRが“1”であれば、CPU21は、ステップS24にて「No」と判定して、ステップS28に進む。
ステップS26においては、CPU21は、表示装置28に包装容器30の接合部32aが合格である旨を表示する。ステップS28においては、CPU21は、表示装置28に包装容器30の接合部32aが不合格である旨を表示する。すなわち、前記計算された接合部32aの幅xが許容値以内であり、かつ接合部32aに剥離がなければ、表示装置28に接合部32aの合格が表示される。また、前記計算された接合部32aの幅xが許容値以内でなく、又は接合部32aに剥離があれば、表示装置28に接合部32aの不合格が表示される。
なお、本実施形態では、接合部32aの幅xが許容値以内でなく、又は接合部32aに剥離があるときに、接合部32aが不合格であることだけを表示するようにした。しかし、前記不合格の表示に加えて、不合格の理由が、接合部32aの幅xが許容値以内でないこと、及び接合部32aに剥離があることを表示するようにしてもよい。この場合、ステップS22で接合部32aの幅xが許容値以内でないと判定された場合にも、ステップS24と同様な判定処理を実行するようにする。この点に関しては、後述する接合部32b,32cの合格及び不合格の判定においても同様である。
前記ステップS26,S28の処理後、CPU21は、ステップS26にて測定フラグMFLGを“0”に戻し、ステップS32にて異常フラグERRを“0”に戻す。その後、CPU21は、ステップS34にて幅測定プログラムの実行を終了する。なお、前記測定フラグMFLGの“0”への変更により、次に測定フラグMFLGが“1”に設定されるまでは、ステップS22〜S32の処理は実行されない。
そして、次に幅測定プログラムにおけるステップS16の幅検出ルーチンが実行された際には、状態変数STは状態ST3を表す値に設定されているので、CPU21は、ステップS312,S320,S328にてそれぞれ「No」と判定して、ステップS342にて「Yes」と判定して、ステップS344に進む。ステップS344においては、CPU21は、状態ST3から状態ST4への変化点X4を検出したかを判定する。この変化点X4の検出においては、前記ステップS308の処理によって更新された超音波の強度データ群を参照して、超音波の強度の減少が終了して一定になり始めたかを判定する。変化点X4が検出されなくて、ステップS344にて「No」と判定されると、CPU21は、ステップS384,S386の処理を経て、ステップS388にてこの幅検出ルーチンの実行を終了する。そして、変化点X4が検出されるまで、ステップS312,S320,S328にて「No」と判定され、ステップS342にて「Yes」と判定され、かつステップS344にて「No」と判定され続ける。
そして、変化点X4が検出されると、CPU21は、ステップS344にて「Yes」と判定して、ステップS346にて状態変数STを状態ST4を表す値に変更する。次に、幅検出ルーチンが実行された際には、CPU21は、ステップS312,S320,S328,S342にて「No」とそれぞれ判定し、図6BのステップS348に進む。ステップS348においては、状態変数STが状態ST4を表しているかを判定する。この場合、前記ステップS346の処理により、状態変数STは状態ST4を表す値に設定されているので、CPU21は、ステップS348にて「Yes」と判定して、ステップS350に進む。ステップS350においては、CPU21は、状態ST4から状態ST5への変化点X5を検出したかを判定する。この変化点X5の検出においては、前記ステップS308の処理によって更新された超音波の強度データ群を参照して、超音波の強度が増加し始めたかを判定する。変化点X5が検出されなくて、ステップS350にて「No」と判定されると、CPU21は、ステップS384,S386の処理を経て、ステップS388にてこの幅検出ルーチンの実行を終了する。そして、変化点X5が検出されるまで、ステップS312,S320,S328,S342にて「No」と判定され、ステップS348にて「Yes」と判定され、かつステップS350にて「No」と判定され続ける。。
そして、変化点X5が検出されると、CPU21は、ステップS350にて「Yes」と判定して、ステップS352にて状態変数STを状態ST5を表す値に変更する。次に、幅検出ルーチンが実行された際には、CPU21は、ステップS312,S320,S328,S342,S348にて「No」とそれぞれ判定し、ステップS354に進む。ステップS354においては、状態変数STが状態ST5を表しているかを判定する。この場合、前記ステップS352の処理により、状態変数STは状態ST5を表す値に設定されているので、CPU21は、ステップS354にて「Yes」と判定して、ステップS356に進む。ステップS356においては、CPU21は、状態ST5から状態ST6への変化点X6を検出したかを判定する。この変化点X6の検出においては、前記ステップS308の処理によって更新された超音波の強度データ群を参照して、超音波の強度の増加が終了して一定になり始めたかを判定する。変化点X6が検出されなくて、ステップS356にて「No」と判定されると、CPU21は、ステップS384,S386の処理を経て、ステップS388にてこの幅検出ルーチンの実行を終了する。そして、変化点X6が検出されるまで、ステップS312,S320,S328,S342,S348にて「No」とそれぞれ判定され、ステップS354にて「Yes」と判定され、かつステップS356にて「No」と判定され続ける。
そして、変化点X6が検出されると、CPU21は、ステップS356にて「Yes」と判定して、ステップS358にて状態変数STを状態ST6を表す値に変更し、ステップS360にて時間カウント値TC3を「0」にクリアする。次に、幅検出ルーチンが実行された際には、CPU21は、ステップS312,S320,S328,S342,S348,S354にて「No」とそれぞれ判定し、ステップS362に進む。ステップS362においては、状態変数STが状態ST6を表しているかを判定する。この場合、前記ステップS358の処理により、状態変数STは状態ST6を表す値に設定されているので、CPU21は、ステップS362にて「Yes」と判定して、ステップS364に進む。ステップS364においては、時間カウント値TC3を「1」を加算することにより、時間カウント値TC3を「1」だけカウントアップする。次に、CPU21は、ステップS366にて、状態ST6から状態ST7への変化点X7を検出したかを判定する。この変化点X7の検出においては、前記ステップS308の処理によって更新された超音波の強度データ群を参照して、超音波の強度が増加し始めたかを判定する。変化点X7が検出されなくて、ステップS366にて「No」と判定されると、CPU21は、ステップS384,S386の処理を経て、ステップS388にてこの幅検出ルーチンの実行を終了する。そして、変化点X7が検出されるまで、ステップS312,S320,S328,S342,S348,S354にて「No」とそれぞれ判定され、ステップS362にて「Yes」と判定されて、ステップS364の処理により、時間カウント値TC3は所定の短時間Toごとに「1」ずつカウントアップされ、かつステップS366にて「No」と判定され続ける。
そして、変化点X7が検出されると、CPU21は、ステップS366にて「Yes」と判定して、ステップS368にて状態変数STを状態ST7を表す値に変更する。次に、幅検出ルーチンが実行された際には、CPU21は、ステップS312,S320,S328,S342,S348,S354,S362にて「No」とそれぞれ判定し、ステップS370に進む。ステップS370においては、状態変数STが状態ST7を表しているかを判定する。この場合、前記ステップS368の処理により、状態変数STは状態ST7を表す値に設定されているので、CPU21は、ステップS370にて「Yes」と判定して、ステップS372に進む。ステップS372においては、時間カウント値TC3に「1」を加算することにより、時間カウント値TC3を「1」だけカウントアップする。次に、CPU21は、ステップS374にて、状態ST7から状態ST8への変化点X8を検出したかを判定する。この変化点X8の検出においては、前記ステップS308の処理によって更新された超音波の強度データ群を参照して、超音波の強度の増加が終了して一定になり始めたかを判定する。変化点X8が検出されなくて、ステップS374にて「No」と判定されると、CPU21は、ステップS384,S386の処理を経て、ステップS388にてこの幅検出ルーチンの実行を終了する。そして、変化点X8が検出されるまで、ステップS312,S320,S328,S342,S348,S354,S362にて「No」とそれぞれ判定され、ステップS370にて「Yes」と判定されて、ステップS372の処理により、時間カウント値TC3は所定の短時間Toごとに「1」ずつカウントアップされ、ステップS374にて「No」と判定され続ける。
そして、変化点X8が検出されると、CPU21は、ステップS374にて「Yes」と判定して、ステップS376にて状態変数STを状態ST0を表す値に変更する。前記ステップS376の処理後、CPU21は、ステップS378にて、前記検出した包装容器30の搬送速度V及び時間カウント値TC3を用いて、包装容器30の接合部32cの斜め方向の幅c’(図9参照)を下記数7の演算の実行により計算する。
この数7は、包装容器30の搬送速度Vに、変化点X6の検出から変化点X8の検出までの時間TC3・Toを乗算することにより、幅c’を計算するための演算式である。なお、値Toは、前述のように、タイマ23からのクロック信号の周期であり、予め決められた定数である。
次に、CPU21は、ステップS372にて、前記計算した幅c’及び傾き角度θを用いて、包装容器30の接合部32cの延設方向に直交する方向の幅x(接合部32cの本来の幅x)を下記数8の演算の実行により計算する。
前記ステップS380の処理後、CPU21は、ステップS382にて、測定フラグMFLGを“1”に設定し、ステップS384,S386の処理を経て、ステップS388にて幅検出ルーチンの実行を終了する。この幅検出ルーチンの終了後、CPU21は、図3のステップS18の剥離検出ルーチンを実行する。なお、前述のように、ステップS18の剥離検出ルーチンは、幅測定プログラムの実行ごとに、すなわちステップS16の幅検出ルーチンの実行後に必ず実行されている。そして、このステップS18の剥離検出ルーチンにおいては、前述のように、図7のステップS402の判定処理により、状態変数STが状態ST2又は状態ST6を表しているときのみ、ステップS404の処理により接合部32a,32b,32cの剥離が検出される。そして、剥離が検出されたときのみ、ステップS404の処理により異常フラグERRが“1”に設定される。したがって、この場合、前記幅検出ルーチンの処理により、状態変数STが状態ST7を表す値に設定される前における、状態変数STが状態ST6を表しているときに、接合部32cの剥離が検出されていたことになる。この剥離の検出により、接合部32cに剥離があれば、異常フラグERRが“1”に設定され、それ以外の場合には異常フラグERRは“0”に保たれる。
そして、前述のように、幅検出ルーチンの図6BのステップS382にて測定フラグMFLGが“1”に設定された後に、図3のステップS20〜S32の処理が実行される。具体的には、ステップS20〜S28の処理においても、前述のように、接合部32cの幅xが所定値以内であるか否か、又は接合部32cに剥離があるか否かにより、接合部32cの合格及び不合格が判定されて、その結果が表示装置28に表示される。また、ステップS30,S32の処理により、測定フラグMFLG及び異常フラグERRが“0”に初期化される。
上記動作説明では、包装容器30の接合部32aを移動方向の前方側に位置させるとともに接合部32aの延設方向を移動方向とほぼ直交する方向にして包装容器30を無端ベルト13a,13b上に載置し、接合部32a及び接合部32cの幅xを順に測定するとともに評価するようにした。しかし、包装容器30の接合部32bの幅xを測定するとともに評価する場合には、包装容器30の接合部32bを移動方向の前方側に位置させるとともに接合部32bの延設方向を移動方向とほぼ直交する方向にして包装容器30を無端ベルト13a,13b上に載置する。
この場合には、図10においては、包装容器30は前述した状態ST0から状態ST4まで変化した後に、状態ST0に戻る。したがって、この場合には、幅測定プログラムのステップS16の幅検出ルーチンにおいては、前述したステップS302〜S340の処理により、包装容器30の接合部32bの幅xが測定される。また、幅測定プログラムのステップS18においては、前述したステップS402〜S406の処理により、接合部32bの剥離が検出される。そして、ステップS20〜S28の処理により、接合部32bの合格及び不合格が評価される。しかし、この場合には、包装容器30の収容部33が超音波センサ15の位置を通り過ぎた状態では、超音波の強度の状態は状態ST4から状態ST0に変化する。すなわち、ステップS308にて検出される超音波の強度は急激に大きな値となり、この大きな値が長時間に渡って持続するはずである。したがって、変化点X5は検出されることなく、ステップS350の処理後のステップS384において、超音波の強度が所定時間以上に渡って大きな値であることが検出される。このステップS384の判定においても、前記ステップS308の処理によって更新された超音波の強度データ群が参照される。したがって、この場合には、CPU21は、ステップS384にて「Yes」と判定して、ステップS386にて状態変数STを状態ST0を表す値に変更する。この状態変数STの変更により、ステップS354〜S382の処理は実行されず、次の包装容器30の接合部32bの幅xが順次測定されることになる。
上記説明からも理解できるとおち、搬送装置11で搬送される包装容器30の接合部32a,32b,32cの幅xが順次測定され、測定された幅xが許容値以内であるか否かが判定される。測定された幅xが正常であれば包装容器30は良品(合格)と判定され、測定された値が正常でなければ包装容器30は不良品(不合格)と判定される。また、接合部32a,32b,32cに剥離が存在するか否かも判定され、剥離が存在しなければ包装容器30は良品(合格)と判定され、剥離が存在すれば包装容器30は不良品(不合格)と判定される。なお、上記実施形態では、包装容器30の接合部32a,32b,32cの延設方向の1箇所の幅x及び剥離を検出するようにしたが、不良品の有無の検査に重点をおく場合には、接合部32a,32b,32cをその延設方向に所定距離ずつずらして、1つの包装容器30に対して、接合部32a,32b,32cの延設方向における複数個所の幅x及び剥離の有無を検出するようにしてもよい。
以上のように、上記実施形態に係る幅測定装置10では、発信探触子15aが発信し受信探触子15bが受信する超音波の強度により、包装容器30が超音波センサ15に到達していない状態、包装容器30の接合部32a,32b,32cが超音波センサ15に到達した状態、及び包装容器30の収容部33が超音波センサ15に到達した状態をそれぞれ検出するようにした。特に、超音波の強度の状態ST0〜ST7を検出するようにした。そして、これの状態ST0〜ST7の超音波の強度を用いて、接合部32a,32b,32cの幅xを検出するようにしたので、接合部32a,32b,32cの幅を正確に求めることができる。
また、上記実施形態においては、バースト信号発生器25から発生されるバースト信号で発信探触子15aを駆動するようにした。これにより、発信探触子15aは所定の時間間隔をおいて超音波を発信するので、発信探触子15aの振動が連続することなく間歇的になり、発信探触子15aの耐久性を向上させることができる。また、バースト信号発生器25は、エンコーダ18からのパルスの所定数ごとにバースト信号を出力するようにした。これにより、バースト信号の周期が、搬送装置11による包装容器30の移動速度に反比例し、搬送装置11による包装容器30の移動速度が速いときにはバースト信号の発生頻度が高くなり、前記移動速度が遅いときにはバースト信号の発生頻度が低くなる。したがって、ステップS16の幅検出ルーチンの実行により超音波の強度の変化に基づいて包装容器30の移動距離が検出される際、包装容器30の移動速度が変化しても、同じ数のバースト信号を用いて移動距離が検出されて、包装容器30の移動距離は同じ精度で検出されることなり、接合部32a,32b,32cの幅が常に的確な精度で検出されることになる。
さらに、本実施形態によれば、包装容器30を構成する材料は、超音波が透過できるものであればよいため、プラスチックシートの他、光が透過できないアルミニウムシートや紙などであってもよい。また、測定場所が暗い場所であっても測定に影響は生じない。
さらに、接合部32a,32b,32cの延設方向が包装容器30の搬送方向と直交しない状態で、包装容器30が無端ベルト13a,13b上に載せられて、接合部32a,32b,32cの幅方向が包装容器30の搬送方向に対して傾いていることもある。このような場合でも、ステップS14の傾き角度ルーチンの実行により傾き角度θが検出され、ステップS16の幅検出ルーチンの実行時に、検出された接合部32a,32b,32cの斜め方向の幅c,c’が前記傾き角度θを用いて補正されて、接合部32a,32b,32cの幅xが求められる。その結果、接合部32a,32cの幅xが高精度で検出される。
b.第2実施形態
次に、本発明に係る幅測定装置10の第2実施形態について説明する。上記第1実施形態では、包装容器30の搬送速度Vと、接合部32a,32b,32cの被測定部が超音波センサ15の位置を通過する時間TC3・Toとを検出し、搬送速度V及び前記時間TC3・Toを用いて、接合部32a,32b,32cの幅xを検出するようにした。しかし、第2実施形態に係る幅測定装置10は、包装容器30の搬送速度Vを検出することなく、接合部32a,32b,32cの幅xを直接的に検出する。また、この第2実施形態に係る幅測定装置10では、包装容器30に関する傾き角度θも、前記搬送速度Vを検出することなく直接的に検出される。
この第2実施形態に係る幅測定装置10も、図1及び図2に示した上記第1実施形態に係る幅測定装置10と同様に構成されている。ただし、この第2実施形態においては、記憶部22には、上記第1実施形態の幅測定プログラムとは異なる、図11に示した幅測定プログラムが記憶されている。そして、この場合も、CPU21は、タイマ23からのパルス信号の入力ごと、すなわち所定の短時間Toごとに、幅測定プログラムを実行する。なお、この幅測定プログラム及び後述する各ルーチンにおいては、上記第1実施形態と同じ処理を行うステップに関しては、上記第1実施形態と同じ符号を付して、その詳しい説明を省略する。
この幅測定プログラムの実行は図11のステップS10にて開始され、CPU21は、ステップS42〜S46の処理の実行により、エンコーダ18からの新たな入力パルスの検出時にパルスフラグNPFを“1”に設定する。この場合におけるステップS42,S44の処理は、前述した図4のステップS102,S104の処理に同様である。そして、新たな入力パルスの検出時には、ステップS46の処理により、新たな入力パルスの検出を表すパルスフラグNPFが“1”に設定される。なお、このパルスフラグNPFも、初期には“0”に設定されている。前記ステップS42〜S46の処理後、CPU21は、ステップS14’にて傾き検出ルーチンを実行し、ステップS16’にて幅検出ルーチンを実行し、ステップS18にて剥離検出ルーチンを実行した後に、ステップS48にてパルスフラグNPFを“0”に初期設定する。
ステップS14’の傾き角度検出ルーチンの詳細は図12に示されており、その実行が図12のステップS200にて開始される。この傾き角度検出ルーチンは、上記図5の傾き角度検出ルーチンに対してステップS240の判定処理を追加した点、図5のステップS208,S212,S214,S218の処理をステップS208’,S212’,S214’,S218’の処理に変更した点で、上述した図5の傾き角度検出ルーチンとは異なる。
この図12の傾き角度検出ルーチンにおいては、包装容器30のいずれか一方のエッジが検出されて、ステップS206にて「Yes」と判定されたとき、ステップS208’の処理により、パルス数PN1を“0”に初期設定する。このパルス数PN1は、エンコーダ18から新たな入力パルスの数をカウントするためのものである。そして、包装容器30のいずれか一方のエッジの検出によりエッジ検出フラグEFLGが“1”に設定されて、ステップS204にて「Yes」と判定されたとき、CPU21は、ステップS240,S212’の処理により、パルスフラグNPFが“1”であることを条件に、パルス数PN1を「1」ずつカウントアップする。すなわち、前記一方のエッジの検出後、パルス数PN1はエンコーダ18からの新たなパルスが入力されるごとにカウントアップされる。また、包装容器30の他方のエッジが検出されてステップS216にて「Yes」と判定されたとき、CPU21は、ステップS218’にて、パルス数PN1を用いた下記数9の演算の実行により、包装容器30のエッジセンサ16,17位置におけるずれ量を表す距離bを計算する。
この数9は、回転軸12aの1回転当たりの無端ベルト13a,13bの移動量(すなわち包装容器30の搬送距離)2π・roに、包装容器30がエッジセンサ16,17の一方のエッジセンサを通過してから他方のエッジセンサを通過するまでの回転軸12aの回転量(回転数)PN1/SNoを乗算することにより、距離bを計算する演算式である。なお、この場合も、上記第1実施形態の場合と同様に、値roは回転軸12aの半径であり、値SNoはエンコーダ18のスリット数であり、これらの値ro,SNoはいずれも予め決められた定数である。したがって、この傾き角度検出ルーチンにおいても、上記第1実施形態の場合と同様なステップS220の処理により、傾き角度θが計算される。
また、ステップS214’においては、CPU21は、パルス数PN1が所定値PNmax以上であるかを判定する。このステップS214’の判定処理は、上記第1実施形態のステップS214の判定処理と同様に、包装容器30が無端ベルト13a,13b上に的確に載置されていないか、幅測定装置10が正常に動作していない状態を判定する処理である。ただし、この場合には、回転軸12aの回転量(パルス数PN1に相当)が所定値PNmax以上であるかの判定処理が実行される。この場合も、所定値PNmaxは、一方のエッジが検出されてから他方のエッジが検出されるまでの時間としてあり得ない大きな値に予め設定されている。
このような図12の傾き角度検出ルーチンによっても、傾き角度θが検出されるとともに、包装容器30の無端ベルト13a,13b上への載置状態及び幅測定装置10の異常が検出される。他の処理については、上記第1実施形態の場合における図5の傾き角度検出ルーチンの処理と同じである。
ステップS16’の幅検出ルーチンの詳細は図13A及び図13Bに示されており、その実行が図13AのステップS300にて開始される。この幅検出ルーチンは、上記図6A及び図6Bの幅検出ルーチンに対してステップS392,S394,S396,S398の判定処理を追加した点、図6A及び図6BのステップS318,S322,S330,S360,S364,S372の処理をステップS318’,S322’,S330’,S360’,S364’,S372’の処理に変更するとともに、図6A及び図6BのステップS336,S378の処理をステップS336’,S378’の処理に変更した点で、上述した図6A及び図6Bの幅検出ルーチンとは異なる。
この図13A及び図13Bの幅検出ルーチンにおいては、変化点X1が検出されてステップS314,S356にて「Yes」とそれぞれ判定されて、ステップS316,S358の処理により状態変数STが状態ST1,ST6を表す値にそれぞれ設定されたとき、CPU21は、ステップS318’,S360’にてパルス数PN2を「0」にそれぞれ初期設定する。このパルス数PN2も、エンコーダ18から新たな入力パルスの数をカウントするためのものである。また、状態変数STが状態ST1,ST2,ST6,ST7のうちのいずれかの状態を表していて、ステップS320,S328,S362,S370にて「Yes」と判定されたとき、CPU21は、ステップS392、S394,S396,S398の判定処理及びステップS322’,S330’,S364’,S372’の処理により、パルスフラグNPFが“1”であることを条件に、パルス数PN2を「1」ずつカウントアップする。これにより、パルス数PN2を用いて、変化点X1の検出から変化点X3の検出までにエンコーダ18から入力されるパルスの数、及び変化点X6の検出から変化点X8の検出までにエンコーダ18から入力されるパルスの数がそれぞれ検出される。
また、変化点X3,X8が検出されてステップS332,S374にて「Yes」と判定されたとき、CPU21は、ステップS336’,S378’にて、パルス数PN2を用いた下記数10及び数11の演算の実行により、包装容器30の接合部32a,32b,32cの斜め方向の幅c,c’(図9参照)をそれぞれ計算する。
この数10,11は、回転軸12aの1回転当たりの無端ベルト13a,13bの移動量(すなわち包装容器30の搬送距離)2π・roに、変化点X1,X6がそれぞれ検出されてから変化点X3,X8がそれぞれ検出されるまでの回転軸12aの回転量(回転数)PN2/SNoを乗算することにより、幅c,c’をそれぞれ計算するための演算式である。なお、この場合も、上記第1実施形態の場合と同様に、値roは回転軸12aの半径であり、値SNoはエンコーダ18のスリット数であり、これらの値ro,SNoは予め定められた定数である。したがって、この幅検出ルーチンにおいても、上記第1実施形態の場合と同様に、ステップS338,S380の処理により、接合部32a,32b,32cの幅xが計算される。他の処理については、上記第1実施形態の場合における図13A及び図13Bの幅検出ルーチンの処理と同じである。
このようにして、この第2実施形態においては、包装容器30の搬送速度Vを検出することなく、エンコーダ18からのパルス列信号を用いて、接合部32a,32b,32cの幅xが直接的に計算される。なお、この第2実施形態においても、包装容器30の搬送速度(無端ベルト13a,13bの移動速度)が変化しても、すなわち回転軸12aの回転速度が変更されても、回転軸12aの回転速度の変化に応じてエンコーダ18からのパルス列信号におけるパルス間隔が変化するので、接合部32a,32b,32cの幅xは高精度で検出される。
さらに、この第2実施形態における図11のステップS18の剥離検出ルーチン及びステップS20〜S32の処理は、上記第1実施形態の場合と同じである。したがって、この第2実施形態においても、上述した第1実施形態と同様な効果が期待される。
なお、本発明に係る幅測定装置及び幅測定方法は、上記第1及び第2実施形態に限定されるものではなく、適宜変更して実施することが可能である。
図14は、上述した第1及び第2実施形態の変形例に係る幅測定装置に備わった搬送装置40で包装容器30を搬送する状態を示している。この搬送装置40は、搬送方向の上流側(後方)に配置された上流側搬送装置41と、搬送方向の下流側(前方)に配置された下流側搬送装置45で構成されている。上流側搬送装置41は、前後に間隔を保って平行に配置された一対の回転軸42(前方に位置する回転軸42しか図示せず)に幅広の無端ベルト43を掛け渡して本体が構成されており、前方に位置する回転軸42には駆動モータ44が連結されている。下流側搬送装置45は、上流側搬送装置41と同じ構成をしており、一対の回転軸46(後方に位置する回転軸46しか図示せず)と、無端ベルト47と、駆動モータ(図示せず)を備えている。
上流側搬送装置41の前端部と、下流側搬送装置45の後端部の間には、包装容器30が落下できない幅の隙間が設けられており、これによって、包装容器30は、上流側搬送装置41の後端から下流側搬送装置45の前端に向かって搬送される。この場合、前方に位置する回転軸42などは、同速度で回転するように制御され、包装容器30は、一定の速度で搬送される。また、上流側搬送装置41と、下流側搬送装置45の隙間に対応する部分には、前述した超音波センサ15及び一対のエッジセンサ16,17からなる角度検出センサと同様の超音波センサ及び角度検出センサが同様の配置で設置されている。さらに、前方に位置する回転軸42などには、それぞれエンコーダ(図示せず)が設けられている。
この変形例に係る幅測定装置のそれ以外の部分の構成は、上述した幅測定装置10と同一である。この変形例に係る幅測定装置においても上述した第1及び第2実施形態と同様の方法で、接合部32a,32cの幅の測定が行われる。この変形例に係る幅測定装置によると、搬送される包装容器30が落下することを確実に防止することができる。この幅測定装置のそれ以外の作用効果については、上述した第1及び第2実施形態に係る幅測定装置10の作用効果と同様である。
また、上記第1実施形態では、包装容器30の搬送速度Vを図3のステップS12(すなわち図4のステップS100〜S118)の搬送速度検出ルーチンの実行により検出した。そして、図5のステップS202〜S212,S216の処理により、包装容器30のエッジがエッジセンサ16,17のいずれか一方を通過してから他方を通過するまでの時間TC2・Toを検出し、前記検出した搬送速度Vと時間TC2・Toを用いて、ステップS218にて距離bを計算した。また、図6AのステップS314〜S332の処理により、変化点X1の検出から変化点X3の検出までの時間TC3・Toを検出し、前記検出した搬送速度Vと時間TC3・Toを用いて、ステップS336にて接合部32a,32bの斜め方向の幅cを計算した。また、図6BのステップS354〜S374の処理により、変化点X6の検出から変化点X8の検出までの時間TC3・Toを検出し、前記検出した搬送速度Vと時間TC3・Toを用いて、ステップS378にて接合部32cの斜め方向の幅c’を計算するようにした。
しかし、包装容器30の搬送速度(無端ベルト13a,13bの移動速度)を可変設定する場合でも、前記可変設定した包装容器30の搬送速度を用いれば、前記ステップS12(すなわち図4のステップS100〜S118)の搬送速度検出ルーチンの処理を省略できる。そして、この場合、前記ステップS218,S336,S378における距離b及び幅c,c’の計算において、前記検出した搬送速度Vに代えて、前記可変設定した包装容器30の搬送速度を用いればよい。また、包装容器30の搬送速度を可変設定することなく、常に一定にする場合、すなわち駆動モータ14の回転速度を常に一定にする場合にも、前記ステップS12(すなわち図4のステップS100〜S118)の搬送速度検出ルーチンの処理を省略できる。そして、この場合には、前記ステップS218,S336,S378における距離b及び幅c,c’の計算において、前記検出した搬送速度Vに代えて、予め決められた包装容器30の一定の搬送速度を用いればよい。
また、上記第2実施形態においては、図12のステップS218’における距離bの計算、図13AのステップS336’における接合部32a,32bの斜め方向の幅cの計算、及び図13BのステップS378’における接合部32cの斜め方向の幅c’の計算においては、駆動モータ14の回転角度(回転量)を表すエンコーダ18からのパルス数PN1,PN2を用いるようにした。しかし、これに代えて、無端ベルト13a,13bの移動距離を用いて、前記距離b及び幅c,c’を計算するようにしてもよい。この場合、無端ベルト13a,13bに移動方向に所定距離ずつ隔てて複数の孔、マークなどを設けるとともに、孔、マークなどを検出するセンサを設けておき、包装容器30のエッジがエッジセンサ16,17のいずれか一方を通過してから他方を通過するまでの孔、マークなどの数を検出して、この検出した数と前記所定距離を乗算して距離bを計算する。また、変化点X1の検出から変化点X3の検出までの孔、マークなどの数、及び変化点X6の検出から変化点X8の検出までの孔、マークなどの数をそれぞれ検出して、これらの検出した数と前記所定距離を乗算して幅c,c’をそれぞれ計算する。
また、上記第1及び第2実施形態においては、包装容器30の傾き角度θを図3のステップS14及び図11のステップS14‘(すなわち図5及び図12のステップS200〜S232)の傾き角度出ルーチンの実行により検出し、この検出した傾き角度θを用いて、図6A及び図13AのステップS338にて接合部32a,32bの斜め方向の幅cの補正して適切な幅xを計算し、かつ図6B及び図13BのステップS380にて接合部32cの斜め方向の幅c’を補正して適切な幅xを計算するようにした。しかし、包装装容30の接合部32a,32b,32cの幅方向が包装容器30の移動方向に常に一致するように包装容器30を無端ベルト13a,13b上に載置できれば、前記斜め方向の幅c,c’を補正して適切な幅xを計算する必要がなくなる。この場合、無端ベルト13a,13b上にマークを付したり、無端ベルト13a,13bに位置決め部材を設けたりして、包装容器30の接合部32a,32b,32cの幅方向が包装容器30の移動方向に常に一致するように、包装容器30が無端ベルト13a,13b上に常に載置されるようにするとよい。これによれば、エッジセンサ16,17及び角度検出センサ駆動源27を省略できるとともに、図3のステップS14及び図11のステップS14’の傾き角度出ルーチンの処理を省略できる。
また、上記第1実施形態、第2実施形態及びそれらの変形例においては、超音波センサ15を発信探触子15aと受信探触子15bからなる一組のもので構成しているが、これを複数組設けて配列させてもよい。これによると、広範囲の測定が可能になる。
また、上記第1実施形態、第2実施形態及びそれらの変形例においては、図3及び図11のステップS18の剥離検出ルーチン(図7のステップS400〜408)においては、状態変数STが状態ST2又は状態ST6を表しているときにのみ、接合部32a,32b,32c内の剥離の存在を検出するようにした。しかし、これに代えて、状態変数STが状態ST2又は状態ST6を表しているかの判定に代えて、状態変数STが状態ST1〜ST3,ST5〜ST7のいずれかの状態を表しているときに、接合部32a,32b,32c内の剥離の存在を検出するようにしてもよい。
また、上記第1実施形態、第2実施形態及びそれらの変形例においては、バースト信号発生器25によるバースト信号はエンコーダ18からのパルス列信号の所定数ごとにバースト信号に同期して発生されるようにした。そして、バースト信号の周期が搬送装置11,40による包装容器30の搬送速度(無端ベルト13a,13bの移動速度)が変化しても、包装容器30の移動距離が同じ精度で検出されるようにした。しかし、包装容器30の移動距離が同じ精度で検出されればよいので、バースト信号の発生タイミングをエンコーダ18からのパルス列信号の発生タイミングに必ず同期させる必要はない。すなわち、バースト信号の発生タイミングを、エンコーダ18からのパルス列信号の発生タイミングとは異なるタイミングで発生されるようにしてもよい。
また、エンコーダ18からのパルス列信号を用いることなく、バースト信号の発生周期が、設定された包装容器30の搬送速度(無端ベルトの移動速度)に反比例するように制御されるようにしてもよい。この場合、上記第1実施形態の図3のステップS12の搬送速度検出ルーチンによって検出された包装容器30の搬送速度V、又は操作部29によって設定された包装容器30の搬送速度(無端ベルトの移動速度)を用いて、CPU21が前記搬送速度に反比例した周期でバースト信号が発生されるように、バースト信号発生器25を制御するようにすればよい。
また、上記第1実施形態、第2実施形態及びそれらの変形例においては、図10の変化点X1から変化点X3までの無端ベルト13a,13bの移動距離(包装容器30の搬送距離)を接合部32a,32bの幅xとしてそれぞれ検出し、かつ変化点X6から変化点X8までの前記移動距離を、接合部32cの幅xとして検出するようにした。しかし、これに代えて、変化点X2から変化点X4までの前記移動距離、変化点X2から変化点X3までの前記移動距離、又は変化点X1から変化点X4までの前記移動距離を、接合部32a,32bの幅xとしてそれぞれ検出してもよい。また、変化点X5から変化点X7までの前記移動距離、変化点X6から変化点X7までの前記移動距離、又は変化点X5から変化点X8までの前記移動距離を、接合部32cの幅xとして検出してもよい。さらに、変化点X1,X2の中間点から変化点X3,X4の中間点までの前記移動距離を接合部32a,32bの幅xとしてそれぞれ検出し、又は変化点X5,X6の中間点から変化点X7,X8の中間点までの前記移動距離を接合部32cの幅xとして検出してもよい。これらの場合には、図6A及び図6Bの時間カウント値TC3及び図13A及び図13Bのパルス数PN2のカウント期間を前記変化点の変更に応じて変更すればよい。
また、上記第1実施形態、第2実施形態及びそれらの変形例においては、被測定部を包装容器30の接合部32a,32b,32cとしているが、包装容器が、複数の材料で構成されたものであり、その一部の材料で形成された部分を被測定部とすることもできる。この場合は、超音波が透過する各材料の透過率の差による超音波の強度の変化に基づいて、被測定部の端部を検出する。そして、上記第1実施形態、第2実施形態及びそれらの各種変形例と同様に、被測定部の幅を、被測定部の一端が超音波センサ15を通過してから被測定部の他端が超音波センサ15を通過するまでの包装容器30の搬送距離(無端ベルト13a,13bの移動距離)を被測定部の幅として検出するようにすればよい。