この発明の一実施形態について、図1〜図15を参照して説明する。
この実施形態は、図1に示すような定量秤10にこの発明を適用したものであり、当該定量秤10は、計量ユニット20と、この計量ユニット20に電気的に接続された指示計30とを、備えている。
このうち、計量ユニット20は、言わば土台としての基部22と、この基部22に一端が結合された計量手段としてのロードセル24と、このロードセル24の他端に支持棒26を介して結合された計量台28とを、有している。そして、計量台28に、図示しない被計量物、例えば粉末薬品が供給されると、ロードセル24は、供給された被計量物の重量Wxに応じた電圧のアナログ計量信号W(t)(t;時間)を出力する。そして、このアナログ計量信号W(t)は、指示計30に入力される。
指示計30は、図2に示すように、アナログ計量信号W(t)が入力される増幅回路32を有しており、この増幅回路32によって増幅されたアナログ計量信号W(t)は、A/D変換回路34に入力される。なお、増幅回路32は、アナログ計量信号W(t)に含まれる比較的に高周波数のノイズ、例えば100[Hz]以上の主に電気的要因によるノイズ、を低減させるためのアナログフィルタリング機能をも有している。
A/D変換回路34は、増幅回路32から入力されるアナログ計量信号W(t)を、例えば1[ms]のサンプリング周期(1[kHz]のサンプリング周波数)でサンプリングし、ディジタル計量信号W[n](n;サンプリング番号)に変換する。そして、変換されたディジタル計量信号W[n]は、CPU(Central
Processing Unit)36に入力される。
CPU36は、記憶手段としてのメモリ38に記憶されている制御プログラムに従って、フィルタ回路40を構成している。そして、このフィルタ回路40によって、上述のディジタル計量信号W[n]に対し所定のディジタルフィルタリング処理、例えば一重または多重の移動平均処理を施す。かかるディジタルフィルタリング処理が施されることによって、ディジタル計量信号W[n]に含まれる比較的に低周波数のノイズ、例えば数十[Hz]〜100[Hz]程度の主に機械的要因によるノイズが、低減される。
さらに、CPU36は、フィルタ回路40による処理後のディジタル計量信号、言わばフィルタ処理後計量信号W[n]’に基づいて、今現在、計量台28に供給されている(供給済みの)被計量物の総重量Wxを逐次算出する。そして、その算出結果を、表示手段としての液晶ディスプレイ42に表示する。なお、液晶ディスプレイ42は、A,B,CおよびDという4つの表示部を備えており、このうちの表示部Aに、当該算出結果が表示される。そして、この表示部Aの表示内容は、人間の目で読み取り可能な時間間隔、例えば100[ms]周期で、更新される。また、後述するが、表示部Bにも、被計量物の総重量Wxが表示される。そして、これ以外の表示部CおよびDには、それぞれ1バッチ当たりの供給重量ΔWxおよび現時点での所定重量Wtに対する偏差ΔWyが、表示される。さらに、CPU36には、当該CPU36に各種命令を与えるための命令入力手段としての操作キー44も、接続されている。
ところで、定量秤10においては、計量台28に供給(載置)された被計量物の総重量Wxが所定重量Wtとなるように、当該計量台28に対して被計量物が手作業(さじ等)により複数バッチに分けて供給される。その際、例えば図3に示すように、作業開始当初、つまり供給済み総重量Wxが所定重量Wtに比べて十分に小さいときは、作業時間を短縮するために、1バッチ当たりの被計量物の供給重量ΔWxは比較的に大きめとされる。そして、次のバッチが行われるまでの時間、言わばバッチ周期(供給ピッチ)Δtは、比較的に短い。一方、供給済み総重量Wxが所定重量Wtに近づくに連れて、正確さを期するべく、1バッチ当たりの供給重量ΔWxは小さくなり、バッチ周期Δtは長くなる、という傾向(使用上の性質)がある。
このような傾向から、定量秤10においては、供給済み総重量Wxが所定重量Wtよりも十分に小さいとき、つまり供給作業が開始されてから間もない言わば作業序盤から中盤に掛けては、高精度な重量測定を行うという正確性よりも、できるだけ高速に重量測定を行うという高速性が、要求される。一方、作業終盤に入り、供給済み総重量Wxが所定重量Wtに近づくに連れて、高速性よりも正確性が、要求される。
そこで、かかる要求に応えるべく、この実施形態の定量秤10は、供給済みの被計量物の総重量Wxが所定重量Wtよりも十分に小さいとき、具体的には当該総重量Wx(厳密には後述する今バッチ実行前の総重量Ws)が所定の閾値重量Wz以下であるときは、高速性に重点を置いた重量測定、言わば高速測定を行い、当該総重量Wx(厳密にはWs)が閾値重量Wzを上回るときは、正確性に重点を置いた重量測定、言わば高精度測定を行う、という適応測定機能を、備えている。また、この実施形態の定量秤10は、1バッチが行われる度に当該1バッチによる被計量物の供給重量ΔWxを表示するという1バッチ重量表示機能、および所定重量Wtに対する今現在の総重量Wxの偏差(過不足)ΔWyを表示するという偏差表示機能をも、備えている。なお、閾値重量Wzは、上述した操作キー44の操作によって任意に設定可能であり、所定重量Wtよりも小さい値、例えば当該所定重量Wtの80[%]〜90[%]程度の値に設定される。
より具体的に説明すると、例えば、今、計量台28にWs(Ws≧0)という荷重が印加されており、これにΔWxという重量分の被計量物が供給される、とする。すると、上述したフィルタ処理後計量信号W[n]’は、図4に示すように遷移する。なお、この遷移状態は、アナログ計量信号W(t)およびディジタル計量信号W[n]についても、同様である。
図4を参照して、フィルタ処理後計量信号W[n]’は、急激に増大した後、今バッチによる供給重量ΔWxを含む被計量物の総重量Wxに対応するレベルを超えたところで、最大ピークである第1極大値Wmax1を示す。そして、これ以降、当該総重量Wxに対応するレベルを基準として上下に振動し、具体的には第1極小値Wmin1,第2極大値Wmax2,…というように極大値および極小値を交互に示す。そして、この振動成分は、ロードセル28の過渡応答特性に従って、徐々に減衰する。
ここで、ロードセル24は、2次遅れの振動系であり、その伝達関数G(s)(s;変数)は、次の式1で表される。
《式1》
G(s)=ω2/(s2+2ζω・s+ω2)
なお、この式1において、ωは、ロードセル24の固有振動数であり、ζは、ロードセル24の減衰係数である。
そして、かかる伝達関数G(s)を有するロードセル24に、荷重Woのステップ入力I(s)=Wo/sが加わったときの出力応答を時間関数f(t)で表すと、次の式2のようになる。
《式2》
f(t)=Wo・[1−e−ζω・t{cos((1−ζ2)1/2・ω・t)
+(ζ/(1−ζ2)1/2)・sin((1−ζ2)1/2・ω・t)}]
=Wo・[1−e−ζω・tsin{(1−ζ2)1/2・ω・t+φ}]
さらに、このステップ応答f(t)を図示すると、上述した図4と同様の図5のようになる。
この図5において、ステップ応答f(t)の値が、或る時点t1のときに第1極大値Wm1を示し、時点t2のときに第1極小値Wm2を示す、とする。この場合、上述の式2において、次の式3および式4が成立する。
《式3》
sin{(1−ζ2)1/2・ω・t1+φ}=−1
∴ (1−ζ2)1/2・ω・t1+φ=π
《式4》
sin{(1−ζ2)1/2・ω・t2+φ}=1
∴ (1−ζ2)1/2・ω・t1+φ=2π
そして、各時点t1およびt2における荷重Woに対する振幅を、それぞれV1およびV2とすると、これらの振幅V1およびV2は、それぞれ式5および式6で表される。
《式5》
V1=Wo・(1+e−ζω・t1)−Wo=Wo・e−ζω・t1
《式6》
V2=Wo−Wo・(1−e−ζω・t2)=Wo・e−ζω・t2
さらに、これらの振幅V1およびV2の比V1/V2を、符号kで表すと、当該振幅比kは、式7のようになる。
《式7》
k=V1/V2=e−ζω・t1/e−ζω・t2=e−ζω・t1・eζω・t2
=eζω・(t2−t1)
そして、この式7におけるt2−t1は、上述の式3および式4から、次の式8のように導き出される。
《式8》
(1−ζ2)1/2・ω・(t2−t1)=π
∴ t2−t1=π/{(1−ζ2)1/2・ω}
即ち、式7および式8から、振幅比kは、ロードセル24の固有振動数ωおよび減衰係数ζによって決まる当該ロードセル24固有の値であることが、分かる。
そしてさらに、第1極大値Wm1と第1極小値Wm2との差(Wm1−Wm2)、言わば最大振幅を、符号ΔWmで表すと、この最大振幅ΔWmは、次の式9のように表すことができる。
《式9》
ΔWm=Wm1−Wm2=V1+V2
そして、この式9と振幅比k(=V1/V2)とを用いると、次の式10が成立する。
《式10》
ΔWm=V2・(1+k) ∵ V1=k・V2
∴ V2=ΔWm/(1+k)
さらに、この式10を用いると、荷重Woは、次の式11で表される。
《式11》
Wo=Wm2+V2=Wm2+ΔWm/(1+k)
そして、この式11を、上述した図4の場合に照らし合わせると、今現在の供給済み総重量Wxは、次の式12で表される。
《式12》
Wx=Wmin1+(Wmax1−Wmin1)/(1+k)
この式12において、振幅比kは、上述したようにロードセル24の固有の値であり、例えば事前(工場出荷前)に行われるテストモードにおいて予め測定することができる。そして、第1極大値Wmax1および第1極小値Wmin1については、フィルタ処理後計量信号W[n]’から直接得ることができる。つまり、この式12を用いることで、換言すれば振幅比k,第1極大値Wmax1および第1極小値Wmin1から、今現在の供給済み総重量Wxを算出(言わば推定)することができる。
即ち、この実施形態における適応測定機能によれば、今バッチが行われる前の言わば直前荷重Wsが上述した閾値重量Wz以下であるとき、つまり高速性が要求されるときは、式12に基づいて、当該今バッチが行われた後の供給済み総重量、言わば現在総重量Wxが求められる。そして、求められた現在総重量Wxは、上述した液晶ディスプレイ42の表示部Bに表示される。
さらに、式12に基づいて求められた現在総重量Wxから、直前荷重Wsが差し引かれることで、つまり次の式13に基づいて、当該今バッチによる被計量物の供給重量ΔWxが求められる。そして、求められた今バッチの供給重量ΔWxは、1バッチ重量表示機能により液晶ディスプレイ42の表示部Cに表示される。
《式13》
ΔWx=Wx−Ws
そしてさらに、式12に基づいて求められた現在総重量Wxが、所定重量Wtから差し引かれることで、つまり次の式14に基づいて、当該所定重量Wtに対する現在総重量Wxの偏差ΔWyが求められる。そして、求められた偏差ΔWyは、偏差表示機能によって液晶ディスプレイ42の表示部Dに表示される。
《式14》
ΔWy=Wt−Wx
なお、上述の式12に基づく演算は、少なくとも第1極大値Wmax1および第1極小値Wmin1が捉えられた時点で、実行可能である。換言すれば、これら第1極大値Wmax1および第1極小値Wmin1が捉えられた時点で、今バッチが終了したものと判断することができる。ただし、この実施形態では、より確実性を期するために、これら第1極大値Wmax1および第1極小値Wmin1に続いて、第2極大値Wmax2が捉えられた時点で、今バッチが終了したものと判断する、とされている。
また、被計量物の供給が行われたか否かは、フィルタ処理後計量信号W[n]’に所定のしきい値Wa以上の変動が生じたか否かに基づいて、判断される。つまり、次の式15が成立したときに、今バッチが行われたものと、判断される。
《式15》
W[n]’−Ws≧Wa
さらに、第2極大値Wmax2が探索される前に、例えば図6に点線の矢印100や一点鎖線の矢印102で示すように、フィルタ処理後計量信号W[n]’が第1極大値Wmax1を超えた場合には、今バッチは未だ終了しておらず、継続しているものと、判断される。そして、改めて第1極大値Wmax1および第1極小値Wmin1を捉えるための探索処理が行われる。
また、例えば図7に符号110,110,…で示すように、第1極大値Wmax1の近傍に、何らかのノイズの影響によって複数のピークが現れることがある。これと同様に、第1極小値Wmin1の近傍にも、複数のピーク112,112,…が現れることがある。この場合、第1極大値Wmax1については、複数のピーク110,110,…のうち最大のものが、当該第1極大値Wmax1として捉えられる。そして、第1極小値Wmin1については、複数のピーク112,112,…のうち最小のものが、当該第1極小値Wmin1として捉えられる。ただし、第1極大値Wmax1と第1極小値Wmin1との間には、所定値Wp1よりも大きいレベル差があり、第1極小値Wmin1と第2極大値Wmax2との間にも、所定値Wp2よりも大きいレベル差があることが、条件とされる。そして、各所定値Wp1およびWp2は、状況に応じて適宜設定される。
これに対して、今バッチが行われる前の荷重Wsが閾値重量Wzを上回るとき、つまり高速性よりも正確性が要求されるときは、図8に示すように、フィルタ処理後計量信号W[n]’が安定するのを待って、重量測定が行われる。具体的には、過去N個(例えばN=8程度)のフィルタ処理後計量信号W[n]’(つまりW[n−N+1]’〜W[n]’)の最大値と最小値との差、言わば変動幅ΔW[n]’が求められる。そして、この変動幅ΔW[n]’が或る許容幅α以下(ΔW[n]’≦α)になると、フィルタ処理後計量信号W[n]’が安定したものと判断され、過去N個の当該フィルタ処理後計量信号W[n]’の平均値に基づいて現在の総重量Wxが求められる。求められた総重量Wxは、液晶ディスプレイ42の表示部Bに表示される。
そして、このように現在総重量Wxが求められた後、上述の式13に基づいて今バッチの供給重量ΔWxが求められ、求められた当該供給重量ΔWxは、上述の1バッチ重量表示機能により液晶ディスプレイ42の表示部Cに表示される。そしてさらに、上述の式14に基づいて今現在の所定重量Wtからの偏差ΔWyが求められ、求められた偏差ΔWyは、偏差表示機能により液晶ディスプレイ42の表示部Dに表示される。
なお、被計量物の供給(バッチ)がないときも、過去N個のフィルタ処理後計量信号W[n]’の平均値に基づいて現在総重量Wxが求められる。そして、求められた現在総重量Wxは、液晶ディスプレイ42の表示部Bに表示される。また、今バッチに応じて、一旦、現在総重量Wxが求められると共に、この現在総重量ΔWxが液晶ディスプレイ42の表示部Bに表示された後、次バッチが行われる前に、フィルタ処理後計量信号W[n]’が安定した場合(つまり変動幅ΔW[n]’が許容幅α以下になった場合)も、過去N個のフィルタ処理後計量信号W[n]’の平均値に基づいて現在総重量Wxが改めて求められる。そして、求められた現在総重量Wxによって、表示部Bの表示内容が更新される。
また、上述の式12に基づいて現在の総重量Wxを求める(推定する)という高速測定は、安定状態にあるフィルタ処理後計量信号W[n]’の過去N個の平均値に基づいて現在の総重量Wxを求めるという高精度測定に比べて、精度は劣る。しかし、作業序盤から中盤に掛けて言わば暫定的な現在総重量Wxを求める、という定量秤10特有の用途においては、当該高速測定による精度は必要かつ十分である。
このような適応測定機能、1バッチ重量表示機能および偏差表示機能を実現するために、指示計30内のCPU36は、上述した制御プログラムに従って、図9〜図12のフローチャートで示される重量測定タスクを実行する。なお、この重量測定タスクにおいては、後述するように、液晶ディスプレイ42の表示部Aの更新周期をカウントするためのカウンタと、直前荷重Wsを記憶しておくためのレジスタとが、用いられるが、これらカウンタのカウント値(以下、これを符号qで表す。)およびレジスタの記憶値Wsは、定量秤10の電源がONされるときに一旦クリア(q=0およびWs=0)される。また、当該電源ON時に、液晶ディスプレイ42の各表示部A,B,CおよびDの表示内容もクリアされると共に、いわゆる零点調整も行われる。
まず、図9を参照して、ディジタル計量信号W[n]の取得タイミングnが到来すると、CPU36は、ステップS1に進み、A/D変換回路34から当該ディジタル計量信号W[n]を取得する。そして、ステップS3に進み、ステップS1で取得したディジタル計量信号W[n]に対して上述したフィルタ回路40により移動平均処理を施し、フィルタ処理後計量信号W[n]’を算出する。そして、ステップS5に進み、上述のカウンタのカウント値qが“0”であるか否かを判断する。
このステップS5において、カウント値qが“0”であるとき、CPU36は、ステップS7に進み、フィルタ処理後計量信号W[n]’に基づいて現在の総重量Wxを算出する。そして、ステップS9において、当該総重量Wxの算出結果、言わば瞬時値を、表示部Aに表示した後、ステップS11に進む。一方、ステップS5において、カウント値qが“0”でないとき、CPU36は、ステップS7〜ステップS9をスキップして、直接、ステップS11に進む。
ステップS11において、CPU36は、上述のカウント値qを“1”だけインクリメントする。そして、ステップS13に進み、当該インクリメントされたカウント値qが所定値Qに到達したか否かを判断する。ここで、当該カウント値qが所定値Qに到達している場合(q=Q)は、ステップS15においてカウント値qをクリアしてから、ステップS17に進む。一方、カウント値qが所定値Qに到達していない場合には、ステップS13から直接ステップS17に進む。なお、ここで言う所定値Qとして、例えば“99”という値が設定されている場合に、表示部Aの更新周期が上述したように100[ms]になる。
ステップS17において、CPU36は、所定のフラグRが“0”であるか否かを判断する。なお、このフラグRは、最近行われたバッチ(今バッチ)に対する重量測定が完了したか否かを表す指標であり、電源ON時は、当該フラグRに測定完了の旨を表す“0”が設定される。そして、このフラグRが“0”であるとき、CPU36は、ステップS19に進み、被計量物が供給されたか否か、つまり今バッチが行われたか否かを、判断する。この判断は、上述した式15が成立するか否かによって、行われる。
そして、このステップS19において、例えば被計量物の供給がないと判断すると、CPU36は、図10のステップS21に進む。そして、このステップS21において、フィルタ処理後計量信号W[n]’が安定しているか否かを判別するためのサブルーチンである安定判別処理を実行する。なお、この安定判別処理の内容については、後で詳しく説明する。
このステップS21の安定判別処理を実行し終えると、CPU36は、ステップS23に進み、当該安定判別処理においてフィルタ処理後計量信号W[n]’が安定していると判定されたか否かを判断する。ここで、例えばフィルタ処理後計量信号W[n]’が安定していると判定された場合、CPU36は、ステップS25に進む。そして、このステップS25において、今現在、計量台28上に供給されている被計量物の総重量Wxを算出する。この算出は、過去N個のフィルタ処理後計量信号W[n]’(W[n−N+1]’〜W[n]’)の平均値に基づいて、行われる。そして、このステップS25における算出結果、言わば現在総重量Wxの高精度値を、ステップS27で液晶ディスプレイ42の表示部Bに表示した後、ステップS29に進み、当該総重量Wxを上述したレジスタWsに記憶する。つまり、当該レジスタ値Wsを更新する(書き替える)。そして、このレジスタ値Wsの更新をもって、重量測定タスクを一旦抜ける。なお、ステップS23においてフィルタ処理後計量信号W[n]’が安定していないと判断した場合は、そのまま、この重量測定タスクを抜ける。
図9に戻って、ステップS19において被計量物が供給されたと判断すると、CPU36は、ステップS31に進む。そして、このステップS31において、上述したフラグRに、今バッチに対する重量測定を行っている最中である旨を表す“1”を設定した後、ステップS33に進み、レジスタ値Wsと閾値重量Wzとを比較する。ここで、例えばレジスタ値Wsが閾値重量Wz以下であるとき、CPU36は、高速性を優先した重量測定を行うべく、ステップS35に進み、上述とは別のフラグRに、当該高速性を優先する旨を表す“0”を設定する。そして、図11のステップS37に進む。
ステップS37において、CPU36は、フィルタ処理後計量信号W[n]’の上述した第1極大値Wmax1および第1極小値Wmin1を探索するための極値探索処理を実行する。なお、このサブルーチンである極値探索処理の内容についても、後で詳しく説明する。そして、このステップS37の極値探索処理の実行後、CPU36は、ステップS39に進み、当該極値探索処理による処理結果を判別する。
このステップS39において、例えばステップS37による探索結果が“探索中”であると認識した場合、CPU36は、そのまま、この重量測定タスクを抜ける。そして、例えばステップS37による探索結果が“探索中止”である場合、CPU36は、ステップS39からステップS41に進み、上述したフラグRに“0”を設定した後、重量測定タスクを抜ける。さらに、ステップS37による探索結果が“探索終了”である場合は、ステップS39からステップS43に進む。
ステップS43において、CPU36は、上述した式12に基づいて今バッチによる供給分を含む被処理物の供給済み現在総重量Wxを算出する。そして、算出した総重量Wx、言わば推定値を、ステップS45で表示部Bに表示する。さらに、CPU36は、ステップS47に進み、上述した式13に基づいて今バッチによる供給重量ΔWxを算出する。そして、ステップS49に進み、当該ステップS47で算出した今バッチによる供給重量ΔWxを表示部Cに表示した後、ステップS50に進み、当該総重量Wxによってレジスタ値Wsを更新する。さらにまた、CPU36は、ステップS51に進み、上述した式14に基づいて今現在の所定重量Wtからの偏差ΔWyを算出し、算出した偏差ΔWyを、ステップS52で表示部Dに表示する。そして、ステップS41においてフラグRに“0”を設定した後、この重量測定タスクを抜ける。
再び図9に戻って、ステップS33においてレジスタ値Wsが閾値重量Wzよりも大きいとする。この場合、CPU36は、正確性を優先した重量測定を行うべく、ステップS53に進む。そして、このステップS53において、フラグPに“1”を設定した後、図12のステップS55に進む。
ステップS55において、CPU36は、上述したステップS21(図10参照)と同様の安定判別処理を実行する。そして、このステップS55の安定判別処理の実行後、CPU36は、ステップS57に進み、当該安定判別処理においてフィルタ処理後計量信号W[n]’が安定していると判定されたか否かを判断する。ここで、例えば当該フィルタ処理後計量信号W[n]’が安定していると判定された場合、CPU36は、ステップS59に進む。そして、このステップS59において、過去N個のフィルタ処理後計量信号W[n]’の平均値に基づいて、現在総重量(高精度値)Wxを算出する。さらに、CPU36は、ステップS61に進み、上述した式13に基づいて今バッチの供給重量ΔWxを算出した後、ステップS63に進む。
ステップS63において、CPU36は、ステップS61で算出した供給重量ΔWxと、予め定めた基準値Wbとを比較する。なお、ここで言う基準値Wbとは、ステップS61で算出した供給重量ΔWxが真に今バッチの供給によって生じたものであるか否か、換言すれば当該供給重量ΔWxが何らかのノイズの影響によって発生したものでないかどうか、を判別するための基準となる値である。従って、このステップS63において供給重量ΔWxが基準値Wb以上であるとき、CPU36は、当該供給重量ΔWxがノイズの影響によるものではなく、真に今バッチの供給によって生じたものである、と判断する。そして、この場合、ステップS65に進み、現在総重量Wxを表示部Bに表示した後、ステップS67に進み、今バッチの供給重量ΔWxを表示部Cに表示する。さらに、ステップS68において、レジスタ値Wsを更新した後、ステップS69に進む。
ステップS69において、CPU36は、上述した式14に基づいて今現在の所定重量Wtからの偏差ΔWyを算出する。そして、この算出した偏差ΔWyを、ステップS70で表示部Dに表示した後、ステップS71において上述のフラグRに“0”を設定して、この重量測定タスクを抜ける。
一方、ステップS63において、供給重量ΔWxが基準値Wbよりも小さい場合、CPU36は、当該供給重量ΔWxが今バッチの供給によるものではなく何らかのノイズの影響によって生じたものであると判断する。そして、この場合、ステップS65〜ステップS70をスキップして、ステップS71に進み、このステップS71の実行をもって、重量測定タスクを抜ける。なお、ステップS57においてフィルタ処理後計量信号W[n]’が安定していないと判断した場合は、そのまま、この重量測定タスクを抜ける。
さらに、図9のステップS17において、フラグRが“0”でないとき、つまり当該フラグRに“1”が設定されているときは、CPU36は、ステップS73に進む。そして、このステップS73において、今度は、フラグPが“1”であるか否かを判断する。ここで、当該フラグPに“1”が設定されているとき、つまり正確性を優先した高精度測定が行われている最中であるとき、CPU36は、当該高精度測定を継続するべく、図12のステップS55に進む。一方、フラグPに“0”が設定されているとき、つまり高速性を優先した高速測定が行われている最中であるときは、これを継続するべく、図11のステップS37に進む。
続いて、図13を参照して、上述のステップS21(図10参照)およびステップS55(図12参照)で実行される安定判別処理の詳細を説明する。
この安定判別処理においては、CPU36は、まず、ステップS101に進み、過去N個のフィルタ処理後計量信号W[n]の変動幅、つまり最大値と最小値との差ΔW[n]’を求める。そして、ステップS103に進み、当該変動幅ΔW[n]’と上述した許容幅αとを比較する。ここで、変動幅ΔW[n]’が許容幅α以下であるとき、CPU36は、ステップS105に進み、“フィルタ処理後計量信号W[n]’は安定である”と判定する。そして、この判定をもって、安定判別処理を終了して、メインルーチンである重量測定タスクに戻る。一方、ステップS103において、変動幅ΔW[n]’が許容幅αよりも大きいとき、CPU36は、ステップS107に進む。そして、このステップS107において、“フィルタ処理後計量信号W[n]’は不安定である”と判定して、安定判別処理を終了し、重量測定タスクに戻る。
次に、図14および図15を参照して、上述したステップS37(図11参照)の極値探索処理の詳細を説明する。なお、この極値探索処理においては、後述するように、Fmax1,Fmax1’,Fmin1’およびFmax2’というフラグが用いられるが、これらのフラグFmax1,Fmax1’,Fmin1’およびFmax2’には、定量秤10の電源ON時に、それぞれ“0”が設定される。
即ち、この極値探索処理においては、CPU36は、まず、図14のステップS201に進み、今現在のフィルタ処理後計量信号W[n]’と、1つ前のフィルタ処理後計量信号W[n−1]’とを、比較する。ここで、今現在のフィルタ処理後計量信号W[n]’が1つ前のフィルタ処理後計量信号W[n−1]’以上である場合、CPU36は、ステップS203に進み、フラグFmax1’が“0”であるか否かを判断する。なお、このフラグFmax1’は、仮の第1極大値Wmax1’が探索済みであるか否かを表す指標であり、当該フラグFmax1’が“0”の場合は、仮の第1最大値Wmax1’が未だ探索されていないことを表す。
このステップS203において、フラグFmax1’が“0”の場合、CPU36は、ステップS205に進む。そして、このステップS205において、未だ第1極大値Wmax1および第1極小値Wmin1が探索されていない旨を表す“探索中”という判定を下して、この極値探索処理を一旦抜けて、メインルーチンである重量測定タスクに戻る。
一方、上述のステップS201において、今現在のフィルタ処理後計量信号W[n]’が1つ前のフィルタ処理後計量信号W[n−1]’よりも小さい場合、CPU36は、ステップS207に進む。そして、このステップS207において、フラグFmax1’が“0”であるか否かを判断する。ここで、フラグFmax1’が“0”の場合、CPU36は、ステップS209に進み、1つ前のフィルタ処理後計量信号W[n−1]’を仮の第1極大値Wmax1’として、当該仮の第1極大値Wmax1’用のレジスタに記憶する。そして、当該仮の第1極大値Wmax1’が探索されたことを表すべく、ステップS211においてフラグFmax1’に“1”を設定した後、ステップS205を経て、一旦、極値探索処理を抜ける。
さらに、ステップS207において、フラグFmax1’が“0”でない場合、つまり仮の第1極大値Wmax1’が既に探索済みである場合は、CPU36は、ステップS213に進む。そして、このステップS213において、フラグFmin1’が“0”であるか否かを判断する。なお、このフラグFmin1’は、仮の第1極小値Wmin1’が探索済みであるか否かを表す指標であり、当該フラグFmin1’が“0”の場合は、仮の第1最大値Wmax1’が未だ探索されていないことを表す。
このステップS213において、フラグFmin1’が“0”の場合、CPU36は、ステップS205を経て、一旦、極値探索処理を抜ける。一方、フラグFmin1’が“0”でない場合、つまり仮の第1極小値Wmin1’が既に探索済みである場合には、ステップS215に進む。そして、このステップS215において、フラグFmax1が“0”であるか否かを判断する。なお、このフラグFmax1は、真の第1極大値Wmax1が探索済みであるか否かを表す指標であり、当該フラグFmax1が“0”の場合は、真の第1極大値Wmax1が未だ探索されていないことを表す。
かかるステップS215において、フラグFmax1が“0”の場合、CPU36は、ステップS217に進み、1つ前のフィルタ処理後計量信号W[n−1]’と仮の第1極大値(レジスタ値)Wmax1’とを比較する。そして、1つ前のフィルタ処理後計量信号W[n−1]’が仮の第1極大値Wmax1’以上である場合は、ステップS219に進み、当該1つ前のフィルタ処理後計量信号W[n−1]’を新たな仮の第1極大値Wmax1’としてレジスタに記憶する。そして、ステップS221において、フラグFmin1’に改めて“0”を設定した後、ステップS205を経て、一旦、極値探索処理を抜ける。なお、ステップS217において、1つ前のフィルタ処理後計量信号W[n−1]’が仮の第1極大値Wmax1’よりも小さい場合には、CPU36は、ステップS219をスキップして、直接、ステップS221に進む。
そしてさらに、ステップS215において、フラグFmax1が“0”でない場合、つまり新の第1極大値Wmax1が既に探索済みである場合には、CPU36は、ステップS223に進む。そして、このステップS223において、フラグFmax2’が“0”であるか否かを判断する。なお、このフラグFmax2’は、仮の第2極大値Wmax2’が探索済みであるか否かを表す指標であり、当該フラグFmax2’が“0”の場合は、仮の第2極大値Wmax2’が未だ探索されていないことを表す。
このステップS223において、フラグFmax2’が“0”の場合、CPU36は、ステップS225に進み、1つ前のフィルタ処理後計量信号W[n−1]’を仮の第2極大値Wmax2’として、当該仮の第2極大値Wmax2’用のレジスタに記憶する。そして、ステップS227において、当該仮の第2極大値Wmax2’が探索されたことを表すべく、フラグFmax2’に“1”を設定した後、ステップS229に進む。なお、ステップS223において、フラグFmax2’が“0”でない場合、つまり仮の第2極大値Wmax2’が既に探索済みである場合は、CPU36は、ステップS205を経て、一旦、この極値探索処理を抜ける。
ステップS229において、CPU36は、仮の第2極大値Wmax2’と仮の第1極小値Wmin1’との差(Wmax2’−Wmin1’)を、上述した所定値Wp2と、比較する。ここで、当該差が所定値Wp2よりも大きい場合、CPU36は、ステップS231に進み、仮の第1極小値Wmin1’を真の第1極小値Wmin1として、当該第1極小値Wmin1専用のレジスタに記憶する。そして、ステップS233において、第1極大値Wmax1および第1極小値Wmin1の両方が探索されたことを表す“探索終了”という判定を下し、さらに、ステップS235において、各フラグFmax1,Fmax1’,Fmin1’およびFmax2’に改めて“0”を設定して、この極値探索処理を抜ける。なお、ステップS229において、仮の第2極大値Wmax2’と仮の第1極小値Wmin1’との差が所定値Wp2以下である場合は、CPU36は、ステップS205を経て、この極値探索処理を抜ける。
一方、上述のステップS203において、フラグFmax1’が“0”でない場合、CPU36は、図15のステップS237に進む。そして、このステップS237において、フラグFmin1’が“0”であるか否かを判断する。ここで、フラグFmin1’が“0”の場合、CPU36は、ステップS239に進み、1つ前のフィルタ処理後計量信号W[n−1]’を仮の第1極小値Wmin1’として、レジスタに記憶する。そして、ステップS241において、フラグFmin1’に“1”を設定した後、ステップS243に進む。
ステップS243に進んだCPU36は、ここで、仮の第1極大値Wmax1’と仮の第1極小値Wmin1’との差(Wmax1’−Wmin1’)を、上述した所定値Wp1と、比較する。ここで、当該差が所定値Wp1よりも大きい場合、CPU36は、ステップS245に進み、仮の第1極大値Wmax1’を真の第1極大値Wmax1として、当該第1極大値Wmax1’専用のレジスタに記憶する。そして、ステップS247において、フラグFmax1に“1”を設定した後、図14のステップS205を経て、極値探索処理を抜ける。なお、ステップS243において、仮の第1極大値Wmax1’と仮の第1極小値Wmin1’との差が所定値Wp1以下の場合は、CPU36は、ステップS245〜ステップS247をスキップして、直接、図14のステップS205に進む。
一方、ステップS237において、フラグFmin1’が“0”でない場合、CPU36は、ステップS249に進む。そして、このステップS249において、フラグFmax2’が“0”であるか否かを判断する。ここで、フラグFmax2’が“0”である場合は、ステップS251に進み、当該フラグFmax2’が“0”でない場合は、ステップS253に進む。
ステップS253において、CPU36は、1つ前のフィルタ処理後計量信号W[n−1]’と仮の第1極小値(レジスタ値)Wmin1’とを比較する。そして、1つ前のフィルタ処理後計量信号W[n−1]’が仮の第1極小値Wmin1’以下である場合は、ステップS255に進み、当該1つ前のフィルタ処理後計量信号W[n−1]’を新たな仮の第1極小値Wmin1’としてレジスタに記憶する。そして、ステップS257において、フラグFmax2’に改めて“0”を設定した後、ステップS251に進む。なお、ステップS253において、1つ前のフィルタ処理後計量信号W[n−1]’が仮の第1極小値Wmin1’よりも大きい場合には、CPU36は、ステップS255をスキップして、直接、ステップS257に進む。
ステップS251において、CPU36は、フラグFmax1が“0”であるか否かを判断する。ここで、当該フラグFmax1が“0”である場合、CPU36は、図14のステップS205を経て、この極値探索処理を抜ける。一方、フラグFmax1が“0”でない場合は、ステップS251からステップS259に進み、今現在のフィルタ処理後計量信号W[n]’と第1極大値(レジスタ値)Wmax1とを比較する。そして、今現在のフィルタ処理後計量信号W[n]’が第1極大値Wmax1よりも小さい場合には、図14のステップS205を経て、この極値探索処理を抜ける。
なお、ステップS259において、今現在のフィルタ処理後計量信号W[n]’が第1極大値Wmax1以上である場合は、CPU36は、ステップS261に進み、第1極大値Wmax1および第1極小値Wmin1の探索処理を一旦中止するべく“探索中止”という判定を下す。そして、ステップS263において、各フラグFmax1,Fmax1’,Fmin1’およびFmax2’に“0”を設定して、この極値探索処理を抜ける。
以上のように、この実施形態の定量秤10(適応測定機能)によれば、任意のバッチが行われる前の直前荷重Wsが所定重量Wtよりも小さい閾値重量Wz以下であるとき、つまり高速性が要求されるときは、この要求に応えるべく、上述した振動成分が減衰しない早期のうちに重量測定を行う、という高速測定が行われる。従って、作業者は、この高速測定による測定結果に基づいて、次バッチで供給するべき被計量物の量を早期に調整することができるので、当該被計量物を所定重量Wt分ずつ計り取りするという一連の計り取り作業に掛かる時間を、短縮することができる。一方、直前荷重Wsが閾値重量Wzよりも大きいとき、つまり正確性が要求されるときは、振動成分が十分減衰してから重量測定を行う、という高精度測定が行われる。従って、作業者は最終的な被計量物の総重量Wxを所定重量Wtに合わせ易くなり、正確性が保たれる。つまり、この実施形態によれば、一連の計り取り作業を高速かつ正確に実施することができる。
また、この実施形態(1バッチ重量表示機能)によれば、現在総重量Wxのみならず、今バッチによる供給重量ΔWxも、ディスプレイ42に表示される。これにより、今バッチの供給重量ΔWyとこれに対応する被計量物の体積量との関係を直観的に把握することができるようになり、ひいては次バッチで供給するべき当該被計量物の体積量が調整し易くなる。
さらに加えて、この実施形態(偏差表示機能)によれば、現在総重量Wxの所定重量Wtからの偏差ΔWyも、ディスプレイ42に表示される。従って、次バッチで供給するべき被計量物の量がより調整し易くなる。このことは、計り取り作業の効率化に大きく貢献し、特に例えば経験の浅い作業者等にとって極めて有用な支援策となる。また、総重量Wxが所定重量Wtを超えるのを抑制する効果も奏し、つまり余分に供給された被計量物を定量秤10(計量台28)から取り除くという言わば余計な手間が掛かるのを防止することができる。
なお、この実施形態においては、被計量物として、粉末薬品を例に挙げたが、これに限らない。例えば、錠剤等の他の薬品や、食肉片等の小分け可能な物品を計り取りする用途に、この発明を適用することができる。
また、各計量過程における測定結果(Wx,ΔWxおよびΔWy)を液晶ディスプレイ42(表示部A,B,CおよびD)という表示手段に表示することとしたが、これに限らない。例えば、スピーカ等の音声出力手段を用いて、当該測定結果を音声で出力してもよい。勿論、液晶ディスプレイ42以外の表示手段を用いてもよい。
さらに、上述のCPU36が構成するフィルタ回路40は、移動平均処理を行うものとしたが、これ以外に限らない。例えば、FIR(Finite
Impulse Response:有限インパルス応答)フィルタやIIR(Infinite Impulse Response:無限インパルス応答)フィルタを構成してもよい。
また、上述の式12においては、第1極大値Wmax1および第1極小値Wmin1に基づいて今バッチの供給重量ΔW[n]を求めることとしたが、これに限らない。例えば、複数個の極大値および複数個の極小値に基づいて、当該供給重量ΔW[n]を求めてもよい。
そしてさらに、上述の式12における振幅比kを構成する固有振動数ωは、被計量物を含む計量ユニット20の重量Mによって変わるので、厳密に言えば、当該振幅比kの値は、計量ユニット20(計量台28)に供給されている被計量物の重量Wxによって変わる。そこで、この被計量物の重量Wxの変化に起因する振幅比kの変化分を補償するべく、当該被計量物の重量Wxの変化に併せて、式12に適用される振幅比kの値を変化させてもよい。具体的には、例えば、この実施形態の定量秤10による被計量物が決まっている、とすると、一連のバッチ回数、およびそれぞれのバッチ終了後の現在総重量Wxは、或る程度、予測可能である。ゆえに、上述したテストモードにおいて、それぞれのバッチ段階に適した振幅比kの値を予め定めておき、実際の測定時に、バッチが行われる(計量作業が進む)に連れて当該振幅比kの値を順次更新すれば、式12に基づいて、より正確な供給重量ΔWxを算出することができる。
また、フィルタ処理後計量信号W[n]’が安定状態にあるときは、過去N個の当該フィルタ処理後計量信号W[n]’の平均値に基づいて現在総重量Wxを求めることとしたが、これに限らない。例えば、当該N個のフィルタ処理後計量信号W[n]’に所定の重み付けを施し、この重み付けが施された後のN個のフィルタ処理後計量信号W[n]’に基づいて現在総重量Wxを求めてもよいし、最新のフィルタ処理後計量信号W[n]’のみに基づいて現在総重量Wxを求めてもよい。
そして、過去N個のフィルタ処理後計量信号W[n]の変動幅ΔW[n]’と上述した許容幅αとを比較することによって、当該フィルタ処理後計量信号W[n]’が安定状態にあるか否かを判断することとしたが、これ以外の方法に基づいて、安定判別を行ってもよい。
さらに、図9〜図15の各フローチャートで示される手順に従ってCPU36を動作させることとしたが、これに限らない。即ち、この実施形態と同様の作用および効果を奏するのであれば、これ以外の手順でCPU36を動作させてもよい。