図1は、本開示の第1実施形態による計量装置10の概略構成を示す模式図である。本実施形態では、計量装置10は、定量計量方式の計量装置(充填用はかりとも称される)であり、梱包装置(図示省略)の前工程に設置されている。計量装置10は、計量装置10へ供給される被計量物を一定の重量ごとに分割して、梱包装置へ排出する。被計量物は、本実施形態では穀物(例えば、米)であるが、被計量物の種類は特に限定されるものではない。
図1に示すように、計量装置10は、供給装置20と、計量槽30と、ロードセル40と、排出ゲート50と、コントローラ60と、を備えている。供給装置20は、供給ライン(図示せず)から被計量物(以下、穀物とも呼ぶ)を受け入れて、計量槽30に供給する。供給装置20は、計量槽30への供給流量を3段階(それぞれ、大供給モード、中供給モードおよび小供給モードと呼ぶ)に変更可能に構成されている。
具体的には、供給装置20は、ホッパと、ゲートと、電磁フィーダ(振動フィーダ)と、を備えている。ゲートは、アクチュエータ(例えば、エアシリンダ)によって開閉可能に構成されており、ホッパと計量槽30との連通状態を開閉する。大供給モードおよび中供給モードは、ゲートの開度を調整することによって実現される。より詳細には、大供給モード時は、ゲートの開度が相対的に大きく設定され、ホッパから計量槽30へ相対的に大きな流量の穀物が供給される。中供給モード時は、ゲートの開度が相対的に小さく設定され、ホッパから計量槽30へ中程度の流量の穀物が供給される。小供給モードは、ゲートが完全に閉じられた状態で、電磁フィーダによって実現される。電磁フィーダは、中供給モードよりも少ない流量の穀物を、ホッパから計量槽30へ供給する。
計量槽30は、ロードセル40によって支持されている。計量槽30の下端には、排出口31が形成されている。ロードセル40は、計量槽30内に一時的に貯留された穀物の重量を検出する。換言すれば、ロードセル40は、計量槽30内の穀物の重量を表す電気信号(以下、重量信号と呼ぶ)を出力する。排出ゲート50は、アクチュエータ(例えば、エアシリンダ)によって排出口31を開閉可能に構成されている。
コントローラ60は、計量装置10の動作全般を制御する。コントローラ60はメモリとCPUとを備えており、コントローラ60の機能は、メモリに記憶された所定のプログラムをCPUが実行することによって実現される。コントローラ60は、極値検出部61、取得部62および信号生成部63としても機能する。これらの詳細については後述する。
コントローラ60は、以下のようにして、計量装置10の動作を制御する。まず、コントローラ60は、排出ゲート50を閉じた状態で、供給装置20に制御信号を送り、大供給モードで穀物を供給装置20から計量槽30に供給させる。大供給モードは、計量槽30内の穀物の重量が第1の閾値に達するまで継続される。計量槽30内の穀物の重量が第1の閾値に達すると、次いで、コントローラ60は、供給装置20の供給モードを、大供給モードから中供給モードへ切り替える。中供給モードは、計量槽30内の穀物の重量が第2の閾値に達するまで継続される。計量槽30内の穀物の重量が第2の閾値に達すると、次いで、コントローラ60は、供給装置20の供給モードを、中供給モードから小供給モードへ切り替える。計量槽30内の穀物の重量は、ロードセル40からコントローラ60へ入力される重量信号に基づいて判断される。
そして、計量槽30内の穀物の重量が第3の閾値に達すると、コントローラ60は、供給装置20に制御信号を送り、供給装置20から計量槽30への穀物の供給を停止する。第3の閾値は、目標重量(供給停止後に計量槽30内に貯留されるべき穀物の重量)よりも僅かに小さい値に設定される。具体的には、第3の閾値は、目標重量と第3の閾値との差分が、計量槽30内の穀物の重量が第3の閾値に達した後に計量槽30内へ入る穀物(例えば、重量が第3の閾値に達した瞬間に計量槽30へ向けて落下中である穀物)の重量に相当するように設定される。第3の閾値は、実験的に予め設定されていてもよいし、被計量物の種類や小供給モードにおける供給速度に応じて動的に設定されてもよい。供給停止の後、コントローラ60は、アクチュエータに制御信号を送り、排出ゲート50を開ける。これによって、目標重量の穀物が梱包装置へ排出される。梱包装置では、目標重量の穀物が、袋、缶、箱などの容器に充填される。本実施形態では、目標重量は、第3の閾値を変更することによって、被計量物の種類や、梱包装置で使用される容器の大きさなどに応じて、可変に設定され得る。また、各供給モードでの供給流量や、各供給モードの切換えのタイミングは、目標重量の設定値に応じて変更され得る。
上記のように供給装置20から計量槽30への供給フェーズを3段階に分けることによって、目標重量に達するまでの時間を短縮化できるとともに、目標重量での供給停止を正確に実施することができる。なお、大供給から中供給への切り替えのタイミング、および、中供給から小供給への切り替えのタイミングのうちの、少なくとも一方は、計量槽30内の穀物の重量に基づいて判断される代わりに、供給装置20から計量槽30への供給継続時間によって判断されてもよい。
このような計量装置10では、供給装置20から計量槽30へ穀物を供給する際の穀物の衝突によって計量装置10が振動する。この振動(以下、主振動とも呼ぶ)は、ロードセル40によって出力される重量信号にノイズ(以下、主振動ノイズとも呼ぶ)として重畳する。主振動は、計量装置10の固有振動である。また、計量装置10の設置環境によっては、計量装置10の周辺に設置された他の装置に起因する振動(以下、外部振動とも呼ぶ)も重量信号にノイズ(以下、外部ノイズとも呼ぶ)として重畳する。さらに、重量信号には、電子機器の高周波ノイズも重畳する。高周波ノイズには、伝導ノイズと放射ノイズとが含まれる。
計量装置10は、このような各種ノイズが重量信号に重畳しても、穀物の重量を精度良く決定する機能を有している。以下、当該機能について詳細に説明する。本実施形態では、この機能は、回帰方程式更新処理と、重量決定処理と、によって実現される。図2は、回帰方程式更新処理の流れの一例を示すフローチャートである。図3は、重量決定処理の流れの一例を示すフローチャートである。
まず、回帰方程式更新処理について以下に説明する。回帰方程式更新処理とは、重量決定処理で使用される回帰方程式を取得または更新するための処理である。この回帰方程式更新処理は、供給装置20から計量槽30への穀物の供給中に、重量信号のサンプリング周期ごとに繰り返し実行される。サンプリング周期は、目標重量に関して求められる精度に応じて適宜、設定され得る。本実施形態では、サンプリング周期は1msである。図2に示すように、回帰方程式更新処理が開始されると、コントローラ60は、重量信号をサンプリングして、サンプリング値をメモリに追加する(ステップS110)。
次いで、コントローラ60は、極値検出部61の処理として、極値検出処理を実行する(ステップS120)。この処理は、重量信号が表す波形の極値を検出する処理である。本実施形態では、極値として、極大値および極小値の両方が検出される。ここでの極値とは、重量信号が表す波形のうちの、最も大きな振幅を有する振動成分の波(つまり、主振動ノイズの波)に関する極値であり、その他の振動成分の波(つまり、外部振動ノイズおよび高周波ノイズの波)に関する極値は含まれない。
この極値検出処理について、図4を参照して説明する。この処理では、コントローラ60は、まず、ノイズが重畳した重量信号71に関して現在から過去に遡る所定期間(以下、第1の所定期間とも呼ぶ)で取得された複数のサンプリング値に基づいて第2の回帰直線を取得する。換言すれば、ステップS110で追加されたサンプリング値を最新とする過去の所定個数のサンプリング値に基づいて、第2の回帰直線が取得される。上述の通り、回帰方程式更新処理(ひいては、極値検出処理)は、サンプリング周期ごとに繰り返し実行されるので、第1の所定期間は、回帰方程式更新処理(極値検出処理)が実行される度に1msずつシフトされる。そして、第2の回帰直線もサンプリング周期ごとに得られることになる。
図4では、第1の所定期間の変遷を期間TE1,TE2,TE3,TEm,TEnとして例示している。「TE」の後に付された1,2,3,m,nは、何回目の回帰方程式更新処理(極値検出処理)のための第1の所定期間であるかをそれぞれ示している。第1の所定期間は、重量信号に重畳し得る外部振動ノイズ(典型的には、50または60Hz)および高周波ノイズ(典型的には、500〜1000Hz)の周期よりも長い期間で設定される。また、第1の所定期間は、計量装置10の固有振動の周期の1/2よりも短く設定される。計量装置10の固有振動の周期は、典型的には、50〜200ms(周波数は、20〜5Hz)である。本実施形態では、第1の所定期間は40msである。このため、第2の回帰直線の取得の基礎となるサンプリング値の数は40個である。
回帰方程式更新処理(極値検出処理)が実行される度にこのようにして取得される第2の回帰直線の傾きは、第1の所定期間の変遷につれて徐々に変化していく。図4では、期間TE1に対応する第2の回帰直線721と、期間TEmに対応する第2の回帰直線722と、期間TEnに対応する第2の回帰直線723と、を例示している。図4の例では、期間TE1に対応する第2の回帰直線721の傾きの符号は負である。そして、第1の所定期間が、期間TE1,TE2,TE3と進むにつれて、第2の回帰直線の傾きは、第2の回帰直線721の傾きから徐々に大きくなっていく(つまり、負の値の絶対値がより大きくなっていく)。そして、さらに第1の所定期間が進むと、第2の回帰直線の傾きは、ある時点から減少に転じる(つまり、負の値の絶対値がより小さくなっていく)。このことは、第2の回帰直線721および第2の回帰直線722の傾きから明らかである。そして、さらに第1の所定期間が進むと、第2の回帰直線の傾きは、ある時点でゼロになる。図4の例では、期間TEnに対応して、傾きがゼロの第2の回帰直線723が取得される。図示は省略するが、さらに第1の所定期間が進むと、第2の回帰直線の傾きの符号は正になり、第2の回帰直線の傾きは、徐々に増加し、その後、徐々に減少してゼロになる。第2の回帰直線の傾きは、主振動の波形に起因して、このような増減を繰り返すことになる。
上述の通り、第1の所定期間は、計量装置10の固有振動(つまり、主振動ノイズ)の周期の1/2よりも短く設定される。つまり、一つの第1の所定期間で取得される複数のサンプリング値には、極大値および極小値の一方が含まれることはあるが、両方が含まれることは基本的にはない。このため、重量信号71が表す波形が理想的な正弦波である場合、第2の回帰直線の傾きの値が負の値からゼロへ変化したとき、その第2の回帰直線に対応する第1の所定期間の中央に対応するサンプリング値は、重量信号71の極小値である。
本実施形態では、コントローラ60は、この点を利用して、第2の回帰直線の傾きの符号が負から正へ変化したとき、または、第2の回帰直線の傾きの値が負の値からゼロへ変化したときの第2の回帰直線に対応する複数のサンプリング値のうちの、当該第2の回帰直線に対応する第1の所定期間の中央に対応するサンプリング値を、重量信号71の極小値として決定する。実行中のステップS120の直前で実行されたステップS120において取得された第2の回帰直線の傾きの符号が負であり(条件1と呼ぶ)、かつ、実行中のステップS120において取得された第2の回帰直線の傾きの値がゼロであるか、または、当該第2の回帰直線の傾きの符号が正である(条件2と呼ぶ)場合には、極小値が検出されるが、その他の場合(つまり、条件1,2の少なくとも一方が満たされない場合)には、極小値は検出されない。図4の例では、傾きの値がゼロの第2の回帰直線723に対応する期間TEn(これは、時点T1から時点T3までの期間である)の中央(つまり、時点T2)に対応するサンプリング値が極小値73として決定される。
同様に、重量信号71が表す波形が理想的な正弦波である場合、第2の回帰直線の傾きの値が正の値からゼロへ変化したとき、その第2の回帰直線に対応する第1の所定期間の中央に対応するサンプリング値は、重量信号71の極大値である。このため、コントローラ60は、第2の回帰直線の傾きの符号が正から負へ変化したとき、または、第2の回帰直線の傾きの値が正の値からゼロへ変化したときの第2の回帰直線に対応する複数のサンプリング値のうちの、当該第2の回帰直線に対応する第1の所定期間の中央の時点で得られたサンプリング値を極大値として決定する(図示は省略)。実行中のステップS120の直前で実行されたステップS120において取得された第2の回帰直線の傾きの符号が正であり(条件3と呼ぶ)、かつ、実行中のステップS120において取得された第2の回帰直線の傾きの値がゼロであるか、または、当該第2の回帰直線の傾きの符号が負である(条件4と呼ぶ)場合には、極大値が検出されるが、その他の場合(つまり、条件3,4の少なくとも一方が満たされない場合)には、極大値は検出されない。
代替実施形態では、コントローラ60は、条件1,2の両方を満たしたときの第2の回帰直線に対応する複数のサンプリング値の少なくとも一部に基づいて極小値を決定するように構成されてもよい。同様に、コントローラ60は、条件3,4の両方を満たしたときの第2の回帰直線に対応する複数のサンプリング値の少なくとも一部に基づいて極大値を決定するように構成されてもよい。例えば、第1の所定期間の中央の時点で得られたサンプリング値と、その直前および直後で得られたサンプリング値と、に基づいて(つまり、三つのサンプリング値に基づいて)、極小値および極大値が決定されてもよい。この場合、極値をEV、三つのサンプリング値をS1,S2,S3と定義すると、極値は、次式(1)によって求められてもよい。a,b,cは、重み付け係数であり、実験的に設定されてもよい。
EV=(aS1+bS2+cS3)/3 ・・・(1)
上述した極値の決定手法は一例に過ぎず、上述の手法に代えて、他の任意の手法を採用可能である。例えば、条件1〜4の判断に用いるための第2の回帰直線の傾きの符号は、時間経過に伴う傾きの推移において、同一の符号が所定回数続いたときにのみ、正または負に確定されてもよい。こうすれば、ノイズの影響による誤判定を抑制できる。あるいは、条件1,2の両方を満たしたときの第2の回帰直線に対応する複数のサンプリング値のうちの最小値が、極小値として決定されてもよいし、条件3,4の両方を満たしたときの第2の回帰直線に対応する複数のサンプリング値のうちの最大値が、極大値として決定されてもよい。
このようにして極値検出処理を行うと、次いで、コントローラ60は、図2に示すように、ステップS120において極値(すなわち、極小値または極大値)が検出されたか否かを判断する(ステップS130)。判断の結果、極値が検出されていなければ(ステップS130:NO)、コントローラ60は回帰方程式更新処理を終了する。なお、図示は省略しているが、ステップS120で検出された極値が、初めて検出された極大値である場合、または、初めて検出された極小値である場合にも、コントローラ60は回帰方程式更新処理を終了する。
一方、極値が検出されていれば(ステップS130:YES)、より正確には、2つ目以降の極大値、または、2つ目以降の極小値がステップS120で検出されていれば、コントローラ60は、極小値間データまたは極大値間データに最小二乗法を適用して、第1の回帰直線を取得する(ステップS140)。この処理は、取得部62の処理として実行される。ステップS120において極小値が検出されていれば、ステップS140では、極小値間データに最小二乗法が適用される。一方、ステップS120において極大値が検出されていれば、ステップS140では、極大値間データに最小二乗法が適用される。
極小値間データとは、1つの極小値(以下、第1の極小値と呼ぶ)から、第1の極小値よりも後に発生した他の極小値(以下、第2の極小値と呼ぶ)までの間をサンプリングしたデータ(換言すれば、サンプリング値群)である。極大値間データとは、1つの極大値(以下、第1の極大値と呼ぶ)から、第1の極大値よりも後に発生した他の極大値(以下、第2の極大値と呼ぶ)までの間でサンプリングしたデータ(換言すれば、サンプリング値群)である。
本実施形態では、第2の極小値および第2の極大値は、それぞれ、最も直近に取得された極小値および極大値である。また、本実施形態では、第1の極小値と第2の極小値とは、互いに隣接する極小値である。つまり、第1の極小値と第2の極小値との間に、それら以外の極小値は含まれていない。換言すれば、極小値間データは、主振動の1周期分のデータである。同様に、第1の極大値と第2の極大値とは、互いに隣接する極大値である。つまり、第1の極大値と第2の極大値との間に、それら以外の極大値は含まれていない。換言すれば、極大値間データは、主振動の1周期分のデータである。
図5では、重量信号71のうちの、第1の極大値741を始点とし、第2の極大値742を終点とする極大値間データに最小二乗法を適用することによって得られた第1の回帰直線75を示している。第1の回帰直線75は、重量信号71の波形の振幅の略中央に位置しており、最小二乗法によって振動成分が除去された重量値(すなわち、予測真値)を表している。図示は省略するが、極小値間データに最小二乗法を適用する場合にも、同様にして、穀物の重量についての予測真値を表す第1の回帰直線が得られる。
次いで、コントローラ60は、図2に示すように、取得部62の処理として、第1の回帰直線に基づいて、穀物の重量についての予測真値を取得する(ステップS150)。本実施形態では、ステップS140において極小値間データに最小二乗法が適用される場合には、コントローラ60は、第2の極小値(つまり、最新の極小値)が発生した時点における、第1の回帰直線上の点の重量値を予測真値として取得する。同様に、ステップS140において極大値間データに最小二乗法が適用される場合には、コントローラ60は、第2の極大値(つまり、最新の極大値)が発生した時点における、第1の回帰直線上の点の重量値を予測真値として取得する。つまり、本実施形態では、コントローラ60は、第1の回帰直線が表す予測真値のうちの、最新の極値が発生した時点の予測真値を取得する。こうして取得される予測真値を基準予測真値とも呼ぶ。図5では、第1の回帰直線75に基づいて取得される基準予測真値76を示している。基準予測真値76は、第2の極大値742が取得された時点T4における、第1の回帰直線75上の点の重量値である。こうして取得された基準予測値は、メモリに保存される。
図6では、極小値731から極小値732までの極小値間データに基づいて取得された基準予測真値761、極大値741から極大値742までの極大値間データに基づいて取得された基準予測真値762、極小値732から極小値733までの極小値間データに基づいて取得された基準予測真値763、極大値742から極大値743までの極大値間データに基づいて取得された基準予測真値764、極小値733から極小値734までの極小値間データに基づいて取得された基準予測真値765、極大値743から極大値744までの極大値間データに基づいて取得された基準予測真値766、および、極小値734から極小値735までの極小値間データに基づいて取得された基準予測真値767を示している。このように、基準予測真値は、2つ目以降の極小値、または、2つ目以降の極大値が検出される度に追加されていく。
このようにして基準予測真値を取得すると、次いで、コントローラ60は、図2に示すように、過去に取得された基準予測真値の個数が所定数N以上であるか否かを判断する(ステップS160)。本実施形態では、所定数Nは5である。判断の結果、基準予測真値の数がN個未満であれば(ステップS160:NO)、コントローラ60は、回帰方程式更新処理を終了する。
一方、基準予測真値の数がN個以上であれば(ステップS160:YES)、コントローラ60は、取得部62の処理として、最新のN個の基準予測真値に基づいて回帰方程式を取得する(ステップS170)。取得された回帰方程式は、メモリに保存される。以前に実行された回帰方程式更新処理において取得された回帰方程式がメモリに既に保存されている場合には、ステップS170では、保存されていた回帰方程式が、新たに取得された回帰方程式に更新される。本実施形態では、回帰方程式は、最小二乗法によって求められる。ただし、他の任意の近似手法が使用されてもよい。
また、本実施形態では、回帰方程式は一次式(つまり、回帰直線)の形態で取得される。ただし、回帰方程式は、二次曲線など、より高次の回帰曲線の形態で取得されてもよい。図6では、直近に取得された5個の基準予測真値763,764,765,766,767に基づいて取得される回帰方程式77を示している。このようにして回帰方程式が取得または更新されると、回帰方程式更新処理は終了となる。
次いで、重量決定処理について以下に説明する。重量決定処理とは、回帰方程式更新処理によって取得または更新された回帰方程式に基づいて、穀物の現在の重量(換言すれば、予測真値)を決定する処理である。つまり、重量決定処理とは、穀物の重量をリアルタイムで決定する処理である。重量決定処理は、取得部62の処理として、コントローラ60によってサンプリング周期ごと(つまり、1msごと)に繰り返し実行される。
図3に示すように、重量決定処理が開始されると、コントローラ60は、メモリに回帰方程式が保存されているか否かを判断する(ステップS210)。判断の結果、回帰方程式が保存されていなければ(ステップS210:NO)、コントローラ60は重量決定処理を終了する。つまり、回帰方程式更新処理によって回帰方程式が初めて取得されるまでは、コントローラ60は、穀物の重量を決定しない。
一方、回帰方程式が保存されていれば(ステップS210:YES)、コントローラ60は、回帰方程式から現時点の予測真値(以下、現在予測真値と呼ぶ)を算出し、その値を穀物の現時点の重量として決定する(ステップS220)。具体的には、コントローラ60は、現時点における、回帰方程式が表すグラフ上の点の重量値を、現在予測真値として取得する。図6では、現時点T5における、回帰方程式77が表すグラフ上の点の重量値が、現在予測真値78として取得されることを示している。
このようにして、コントローラ60は、サンプリング周期(本実施形態では1ms)ごとに穀物の現時点の重量を決定する。このようにして決定される現時点の重量は、上述した大供給モード、中供給モードおよび小供給モード間での供給モードの切り替えの判断に使用される。本実施形態では、上述した回帰方程式更新処理においてメモリに記憶された極値、基準予測真値および回帰方程式は、供給モードが切り替えられる度に消去される。このため、供給モードの切り替えに起因して生じ得る供給速度(つまり、重量の変化率)の変化や振動特性の変化の影響を受けることなく、穀物の現在の重量を正確に決定することができる。また、コントローラ60は、上述のようにして決定された現時点の重量が上述の第3の閾値に達すると、コントローラ60は、信号生成部63の処理として、供給装置20から計量槽30への穀物の供給を停止させるための停止信号を生成し、供給装置20に送信する。これを受けて、供給装置20は、計量槽30への穀物の供給を停止する。
上述した計量装置10によれば、極小値間データに最小二乗法を適用してノイズを除去するので、正確な予測真値を取得することができる。同様に、計量装置10によれば、極大値間データに最小二乗法を適用してノイズを除去するので、重量についての正確な予測真値を取得することができる。
この点について、図7および図8を参照して詳しく説明する。図7および図8では、理想的な正弦波の波形を有するノイズが重畳した重量信号81を示している。ここでは、重量の真値は一定であるものとして示している。図7に示す比較例では、重量信号81の1周期分のサンプリング値(波形上の点で示す)に最小二乗法を適用して得られる回帰直線87を示している。この回帰直線87は、負の傾きを有しており、傾きがゼロの重量の真値88とは、大きく異なっている。一方、図8では、図7とは位相が異なる1周期分のサンプリング値(波形上の点で示す)を示している。より具体的には、重量信号81の極大値間データから得られるサンプリング値を示している。この例では、最小二乗法を適用して得られる回帰直線880は、傾きがゼロであり、重量の真値と一致する。つまり、最小二乗によるノイズ除去の精度は、サンプリング期間をどのように設定するかによって大きく変わるのである。本実施形態によれば、極大値間データから得られるサンプリング値に最小二乗法を適用しているので、図8と同様に、正確な予測真値が得られることになる。この点は、極小値間データに最小二乗法を適用する場合も同様である。
さらに、計量装置10によれば、計量装置10の運転時の実振動から検出された極小値間データおよび極大値間データに最小二乗法が適用されるので、固定的な振動周期を想定して設計される移動平均フィルタとは対照的に、様々な要因によって振動の特性に変動が生じても、その変動に対応可能である。さらに、計量装置10によれば、主振動よりも高周波の振動成分が重量信号に重畳しても、当該振動成分も除去することができる。
さらに、計量装置10によれば、現在の予測真値を求めるための演算量が少ないので、サンプリング周期ごとにリアルタイムで(つまり、遅延なしに)穀物の現在の重量を正確に計測することが可能である。その結果、供給装置20の供給停止のタイミングを精度良く決定することができる。換言すれば、目標重量に対する穀物の実際の重量の誤差を小さくできる。
さらに、計量装置10によれば、極小値間データに基づいて基準予測真値を取得するとともに、極大値間データに基づいて基準予測真値を取得する。このため、極小値間データおよび極大値間データの一方に基づいて基準予測真値を取得する場合と比べて、回帰方程式の算出の基礎となる基準予測真値を取得できる時間間隔が短くなる。このため、回帰方程式をより精度良く算出できる。また、回帰方程式を取得する基礎となるN個の基準予測真値をより短い期間で取得できる。このことは、小供給モードでの供給が開始されてから現在予測真値が最初に取得されるまでに必要な時間が短くなることを意味している。このため、小供給モードでの運転時間をより短く設定し、中供給モードでの運転時間をより長く設定することが可能になる。これにより、供給装置20から計量槽30への穀物の供給時間が短くなり、ひいては、計量の高速化が可能となる。
図9は、本開示の第2実施形態による計量装置310の概略構成を示す模式図である。本実施形態では、計量装置310は、不定量計量方式の計量装置(より具体的には、ホッパースケール)であり、被計量物の供給が停止された後に計量を行うように構成される。以下、計量装置310について、第1実施形態と異なる点についてのみ説明する。図9に示すように、計量装置310は、供給装置20、計量槽30およびコントローラ60に代えて、供給ゲート320、計量槽300およびコントローラ360を備えている。計量槽300は供給口332を備えており、供給ゲート320は、アクチュエータ(例えば、エアシリンダ)によって供給口332を開閉可能に構成されている。コントローラ360は、信号生成部63に代えて、重量決定部363として機能する。
コントローラ360は、以下のようにして、計量装置10の動作を制御する。まず、コントローラ360は、排出ゲート50を閉じた状態で、供給ゲート320を開ける。これにより、供給ライン(図示せず)から穀物が計量槽300へ供給される。次いで、コントローラ360は、供給ゲート320を閉じて、ロードセル40から出力される重量信号に基づいて、計量槽300内の穀物の重量を決定する。その後、コントローラ360は、排出ゲート50を開けて、穀物を排出する。
このような計量装置310では、上述した各種ノイズが重量信号に重畳しても、穀物の重量を早期に(つまり、主振動成分が収束する前に)精度良く決定する機能を有している。そのような機能を実現する重量決定処理について以下に説明する。
図10は重量決定処理の流れの一例を示すフローチャートである。この重量決定処理は、供給ゲート320が閉じられた後、重量信号のサンプリング周期ごとに繰り返し実行される。図10に示すように、重量決定処理が開始されると、コントローラ360は、ステップS110〜S160の処理を実行する。これらの処理は、図2に示した回帰方程式更新処理のステップS110〜S160と同一の処理であり、ここでは説明を省略する。
過去に取得された基準予測真値の数がN個以上であれば(ステップS160:YES)、コントローラ360は、重量決定部363の処理として、最新のN個の基準予測真値の変動の大きさが閾値以下であるか否かを判断する(ステップS410)。本実施形態では、変動の大きさは、最新のN個の基準予測真値のうちの最大値と最小値との差として与えられる。また、閾値は、重量についての許容誤差に対応する値として予め設定される。代替実施形態では、変動の大きさは、最新のN個の基準予測真値のうちの最大値と最小値との比として与えられてもよい。
判断の結果、変動の大きさが閾値よりも大きければ(ステップS410:NO)、それは、予測真値の変動が許容誤差よりも大きいことを意味している。そこで、コントローラ360は、穀物の重量を決定することなく、重量決定処理を終了する。
一方、変動の大きさが閾値以下であれば(ステップS410:YES)、それは、予測真値の変動が許容誤差の範囲内であることを意味している。そこで、コントローラ360は、重量決定部363の処理として、最新のN個の基準予測真値に基づいて穀物の重量を決定する(ステップS420)。本実施形態では、コントローラ60は、まず、最新のN個の基準予測真値の間を線形補間して、サンプリング周期(1ms)ごとの予測真値を取得する。例えば、N=3であり、かつ、図6に示す基準予測真値765,766,767に基づいて穀物の重量を決定する場合には、基準予測真値765と基準予測真値766との間を線形補間することによって得られるサンプリング周期ごとの予測真値と、基準予測真値766と基準予測真値767との間を線形補間することによって得られるサンプリング周期ごとの予測真値とが取得される。そして、基準予測真値765〜767間で取得された全ての予測真値(基準予測真値を含む)の平均値を、穀物の重量として決定する。
ただし、重量の決定は、最新のN個の基準予測真値の少なくとも一部に基づいて、任意の態様で決定されてもよい。例えば、より簡易的に、最新のM個(Mは2以上、N以下の整数)の基準予測真値の平均値が穀物の重量として決定されてもよい。
上述した計量装置310によれば、予測真値が十分に収束したか否か(換言すれば、ノイズを十分に除去できたか否か)を迅速に判断できる。したがって、重量信号の収束を待つことなく、重量を正確かつ速やかに決定できる。このため、計測時間を短縮化でき、ひいては、計量装置310の処理能力を向上できる。
代替実施形態では、上述した第1および第2の実施形態のいずれかにおいて、ステップS160での判断に使用する基準予測真値の個数(所定数N)は、2以上の任意の整数として予め定められ得る。第1実施形態において、所定数Nの数を相対的に小さく(例えば、2または3に)すれば、つまり、回帰方程式を取得する基礎となる基準予測真値の数を相対的に小さくすれば、小供給モードでの供給が開始されてから現在予測真値が最初に取得されるまでに必要な時間が短くなる。このため、小供給モードでの運転時間をより短く設定し、中供給モードでの運転時間をより長く設定することが可能になる。これにより、供給装置20から計量槽30への穀物の供給時間が短くなり、ひいては、計量処理の高速化が可能となる。逆に、所定数Nの数を相対的に大きく(例えば、4以上の任意の数に)すれば、より確からしい回帰方程式が得られるので、ステップS220で算出する現在予測真値の予測精度が向上する。
また、第2実施形態において、所定数Nの数を相対的に小さく(例えば、2または3に)すれば、つまり、基準予測真値の変動の大きさの判断の基礎となる基準予測真値の数を相対的に小さくすれば、ステップS410の判断をより早期から開始できる。このため、より早期に重量を決定できる可能性がある。その結果、計測時間を短縮できる。逆に、所定数Nの数を相対的に大きく(例えば、4以上の任意の数に)すれば、予測真値の変動の判断をより精度よく行えるので、ステップS420で決定する重量の精度が向上する。
所定数Nの数を相対的に小さくすることによって得られるこのような効果は、同様の理由によって、上述の第1および第2実施形態のように極小値間データおよび極大値間データを主振動の1周期分のデータとする場合にも得られる。
さらなる代替実施形態では、上述した第1および第2の実施形態のいずれかにおいて、取得された予測真値に対して、追加的なノイズ除去処理が適用されてもよい。追加的なノイズ除去処理は、最小二乗法によって実現されてもよい。この場合、ステップS140,S150では、コントローラ60またはコントローラ360は、最小二乗法を2回繰り返して、基準予測真値を取得してもよい。例えば、コントローラ60またはコントローラ360は、最初の最小二乗法によって得られた三つ以上の基準予測真値の間を線形補間してサンプリング周期(1ms)ごとの予測真値を取得し、取得された全ての予測真値(基準予測真値を含む)に対して最小二乗法を適用して第1の回帰直線を取得し、当該第1の回帰直線から得られる予測真値を最終的な基準予測真値として取得してもよい。あるいは、追加的なノイズ除去処理は、予め用意されたデジタルフィルタを用いて行われてもよい。
このような追加的なノイズ除去処理の実行の可否は、重量信号の特性に応じて、コントローラ60またはコントローラ360によって判断されてもよい。例えば、コントローラ60またはコントローラ360は、重量信号の振幅が所定値以上である場合に、追加的なノイズ除去処理を実行し、それ以外の場合に、追加的なノイズ除去処理を実行しないように構成されてもよい。この場合、振幅は、所定期間内の極大値の最大値と、極小値の最小値と、の差として求められてもよい。あるいは、コントローラ60またはコントローラ360は、最新のN個の基準予測真値の変動の大きさが所定の程度以上である場合に、追加的なノイズ除去処理を実行し、それ以外の場合に、追加的なノイズ除去処理を実行しないように構成されてもよい。
追加的なノイズ除去処理の実行の可否が重量信号の特性に応じて判断される場合、コントローラ60は、供給停止の判断のための上述の第3の閾値を動的に設定してもよい。具体的には、コントローラ60は、追加的なノイズ除去処理が実行される場合に、追加的なノイズ除去処理が実行されない場合よりも、第3の閾値を小さい値に設定してもよい。つまり、小供給モードでの供給が開始されてから現在予測真値が最初に取得されるまでの時間が相対的に長い場合には、第3の閾値が相対的に小さい値に設定され、中供給モードから小供給モードへの切り替えのタイミングが早められてもよい。
さらなる代替実施形態では、上述した第1実施形態において、計量槽30に代えて、計量装置10に着脱可能な容器が使用されてもよい。この場合、容器は、ロードセル40によって支持されるように、つまり、容器内の穀物の重量をロードセル40によって検出できるように配置される。容器は、典型的にはフレキシブルコンテナバッグであるが、他の種類の袋、缶または箱であってもよい。この場合、計量装置10は、排出ゲート50を備えておらず、供給装置20からの穀物の供給が停止されると、容器が搬出される。同様に、上述した第2実施形態において、計量槽300に代えて、計量装置10に着脱可能な容器が、ロードセル40によって支持されるように配置されてもよい。この場合、容器の上流側に供給ゲートが配置され、排出ゲート50は設けられない。
以上、本開示の実施形態について説明してきたが、上記した開示の実施形態は、本開示の理解を容易にするためのものであり、本開示を限定するものではない。本開示は、その趣旨を逸脱することなく、変更、改良され得るとともに、本開示にはその均等物が含まれる。また、上述した課題の少なくとも一部を解決できる範囲、または、効果の少なくとも一部を奏する範囲において、特許請求の範囲および明細書に記載された各構成要素の任意の組み合わせ、または、任意の省略が可能である。
例えば、上述したフローチャートは、一例に過ぎず、本開示の趣旨を逸脱しない範囲において、フローチャートを構成する各処理は、処理順序の変更や、等価な処理への変更が可能である。
さらに、ステップS140で使用される極小値間データは、三つ以上の極小値を含んでいてもよい。つまり、極小値間データは、主振動の2周期分以上のデータであってもよい。同様に、ステップS140で使用される極大値間データは、三つ以上の極大値を含んでいてもよい。極大値間データは、主振動の2周期分以上のデータであってもよい。こうすれば、より確からしい第1の回帰直線を求めることができる。その結果、予測真値の精度が向上する。
さらに、ステップS120では、コントローラ60は、極大値および極小値の一方のみを検出してもよい。この場合、ステップS140では、コントローラ60は、極小値間データおよび極大値間データの一方のみに最小二乗法を適用して、第1の回帰直線を取得してもよい。こうすれば、極値検出処理の演算負荷を低減できる。
さらに、第1実施形態と第2実施形態とを組み合わせることもできる。例えば、第1実施形態において、計量槽30内の穀物の重量が、供給停止の判断のための上述の第3の閾値に達して、供給装置20から計量槽30への穀物の供給が停止された後、コントローラ60は、第2実施形態として図10に示した重量決定処理を実行して、穀物の最終的な重量を決定してもよい。コントローラ60は、こうして決定される最終的な重量を計量処理のログデータとしてメモリに記憶してもよい。また、コントローラ60は、最終的な重量と目標重量との差分に応じて、上述の第3の閾値を設定し直してもよい。
さらに、図10に示した重量決定処理は、搬送中の被計量物の計量を行う不定量計量方式の計量装置(例えば、コンベアスケール)にも適用可能である。