この発明の一実施形態について、図1から図16を参照して説明する。
図1に示すように、この実施形態に係る重量式充填装置10は、ビン等の所定の容器12に、被計量物としての所定の液体、例えば飲料を、一定重量ずつ充填するためのものであり、大量生産に対応するべく、互いに同型のN(N;複数)台のユニット14,14,…を備えている。
それぞれのユニット14は、容器12が載置される載置台14と、この載置台14に掛かる荷重Wx[n](n;ユニット14の番号(1〜N)を表すインデックス)を測定するための計量手段としての計量機18と、この計量機18の上方に距離を置いて設けられ、容器12に飲料を供給するための供給手段としてのバルブ20とを、備えている。また、載置台16の近傍には、当該載置台16に載置された容器12を支持するためのスタンド22が設けられている。なお、この実施形態においては、N=36とされており、つまり36台のユニット14,14,…が設けられている。
各ユニット14,14,…は、図2に示すように、円盤状の回転台24の周縁寄りの部分に、当該周縁に沿って等間隔に、つまり10度(=360度/N)置きに、配置されている。回転台24は、回転軸26を中心として、当該回転軸26と共に、図2に矢印100で示す(図2において時計方向)方向に回転する。そして、この回転台24の回転に伴って、各ユニット14,14,…も回転する。
図1に戻って、回転軸26の上側端部は、各ユニット14,14,…(各バルブ20,20,…)よりも高い位置にあり、この上側端部には、貯蔵手段としての円筒状の貯槽28が固定されている。この貯槽28は、飲料を一時的に蓄えておくためのものであり、その側壁の下部には、N本の配管30,30,…が放射状に結合されている。そして、これらの配管30,30,…の先端に、各ユニット14,14,…のバルブ20,20,…が個別に結合されている。よって、貯槽28内の飲料は、各配管30,30,…を通って自由落下により各バルブ20,20,…に流れる。そして、これらのバルブ20,20,…を介して各容器12,12,…に供給される。なお、貯槽28内の飲料の貯蔵量が一定量以下になると、図示しない補充槽から当該貯槽28に自動的に飲料が補充される。
一方、回転軸26の下側端部は、回転台24の中央を貫通した状態で当該回転台24の下方に位置している。そして、この回転軸26の下側端部には、ギヤ機構32を介して駆動手段としてのモータ34が結合されている。このモータ34は、後述するコントローラ36によって制御され、当該モータ34が駆動することで、ギヤ機構32を介して回転軸26が回転する。また、ギヤ機構32には、回転軸26が1回転する毎に1つのパルスを発生する、換言すれば回転軸26の周縁の1箇所に設けられた回転基準を検出するための、言わば回転基準検出用のエンコーダ38が結合されている。さらに、このエンコーダ38とは別に、当該ギヤ機構32には、回転軸26が1回転する毎にα×N個(α;自然数)のパルスを発生する、言わば回転角度検出用のエンコーダ40も結合されている。これらのエンコーダ38および40の出力パルスは、コントローラ36に入力される。
コントローラ36は、図3に示すように、各エンコーダ38および40との間のインタフェース回路としてのパルス入力回路360を有している。そして、各エンコーダ38および40の出力パルスは、このパルス入力回路360を介してCPU(Central Processing Unit)362に入力される。CPU362は、これらの出力パルスから、回転軸26の回転角を認識し、ひいては各ユニット14,14,…の現在位置を認識する。また、CPU362には、モータ34との間のインタフェース回路としてのモータ制御回路364、および後述する搬入用コンベヤ42(図2参照)等の外部装置との間のインタフェース回路としての外部制御回路366が、接続されている。さらに、CPU362には、操作手段としての操作キー368、表示手段としての液晶型のディスプレイ370、および当該CPU362の動作を制御するためのいわゆる制御プログラムが記憶されたメモリ372も、接続されている。なお、メモリ372は、後述する零点計測時間Tz等のパラメータが記憶される第1の記憶手段としても機能する。また、CPU362は、通信回路374を介して、各ユニット14,14,…との間、厳密には当該各ユニット14,14,…の計量機18,18,…に内蔵された後述するCPU180,180,…(図4参照)との間で、個別に通信可能とされている。
一方、それぞれの計量機18は、図4に示すように、上述の荷重Wx[n]が印加される例えばストレーンゲージ式のロードセル182を有している。このロードセル182は、印加された荷重Wx[n]に応じた電圧の重量信号を生成する。そして、生成された重量信号は、増幅回路184によって増幅された後、A/D変換回路186に入力される。A/D変換回路186は、入力された重量信号をディジタル信号である荷重データに変換し、変換後の荷重データは、上述のCPU180に入力される。CPU180は、入力された荷重データに移動平均処理等の所定のフィルタリング処理を施す。さらに、CPU180は、当該フィルタリング処理後の荷重データに基づいて、荷重Wx[n]を算出し、ひいては容器12に充填された飲料の最終的な重量、言わば最終計量値Ws[n]を算出する。この算出結果Ws[n]は、通信回路188を介して、コントローラ36(CPU362)に送信される。
また、計量機18は、自身に対応するバルブ20を制御するための制御手段としても機能する。この制御手段としての機能には、当該バルブ20の供給動作を停止させるという停止手段としての機能も含まれる。このため、計量機18は、CPU180とバルブ20との間のインタフェース回路としてのバルブ制御回路190を有している。さらに、計量機18は、メモリ192を内蔵しており、このメモリ192には、CPU180の動作を制御するための制御プログラムが記憶されている。なお、メモリ192は、上述のパラメータが記憶される第2の記憶手段としても機能する。
このような構成の重量式充填装置10は、上述したように各容器12,12,…に一定重量の飲料を充填するという定量充填を実現するために、次のような動作をする。
即ち、コントローラ36の操作キー368によって稼動開始の旨の操作が成されると、モータ34が起動する。これによって、回転台24が、回転軸26を中心として図2に矢印100で示す方向に一定の回転数、例えば数秒間(3秒〜5秒間程度)に1回転の割合で、回転する。また、この回転台26の回転に伴って、各ユニット14,14,…、貯槽28および各配管30,30,…も回転する。さらに、モータ34の起動に合わせて、上述した外部装置、具体的には図2に示す搬入用コンベヤ42、搬入用スターホイール44、搬出用スターホイール46、搬出用コンベヤ48および後述する図示しない選別機も起動する。
すると、まず、図2に矢印102で示すように、空の容器12,12,…が、搬入用コンベヤ40によって搬入用スターホイール44に搬送される。搬入用スターホイール44は、図2に矢印104で示す方向(反時計方向)に回転しており、搬入用コンベヤ40から搬送されてきた容器12,12,…を、一定のタイミングで1つずつ回転台24に搬送する。これによって、当該容器12,12,…は、各ユニット14,14,…の載置台16,16,…に1つずつ載置され、言わばセットされる。このようにそれぞれのユニット14にセットされた容器12は、当然に、当該ユニット14と共に矢印100で示す方向に回転する。ユニット14は、この回転の最中に、当該容器12に飲料を充填する。
具体的には、図2および図5を参照して、任意の、例えばn番目のユニット14(以下、説明の便宜上、ユニットnと言う。)は、自身に容器12がセットされる前の所定の位置Pzに到達した時点t0で、零点計測を開始する。なお、ユニットnがこの言わば零点計測開始位置Pzに到達したか否かは、コントローラ36から送られてくる位置データ(図5(b)参照)に基づいて認識される。この位置認識についてもう少し詳しく説明すると、上述したように、コントローラ36(CPU362)は、各エンコーダ38および40の出力パルスに基づいてユニットnの現在位置を認識する。そして、その認識結果に基づいて、ユニットnの現在位置を表す位置データを当該ユニットn(CPU180)に送信する。ユニットnは、この位置データから、零点計測開始位置Pzに到達したか否かを含め、自身の現在位置を認識する。
かかる零点計測開始位置Pzに到達した時点t0で開始された零点計測は、当該時点t0から零点計測時間Tzが経過するまでの間にわたって行われる。詳しくは、ユニットnは、当該時間Tzが経過した時点t1での荷重Wx[n]を、零点計測値Wz[n]とする。この零点計測値Wz[n]は、ユニットn内のメモリ192に一時記憶される。なお、零点計測時間Tzは、時点t0からユニットnに容器12がセットされるまでの時間よりも短めとされ、例えば0.1秒〜0.3秒程度とされる。
この零点計測の後、上述したように搬入用スターホイール44によってユニットnに空の容器12がセットされる。ユニットnは、この空の容器12がセットされた後、所定の風袋計測開始位置Prに到達した時点t2で、当該空の容器12の重量、いわゆる風袋重量Wf[n]を計測し始める。この風袋計測開始位置Prにユニットnが到達したか否かもまた、上述の位置データに基づいて認識される。そして、ユニットnは、時点t2から所定の風袋計測時間Trが経過するまでの間にわたって当該風袋計測を行う。詳しくは、風袋計測時間Trが経過した時点t3での荷重Wx[n]を、風袋計測値Wr[n]とする。そして、この風袋計測値Wr[n]から上述の零点計測値Wz[n]を差し引いた値(Wr[n]−Wz[n])を、風袋重量Wf[n]とする。ユニットnは、この風袋重量Wf[n]に基づいて、自身にセットされた容器12が予め定めた規格通りの適正なものであるか否かを判断する。具体的には、当該風袋重量Wf[n]が所定の範囲内である場合には、容器12は適正であると判断する。一方、風袋重量Wf[n]が当該範囲から外れる場合には、容器12は不適正であると判断し、改めて上述の零点計測開始位置Pzに到達するのを待つ。なお、風袋計量値Wr[n]もまた、ユニットn内のメモリ192に一時記憶される。そして、風袋計測時間Tzは、風袋計測を行うのに必要かつ十分な長さに設定され、例えば0.1秒〜0.3秒程度とされる。
この風袋計測が終了すると同時に、ユニットnは、自身のバルブ20を開く。これによって、容器12に飲料が供給される。このとき、バルブ20は、比較的に大きな口径で開けられ、言わば大投入状態となる。そして、容器12に供給された飲料の重量が予め定めた切換重量Waに達した時点、つまり荷重Wx[n]から風袋計測値Wr[n]を差し引いた値(Wx[n]−Wr[n])が当該切換重量Waと一致した時点t4で、ユニットnは、バルブ20の口径を少し絞る。これによって、バルブ20から容器12への飲料の単位時間当たりの供給量が、大投入時の1/2〜1/3程度に低減され、言わば小投入状態となる。そして、容器12に供給された飲料の重量が供給停止重量Wb[n]に達した時点、つまり荷重Wx[n]から風袋計測値Wr[n]を差し引いた値(Wx[n]−Wr[n])が当該供給停止重量Wb[n]と一致した時点t5で、ユニットnは、バルブ20を閉じる。
ただし、バルブ20が閉じられても、容器12への飲料の供給は直ぐには停止されず、暫くの間、当該容器12に飲料が供給され続ける。これは、主に、バルブ20から容器12までの間に距離があること、および時点t5が到来してからバルブ20が閉じられるまでの間に時間遅れが生じることに起因する。従って、この飲料の供給が完全に停止され、さらに荷重Wx[n]が安定したと見なすことのできるまでの間、換言すれば時点t5から所定の安定待ち時間Twが経過するまでの間、ユニットnは、待機状態となる。この安定待ち時間Twは、目標とする充填重量、いわゆる目標値Wtや、要求される充填精度等にもよるが、例えば0.3秒〜0.5秒程度とされる。
そして、この安定待ち時間Twが経過した時点t6で、ユニットnは、容器12に供給された飲料の最終的な重量Ws[n]を計測するべく、最終計測を開始する。ユニットnは、時点t6から予め定めた最終計測時間Tsが経過するまでの間にわたって当該最終計測を行い、詳しくは、最終計測時間Tsが経過した時点t7での荷重Wx[n]から風袋計測値Wr[n]を差し引いた値(Wx[n]−Wr[n])を、上述の最終計量値Ws[n]とする。この最終計量値Ws[n]もまた、メモリ192に記憶される。なお、最終計測時間Tsは、上述の安定待ち時間Twと同様、目標値Wtや要求される充填精度等によって異なるが、例えば0.3秒〜0.5秒程度とされる。
この最終計測の終了後、ユニットnは、所定のエンド位置Peに到達した時点t8で、上述の最終計量値Ws[n](厳密には当該最終計量値Ws[n]を表すデータ)をコントローラ36に送信する。これにより、コントローラ36は、ユニットnによる最終計量値Ws[n]、つまりユニットnによって容器12に充填された飲料の重量を認識する。なお、ユニットnがエンド位置Peに到達したか否かもまた、上述の位置データに基づいて認識される。
コントローラ36は、ユニットnによる最終計量値Ws[n]が所定の規格を満足するか否か、詳しくは当該最終計量値Ws[n]が目標値Wtを基準とする所定の範囲Wt±β内に入っているか否かを判断する。そして、この規格(Wt−β≦Ws[n]≦Wt+β)を満足しない場合には、当該規格を満足しない容器12が製造ラインから排除されるように、上述の選別機に指示を与える。
なお、ユニットnは、例えばバルブ20が詰まっている等の理由によって、エンド位置Peに到達するまでの間に最終計量値Ws[n]を得られない、換言すれば当該ユニットnに対して時点t7が到来しない場合がある。このような場合、ユニットnは、最終計量値Ws[n]として“Error”というデータを、コントローラ36に送信する。この場合も、コントローラ36は、当該“Error”とされた容器12が製造ラインから排除されるように、選別機に指示を与える。
エンド位置Peを通過した容器12は、上述の零点計測開始位置Pzに到達する前に、図2に矢印106で示すように、搬出用スターホイール46によってユニット14(載置台16)から取り除かれる。これで、ユニットnによる一連の充填動作が完了する。ユニットnから取り除かれた容器12は、搬出用コンベヤ108によって、矢印108に示すように搬送され、上述の選別機に送られる。
ところで、上述の時点t5においてバルブ20が閉じられた後に容器12に供給される飲料の重量、つまり落差量ΔW[n]は、一定ではなく、環境温度や貯槽28内の圧力(飲料の液面高さ)に応じて経時的に変化する。また、各ユニット14,14,…は、互いに同型であるものの、厳密には、それぞれの特性、例えば各計量機18,18,…(ロードセル184,184,…)の出力応答特性や対温度特性、或いは各バルブ20,20,…の口径や開閉動作時の応答性等は、互いに異なる。従って、これらの特性の違いによって、各ユニット14,14,…間で落差量ΔW[n]に差異が生じる。さらに、当該特性は、それぞれのユニット14毎に個別に経時変化するので、かかる特性の変化もまた、落差量ΔW[n]の経時変化の要因となる。
このため、この実施形態に係る重量式充填装置10は、各ユニット14,14,…において落差量ΔW[n]が個別に経時変化しても、常に正確な定量充填を実現するべく、当該落差量ΔW[n]の変化に応じて供給停止重量Wb[n]を補正するという、落差補正機能を備えている。この落差補正機能の詳細は、次の通りである。
即ち、任意のユニットnによって得られた最終計量値Ws[n]を式で表すと、上述の落差量ΔW[n]および供給停止重量Wb[n]によって数1のように表される。
そして、重量式充填装置10においては、この最終計量値Ws[n]が目標値Wtと等価であること、つまり次の数2が満足されることが、理想である。
ここで、ユニットnによる次の充填動作において、何らかの原因によって落差量ΔW[n]がγだけ変化したとする。この場合、最終計量値Ws[n]は、次の数3のようになる。
この数3から明らかなように、落差量ΔW[n]がγだけ変化すると、最終計量値Ws[n]も同量(γ)だけ変化する。つまり、上述の数2が満足されなくなる。この数2が満足されるようにするには、現在の供給停止重量Wb[n]から当該落差量ΔW[n]の変化分γだけ差し引いた値(Wb[n]−γ)を、新たな供給停止重量Wb[n]として、次の充填動作に備えればよい。即ち、次の数4に基づいて当該供給停止重量Wb[n]を補正(更新)すればよい。
なお、この数4において、Wb[n](NEW)は、新たな供給停止重量Wb[n]であり、Wb[n](PRESENT)は、現在の供給停止重量Wb[n]である。また、変化分γは、上述の数3の変形式である次の数5によって求められる。
ただし、補正後の供給停止重量Wb[n](Wb[n](NEW))が適用されるのは、少なくとも次の充填動作においてユニットnに時点t4が到来した後であり、それまでには、他のユニットk(k;ユニットn以外のユニット14,14,…の番号(1〜N,k≠n)を表すインデックス)によっても同様に充填動作が行われる。よって、この間、例えば貯槽28に飲料が補充されないとすると、当該貯槽28内の飲料の貯蔵量、つまり圧力は、時間の経過と共に減少する。一方、貯槽28に飲料が補充されると、当該貯槽28内の圧力は一気に増大する。また、この補充によって、貯槽28内の温度が急激に変化することもあり得る。いずれにせよ、任意のユニットnによって次に充填動作が行われるときと、その前に充填動作が行われたときとでは、貯槽28内の圧力または温度が異なり、これによって落差量ΔW[n]に差異が生じる場合がある。従って、仮に上述の数4に基づいて補正された供給停止重量Wb[n]が次の充填動作に適用されるとすると、当該落差量ΔW[n]の変化に十分に対応できず、換言すれば満足できる応答性が得られない、という不具合が生じる。この場合、言うまでもなく、落差補正の正確性に欠けてしまうことになる。
そこで、この実施形態においては、高い応答性を得るべく、ユニットnについて落差補正をするとき、これよりも先に得られた他のユニットkによる計量結果を利用する。
具体的には、まず、他の任意のユニットkの落差量ΔW[k]を式で表すと、次の数6のようになる。
この数6において、Ws[k]は、他のユニットkによって得られた最終計量値であり、Wb[k]は、当該最終計量値Ws[k]が得られたときの当該他のユニットkの供給停止重量である。
そして、他の全てのユニットkにおける当該落差量ΔW[k]の平均値をΔW[k]aveとすると、この平均値ΔW[k]aveは、次の数7で表される。
ここで、この平均値ΔW[k]aveに対するユニットnの落差量ΔW[n]の比率を、所定係数としての落差量比率R[n]とし、次の数8のように定義する。
この落差量比率R[n]は、ユニットnの上述した特性(計量機18の出力応答特性やバルブ20の口径等;第1特性)と、他のユニットkの当該特性(第2特性)と、の差異を表す。このことは、それぞれの落差量ΔW[n]およびΔW[k]を、重量ではなく、体積で考えることによって、明らかになる。即ち、ユニットnの落差量ΔW[n]の体積をV[n]とすると、当該落差量ΔW[n]は、次の数9のようになる。
ここで、Dは、飲料の密度である。これと同様に、他のユニットkの落差量ΔW[k]の体積をV[k]とすると、当該落差量ΔW[k]は、次の数10で表される。
そして、この数10を上述の数7に代入すると、全ての他のユニットkにおける落差量ΔW[k]の平均値ΔW[k]aveは、次の数11のようになる。
さらに、これら数9および数11を上述の数8に代入すると、落差量比率R[n]は、次の数12のようになる。
この数12から明らかなように、落差量比率R[n]は、飲料の密度Dに関係なく、体積V[n]およびV[k]のみによって決まる。そして、これらの体積V[n]およびV[k]は、各ユニットnおよびkの特性に依存する。このことから、上述したように、落差量比率R[n]は、任意のユニットnの特性と他のユニットkの特性との差異に相関する、と言える。
次に、他のユニットkによる最終計量値Ws[k]と目標値Wtとの偏差をWe[k]とすると、この偏差We[k]は、次の数13で表される。
そして、他の全てのユニットkにおける当該偏差We[k]の平均値をWe[k]aveとすると、この平均値We[k]aveは、次の数14によって表される。
この平均値We[k]aveに上述の落差量比率R[n]を掛け合わせる(乗算する)ことで、ユニットnによってこれから得られるであろう最終計量値Ws[n]と目標値Wtとの偏差We[n]、つまり上述した変化量γを推測することができる。言い換えれば、所定計算式としての次の数15によって、予想される当該偏差We[n](変化量γ)の推測値We[n]’を求めることができる。
この数15が成立することの証明は、次の通りである。即ち、上述したように、ユニットnの落差量ΔW[n]は、数9によって表される。ここで、例えば、温度変化によって当該数9における飲料の密度Dがdという比率で変化したとする。これと共に、貯槽28内の圧力変化によって当該貯槽28からユニットnのバルブ20に流れる飲料の流量が変化し、これによって数9における体積V[n]がvという比率で変化したとする。この場合、落差量ΔW[n]は、次の数16のようになる。
この数16において、比率vおよびdのそれぞれは、1よりも小さい(v,d≪1)ので、“v・d≒0”と見なすことができる。従って、落差量ΔW[n]は、次の数17のように表される。
この数17から明らかなように、当該数17の第1項目“V[n]・D”は、上述の数9で表される落差量ΔW[n]に相当する。そして、第2項目“(v+d)・V[n]・D”が、当該落差量ΔW[n]の変化分γ、つまり偏差We[n]に相当する。
一方、他の全てのユニットkについても、同様に、上述の数10における飲料の密度Dは同じ比率dで変化すると共に、体積V[k]もまた同じ比率vで変化する。よって、当該他のユニットkにおける落差量ΔW[k]は、次の数18で表される。
そして、この数18の第2項目“(v+d)・V[k]・D”が、ユニットkの偏差We[k]に相当する。つまり、当該偏差We[k]は、次の数19で表される。
そして、この偏差We[k]の全ての他のユニットkにおける平均値We[k]aveに対して、上述の数12で表される落差量比率R[n]を掛け合わせると、次の数20のようになる。
この数20から判るように、他の全てのユニットkにおける偏差We[k]の平均値We[k]aveに落差量比率R[n]を掛け合わせることで、上述の数17における第2項目“(v+d)・V[n]・D”、つまり任意のユニットnの偏差We[n]を推測することができる。これによって、上述の数15が成立することが証明された。
このように、ユニットnにおいて予想される偏差We[n]の推測値We[n]’(変化量γ)は、上述の数15によって求めることができる。従って、上述の数4における変化量γに代えて、当該推測値We[n]’を用いれば、他のユニットkの計量結果に基づいて供給停止重量Wb[n]を補正するための次の数21の演算式が完成する。
なお、この数21に基づいて供給停止重量Wb[n]が補正されるタイミングは、ユニットnによる次回の充填動作において小投入状態にあるとき、例えば時点t4が到来した直後、とするのが望ましい。このようにすれば、当該次回の充填動作において、容器12に供給された飲料の重量(Wx[n]−Wr[n])がこの補正後の供給停止重量Wb[n]と一致したときに、ユニットnのバルブ20が閉じられるようになる。
また、上述したようにユニットnの特性は経時変化するが、その度合は、環境温度や貯槽28内の圧力の変化に比べて非常に小さく、かつ緩やかである。換言すれば、ユニットnにおける偏差We[n]を推定するのに用いられる上述の落差量比率R[n]は、当該環境温度や貯槽28内の圧力に比べて、顕著には変わらない。そこで、この実施形態では、当該落差量比率R[n]については、ユニットnによる充填動作が繰り返される度にこれを更新するのではなく、言わば間欠的に、具体的には当該ユニットnによる充填動作がM回繰り返される毎に1回、更新するようにしている。なお、Mは、例えば5〜20の値に設定される。
このように、この実施形態における落差補正機能によれば、任意のユニットnについて落差補正をするのに、これよりも先に得られた他のユニットkによる計量結果が利用されるので、当該落差補正の応答性が向上する。また、他のユニットkによる計量結果として複数のユニット14,14,…による複数の計量結果が利用され、詳しくは複数の偏差We[k]の平均値We[k]aveに基づいて任意のユニットnの偏差We[n]が推定されるので、例えば落差量ΔW[n]およびΔW[k]が大きく変化しても、このことによる落差補正への影響が軽減される。そして、このように平均値We[k]aveを用いることで、言わば移動平均処理と同様の作用が得られ、このため、機械的振動等の突発的なノイズの影響も受け難くなる。従って、より高精度な落差補正が実現される。
ただし、厳密には、1周分のユニット14,14,…の計量結果をもって任意のユニットnについて落差補正をするとき、他の全てのユニットkの計量結果を利用することはできない。これは、ユニットnについて落差補正をする(供給停止重量Wb[n]を更新する)タイミングである時点t4において、他のユニットkのうち未だ計量結果(最終計量値Ws[k])が得られていないもの、換言すれば未だエンド位置Peに到達していないものがあるからである。従って、実際には、他の一部のユニットk’(k’∈k)による計量結果のみが利用される。(なお、こうした一部のユニットk’による計量結果として、1周前のものを適用することは可能である。このようにした場合でも、上述の従来技術と同様に例えば同一のユニットnによる2以上の計量結果の平均値を求めるよりは、高い応答性が得られる。)
具体的には、ユニットnについて時点t4が到来したときに、他のユニットkのうちエンド位置Peに到達したばかりのものから当該ユニットnの前にあるものまでが、上述のユニットk’から外される。換言すれば、他のユニットkのうち、ユニットnよりもq(q;自然数)だけ前方にあるものが、エンド位置Peに到達したばかりであるとすると、“n−q”番〜“n−1”番の各ユニット14,14,…が、当該ユニットk’から外される。なお、“n−q”の値が零以下(n−q≦0)のときは、ユニットk’から外される各ユニット14,14,…の先頭番号は“N+n−q”番となる。また、“n−1”の値が零(n−1=0)のとき、つまりn=1のときは、“N(=36)”番のユニット14が、ユニットk’から外される最後尾のものとなる。
そして、かかる他の一部のユニットk’による計量結果に基づいて、ユニットnについて落差補正が行われる。即ち、まず、上述の数7に代えて、次の数22に基づいて当該ユニットk’における落差量ΔW[k’]の平均値ΔW[k’]aveが求められる。
そして、この平均値ΔW[k’]aveを用いて落差量比率R[n]が求められ、つまり上述した数8に代えて次の数23に基づいて当該落差量比率R[n]が求められる。
さらに、上述の数14に代えて次の数24に基づいて、他の一部のユニットk’における偏差We[k’]の平均値We[k’]aveが求められる。
そして、この数24に基づいて求められた平均値We[k’]aveを用いてユニットnの予想される偏差We[n]が推測され、即ち上述した数15に代えて次の数25によって当該偏差We[n]の推測値We[n]’が求められる。
この数25によって求められた推測値We[n]’を上述の数21に代入することで、ユニットnの供給停止重量Wb[n]が補正される。
さて、かかる落差補正機能を備えた重量式充填装置10では、まず、実際の稼動に先立って、調整モードにより、各ユニット14,14,…の落差量比率R[n]および供給停止重量Wb[n]が設定される。
即ち、まず、コントローラ36の操作キー368によって、調整モードが選択される。そして、上述のパラメータ、具体的には零点計測時間Tz、風袋計測時間Tr、安定待ち時間Tw、最終計測時間Ts、切換重量Waおよび目標値Wtが入力される。また、各ユニット14,14,…に共通の仮の供給停止重量Wb[n]も、当該パラメータとして入力される。さらに、この調整モードにおいて各ユニット14,14,…に実行させる充填動作の回数J、および上述した数値M(言わば落差量比率R[n]の更新周期M)もまた、パラメータとして入力される。入力されたパラメータは、コントローラ36内のメモリ372に記憶され、言わば設定される。このとき併せて、上述した落差量比率R[n]の初期値、例えば各ユニット14,14,…に共通の“1”という値も、パラメータとして設定される。これらのパラメータは、実行回数Jおよび更新周期Mを除いて、各ユニット14,14,…にも送信され、各ユニット14,14,…内のメモリ372に記憶され、つまり設定される。
そして、操作キー368によって調整モードによる稼動開始の旨の操作が成されると、重量式充填装置10の稼動が開始され、即ちモータ34および外部装置が起動すると共に、上述した要領(図2および図5参照)で各ユニット14,14,…による充填動作が開始される。この充填動作は、各ユニット14,14,…によって上述の実行回数Jだけ繰り返される。そして、このJ回の充填動作が終了した後、重量式充填装置10の稼動が停止する。
このJ回の充填動作によって得られた各ユニット14,14,…による最終計量値Ws[n]は、順次、コントローラ36へ送信される。コントローラ36は、各ユニット14,14,…から送られてきた最終計量値Ws[n]に基づいて、当該各ユニット14,14,…の落差量ΔW[n]を個別に算出する。具体的には、上述した数1の変形式である次の数26に基づいて、当該落差量ΔW[n]を算出する。なお、この数26に基づく落差量ΔW[n]の算出においては、最終計量値Ws[n]として、J回の充填動作によって得られたJ個の値の平均値が用いられる。
さらに、コントローラ36は、この数26によって求めたユニット14毎の落差量ΔW[n]に基づいて、当該ユニット14毎の落差量比率R[n]を求める。具体的には、上述の数23(数22を含む)を用いて、当該落差量比率R[n]を算出する。算出された落差量比率R[n]は、コントローラ36のメモリ372に記憶され、詳しくは上述のパラメータとして設定された値に上書きされる。
そしてさらに、コントローラ36は、上述の数26によって求めた落差量ΔW[n]を次の数27に代入することで、それぞれのユニット14毎の供給停止重量Wb[n]を求める。この供給停止重量Wb[n]もまた、メモリ372に記憶され、詳しくは上述のパラメータとして設定された値に上書きされる。
コントローラ36は、算出したこれらの落差量比率R[n]および供給停止重量Wb[n]を、それぞれのユニット14に送信する。それぞれのユニット14に送信された落差量比率R[n]および供給停止重量Ws[n]は、当該ユニット14内のメモリ192に記憶され、詳しくは上述のパラメータとして設定された値に上書きされる。
このようにして調整モードによって各ユニット14,14,…の落差量比率R[n]および供給停止重量Wb[n]が設定された後、稼動モードによって、実際の(生産用の)稼動が行われる。
即ち、操作キー368によって稼動モードが選択され、さらに稼動開始の旨の操作が成されると、上述の如くモータ34および外部装置が起動すると共に、各ユニット14,14,…による充填動作が開始される。そして、この充填動作が行われる毎に、各ユニット14,14,…からコントローラ36にそれぞれの最終計量値Ws[n]が順次送信される。コントローラ36は、各ユニット14,14,…から送られてくる最終計量値Ws[n]が上述した規格(Wt−β≦Ws[n]≦Wt+β)を満足するか否かを判断し、当該規格を満足しない容器12については製造ラインから排除されるように、選別機に指示を与える。
さらに、コントローラ36は、上述の数23(数22を含む)に基づいて各ユニット14,14,…の落差量比率R[n]を個別に算出し、算出した落差量比率R[n]を自身のメモリ372に一時記憶する。そして、この記憶した落差量比率R[n]が、それぞれのユニット14毎にM個ずつ出揃ったところで、その平均値を求め、求めた平均値を新たな落差量比率R[n]として設定する。つまり、自身のメモリ192に上書きする。この新たな落差量比率R[n]は、それぞれのユニット14にも送信され、当該ユニット14においても設定され、つまりメモリ192に上書きされる。
そして、コントローラ36は、上述した数24に基づいて偏差We[k’]の平均値We[k’]aveを求める。この平均値We[k’]aveは、それぞれのユニット14に送信され、当該ユニット14のメモリ192に記憶される。
それぞれのユニット14は、上述の平均値We[k’]aveに基づいて、つまり数25に基づいて、自身の次の充填動作において予想される偏差We[n]を推測する。そして、その推定値We[n]’を用いて、つまり上述の数21に基づいて、供給停止重量Wb[n]を補正する。この補正後の供給停止重量Wb[n]は、コントローラ36にも送信され、当該コントローラ36内のメモリ372に上書きされる。
このような一連の動作を実現するために、コントローラ36のCPU362、およびそれぞれのユニット14(計量機18)のCPU180は、具体的には次のようなマルチタスク処理を行う。なお、この処理中に、例えば操作キー368によって強制終了の旨の割り込み操作が成された場合には、当該実行中の処理は強制的に終了される。
まず、上述したように操作キー368の操作によって調整モードが選択されると、コントローラ36のCPU362は、図6および図7に示す調整モードタスクを実行する。即ち、図6のステップS101において、各ユニット14,14,…に対し、調整モードが選択されたことを通知する。そして、ステップS103において、操作キー368によって上述した各パラメータが入力されたか否かを判断する。
ここで、任意のパラメータが入力されると、CPU362は、ステップS105に進み、入力されたパラメータを設定する。つまり、メモリ372に記憶する。このとき、最初に入力されたパラメータの設定と併せて、上述した落差量比率R[n]の初期値“1”も設定される。そして、CPU362は、ステップS107に進み、全てのパラメータが設定されたか否かを判断し、未だ全てのパラメータが設定されていない場合には、ステップS103に戻る。一方、全てのパラメータが設定された場合には、ステップS107からステップS109に進む。
ステップS109において、CPU362は、設定されたパラメータを、各ユニット14,14,…に送信する。ただし、上述した調整モードにおける充填動作の実行回数J、および落差量比率R[n]の更新周期Mについては、送信されない。そして、CPU362は、ステップS111に進み、操作キー368によって稼動開始の旨の操作が成されたか否か、つまり当該操作キー368から稼動開始命令が入力されたか否かを判断する。
このステップS111において稼動開始命令が入力されると、CPU362は、ステップS113に進み、モータ34を起動させると共に、搬入用コンベヤ42等の外部装置に対して起動を指示する。そして、ステップS115において、各ユニット14,14,…に対し稼動開始を指示する。さらに、ステップS117において、タイミング制御タスクの実行を開始する。このタイミング制御タスクについては、後で詳しく説明する。
そして、ステップS119において、それぞれのユニット14に容器12がセットされるまで、例えばセットされたと十分に見なすことのできる一定の時間が経過するまでの間、CPU362は、待機状態となる。このステップS119における一定時間の経過後、CPU362は、ステップS121に進み、上述した実行回数Jをカウントするためのカウンタjに“1”をセットする。そして、このステップS121の実行後、図7のステップS123に進む。
このステップS123において、CPU362は、各ユニット14,14,…の番号を特定するためのインデックスnに“1”を設定する。つまり、これから実行しようとする処理の対象となるユニットnを指定する。そして、ステップS125において、このユニットnがエンド位置Peに到達したか否かを判断する。この判断は、後述するタイミング制御タスクの実行結果に基づいて行う。そして、ユニットnがエンド位置Peに到達したら、ステップS125からステップS127に進む。
ステップS127において、CPU362は、ユニットnに対して最終計量値Ws[n]の取得を要求する。そして、ステップS129に進み、当該ユニットnから最終計量値Ws[n]が送られてくるのを待つ。この最終計量値Ws[n]を受信すると、CPU362は、ステップS131に進み、受信した最終計量値Ws[n]が上述した“Error”を示すか否かを判断する。ここで、最終計量値Ws[n]が“Error”を示さない場合には、さらにステップS133に進み、今度は、当該最終計量値Ws[n]が規格(Wt−β≦Ws[n]≦Wt+β)を満足するか否かを判断する。そして、最終計量値Ws[n]が当該規格を満足する場合には、ステップS135に進む。
ステップS135において、CPU362は、この調整モードで得られた最終計量値Ws[n]の平均値を後で算出するべく、当該最終計量値Ws[n]をメモリ372内の専用領域に記憶する。そして、このステップS135の実行後、ステップS137に進む。なお、上述のステップS131において最終計量値Ws[n]が“Error”を示すとき、またはステップS133において最終計量値Ws[n]が上述の規格を満足しないときは、直接、ステップS137に進む。
ステップS137において、CPU362は、上述したインデックスnの値が“N(=36)”であるか否かを判断する。ここで、インデックスnの値が“N”でないとき、つまり全てのユニット14,14,…について未だステップS125〜ステップS135を一通り実行していないとき、さらに換言すれば全てのユニット14,14,…の最終計量値Ws[n]を未だ一通り取得していないとき、CPU362は、別のユニット14の最終計量値Ws[n]を取得するべく、ステップS139に進む。そして、このステップS139において、インデックスnの値を“1”だけインクリメントした後、ステップS125に戻る。一方、インデックスnの値が“N”のとき、つまり全てのユニット14,14,…の最終計量値Ws[n]を一通り取得し終えたときは、ステップS137からステップS141に進む。
ステップS141において、CPU362は、上述したカウンタjの値がステップS105で設定された実行回数Jの値と等しいか否かを判断する。ここで、カウンタjの値が実行回数Jの値よりも小さいとき、つまり各ユニット14,14,…の最終計量値Ws[n]を未だJ個ずつ取得していないときは、さらに当該最終計量値Ws[n]を1つずつ取得するべく、ステップS143に進む。そして、このステップS143において、カウンタjの値を“1”だけインクリメントした後、ステップS123に戻る。一方、カウンタjの値が実行回数Jの値と一致したとき、つまり各ユニット14,14,…の最終計量値Ws[n]をJ個ずつ取得し終えたときは、ステップS141からステップS145に進む。
ステップS145において、CPU362は、上述のステップS117で開始したタイミング制御タスクの実行を終了する。そして、ステップS147において、各ユニット14,14,…に稼動停止を指示する。さらに、ステップS149において、モータ34を停止させると共に、外部装置に対して駆動停止を指示する。
そして、CPU362は、ステップS151において、上述した数26に基づいて各ユニット14,14,…の落差量ΔW[n]を個別に算出する。なお、この算出においては、CPU362は、それぞれのユニット14毎に、上述のステップS135で記憶した最終計量値Ws[n]の平均値を求め、この平均値を数26に代入する。従って、ここでは、ユニット14毎の落差量ΔW[n]の平均値が求められる。
さらに、CPU362は、ステップS153において、上述した数23(数22を含む)に基づいて各ユニット14,14,…の落差量比率R[n]を個別に算出する。そして、算出した落差量比率R[n]をメモリ372に上書きし、つまり当該落差量比率R[n]の値を更新する。
そしてさらに、CPU362は、ステップS155において、各ユニット14,14,…の供給停止重量Wb[n]を、上述した数27に基づいて個別に算出する。そして、算出した供給停止重量Wb[n]をメモリ372に上書きし、つまり当該供給停止重量Wb[n]の値を更新する。
このように落差量比率R[n]および供給停止重量Wb[n]を更新した後、CPU362は、ステップS157において、当該更新後の落差量比率R[n]および供給停止重量Wb[n]を各ユニット14,14,…に送信する。そして、ステップS159において、調整モードによる一連の処理が完了した旨を表すメッセージを一定時間(例えば3秒〜5秒程度)にわたってディスプレイ370に表示する。このステップS159の実行後、CPU362は、一連の調整モードタスクを終了する。
次に、図8を参照して、上述のタイミング制御タスクの詳細を説明する。このタイミング制御タスクにおいて、CPU362は、まず、ステップS201で、各エンコーダ38および40の出力パルスを取得する。そして、ステップS203において、上述したインデックスnに“1”を設定した後、ステップS205に進む。
このステップS205において、CPU362は、上述のステップS201で取得した各エンコーダ38および40の出力パルスに基づいて、ユニットnが零点計測開始位置Pzに到達したか否かを判断する。ここで、ユニットnが零点計測開始位置Pzに到達した場合は、ステップS207において、その旨を上述した位置データによって当該ユニットnに通知した後、ステップS209に進む。ユニットnが零点計測開始位置Pzに到達していない場合には、ステップS207をスキップして、直接、ステップS209に進む。
ステップS209において、CPU362は、ユニットnが風袋計測開始位置Prに到達したか否かを判断する。この判断もまた、上述のステップS201で取得した各エンコーダ38および40の出力パルスに基づいて行われる。ここで、ユニットnが風袋計測開始位置Prに到達した場合、CPU362は、ステップS211に進み、その旨を位置データによって当該ユニットnに通知した後、さらにステップS213に進む。一方、ユニットnが風袋計測開始位置Prに到達していない場合には、ステップS211をスキップして、直接、ステップS213に進む。
このステップS213において、CPU362は、上述の各エンコーダ38および40の出力パルスに基づいて、ユニットnがエンド計測開始位置Peに到達したか否かを判断する。ここで、ユニットnがエンド計測開始位置Peに到達した場合は、ステップS215において、その旨を位置データによってユニットnに通知した後、ステップS217に進む。ユニットnがエンド計測開始位置Peに到達していない場合には、ステップS215をスキップして、直接、ステップS217に進む。
ステップS217において、CPU362は、インデックスnの値が“N”であるか否かを判断する。ここで、インデックスnの値が“N”でないとき、つまり全てのユニット14,14,…について未だステップS205〜ステップS215を一通り実行し終えていないときは、別のユニット14について当該ステップS205〜ステップS215を実行するべく、ステップS219に進む。そして、このステップS219において、インデックスnの値を“1”だけインクリメントした後、ステップS205に戻る。一方、インデックスnの値が“N”のとき、つまり全てのユニット14,14,…についてステップS205〜ステップS215を一通り実行し終えた場合は、改めて全てのユニット14,14,…についてステップS205〜ステップS215を実行するべく、ステップS201に戻る。
これに対して、それぞれのユニット14(n)のCPU180は、上述の如くコントローラ36のCPU362から調整モードが選択された旨の通知を受け付けると、図9に示す対調整モードタスクを実行する。
即ち、CPU180は、まず、ステップS301において、コントローラ36から上述したパラメータを受信したか否かを判断する。そして、パラメータを受信すると、ステップS303に進み、当該受信したパラメータをメモリ192に記憶し、つまり設定する。そして、このパラメータの設定後、ステップS305に進み、コントローラ36から稼動開始指示が送られてくるのを待つ。
このステップS305において、コントローラ36から稼動開始指示を受け付けると、CPU180は、ステップS307に進み、計量タスクを実行し始める。この計量タスクについては、後で詳しく説明する。そして、ステップS309に進み、コントローラ36から、最終計量値Ws[n]の取得要求を受け付けたか否かを判断する。
このステップS309において最終計量値Ws[n]の取得要求を受け付けると、CPU180は、ステップS311に進み、自身の最終計量値Ws[n]をコントローラ36へ送信し、その後、ステップS309に戻る。一方、ステップS309において最終計量値Ws[n]の取得要求を受け付けていない場合には、ステップS313に進み、コントローラ36から稼動停止指示を受け付けたか否かを判断する。そして、この稼動停止指示を受け付けていない場合には、ステップS309に戻る。
ステップS313において稼動停止指示を受け付けると、CPU180は、ステップS315に進み、上述のステップS307で開始した計量タスクの実行を終了する。そして、ステップS317において、コントローラ36から新たな落差量比率R[n]および供給停止重量Wb[n]が送られてくるのを待つ。
ステップS317においてコントローラ36から新たな落差量比率R[n]および供給停止重量Wb[n]を受信すると、CPU180は、ステップS319に進み、受信した落差量比率R[n]および供給停止重量Wb[n]をメモリ192に上書きし、つまりこれらの値を更新する。そして、このステップS319の実行後、この図9で示す一連の対調整モードタスクを終了する。
次に、図10および図11を参照して、上述の計量タスクの詳細を説明する。この計量タスクにおいて、CPU180は、まず、図10のステップS401に進み、所定のフラグFに“0”を設定する。このフラグFは、CPU180(厳密には当該CPU180を有するユニット14)が、今現在、上述した小投入状態にあるか否かを表す指標であり、当該フラグFが“0”のときは、少なくとも小投入状態ではないことを表す。一方、このフラグFが“1”のときは、CPU180が小投入状態にあることを表す。
ステップS401の実行後、CPU180は、ステップS403に進み、自身(厳密には当該CPU180を有するユニット14)が零点計測開始位置Pzに到達したか否かを判断する。この判断は、コントローラ36から送られてくる上述の位置データに基づいて行われる。そして、零点計測開始位置Pzに到達したことを判断すると、CPU180は、ステップS405に進み、上述した零点計測時間Tzを計測するためのタイマをリセットした後、直ぐにスタートさせる。そして、ステップS407において、当該零点計測時間Tzが経過したか否かを判断する。
ステップS407において零点計測時間Tzが経過すると、CPU180は、ステップS409に進み、零点計測値Wz[n]を得る。具体的には、零点計測時間Tzが経過した時点(t1)での荷重Wx[n]を、当該零点計測値Wz[n]とする。そして、この零点計測値Wz[n]を、メモリ192に一時記憶する。
さらに、CPU180は、ステップS411に進み、上述の位置データに基づいて自身が風袋計測開始位置Prに到達したか否かを判断する。そして、風袋計測開始位置Prに到達すると、ステップS413に進み、風袋計測時間Trを計測するためのタイマをリセットし、直ぐにスタートさせた後、ステップS415において、当該風袋計測時間Trが経過したか否かを判断する。そして、風袋計測時間Trが経過すると、ステップS417に進み、風袋計測値Wr[n]を得る。具体的には、風袋計測時間Trが経過した時点(t3)での荷重Wx[n]を、当該風袋計測値Wr[n]とする。この風袋計測値Wr[n]もまた、メモリ192に一時記憶される。
そしてさらに、CPU18は、ステップS418に進み、上述の風袋計測値Wr[n]から零点計測値Wz[n]を差し引くことで、風袋重量Wf(=Wx[n]−Wz[n])を算出する。そして、ステップS419において、当該風袋重量Wf[n]を基に、現在、適正な容器12がセットされているか否かを判断する。具体的には、風袋重量Wf[n]が上述した所定の範囲から外れている場合は、適正な容器12がセットされていない(または容器12自体がセットされていない)と判断し、改めて零点計測開始位置Pzに到達するのを待つべく、ステップS403に戻る。一方、風袋重量Wf[n]が当該所定の範囲内にあるときは、適正な容器12がセットされているものと判断して、ステップS419からステップS421に進む。
ステップS421において、CPU180は、容器12への飲料の供給が開始されるようにバルブ20を制御する。これによって、上述した大投入状態となる。そして、ステップS180は、図11のステップS423に進み、容器12に供給された飲料の重量が切換重量Waに到達したか否かを判断する。具体的には、上述したように荷重Wx[n]から風袋計測値Wr[n]を差し引いた値(Wx[n]−Wr[n])が当該切換重量Waと一致したか否かを判断する。
このステップS423において供給済みの飲料の重量が未だ切換重量Waに到達していない場合は、CPU180は、ステップS425に進み、自身がエンド位置Peに到達したか否かを判断する。この判断もまた、上述の位置データに基づいて行われる。そして、未だエンド位置Peに到達しない場合には、ステップS423に戻る。
ステップS423において供給済みの飲料の重量が切換重量Waに達すると(時点t4)、CPU180は、ステップS427に進み、バルブ20の口径を少し絞る。これによって、バルブ20は、大投入状態から小投入状態へと遷移する。そして、CPU180は、かかる小投入状態になったことを表現するべく、ステップS429において、上述のフラグFに“1”を設定する。
このフラグFの設定後、CPU180は、ステップS431に進み、供給済みの飲料の重量が供給停止重量Wb[n]に到達したか否かを判断する。具体的には、荷重Wx[n]から風袋計測値Wr[n]を差し引いた値(Wx[n]−Wr[n])が当該供給停止重量Wb[n]と一致したか否かを判断する。ここで、供給済みの飲料の重量が未だ供給停止重量Wb[n]に達していない場合は、ステップS433に進み、自身がエンド位置Peに到達したか否かを判断する。そして、未だエンド位置Peに到達しない場合には、このステップS433からステップS431に戻る。
一方、ステップSステップS431において供給済みの飲料の重量が供給停止重量Wb[n]に達すると(時点t5)、CPU180は、ステップS435において上述のフラグFに“0”を設定した後、さらにステップS437においてバルブ20を閉じる。そして、ステップS439において、上述した安定待ち時間Twを計測するためのタイマをリセットし、スタートさせる。そして、ステップS441に進む。
ステップS441において、CPU180は、上述の安定待ち時間Twが経過したか否かを判断する。ここで、この風袋計測時間Trが未だ経過していない場合には、さらにステップS443に進み、自身がエンド位置Peに到達したか否かを判断する。そして、エンド位置Peに到達していない場合には、ステップS441に戻る。
ステップS441において安定待ち時間Twが経過すると(時点t6)、CPU180は、ステップS445に進み、上述の最終計測時間Tsを計測するためのタイマをリセットし、スタートさせる。そして、ステップS447において、この最終計測時間Tsが経過したか否かを判断し、経過していない場合には、さらにステップS449において、自身がエンド位置Peに到達したか否かを判断する。そして、エンド位置Peに到達していない場合には、ステップS447に戻る。
ステップS447において最終計測時間Tsが経過すると、CPU180は、ステップS451に進み、最終計量値Ws[n]を算出する。具体的には、最終計測時間Tsが経過した時点(t7)での荷重Wx[n]から風袋計測値Wr[n]を差し引いた値(Wx[n]−Wr[n])を、最終計量値Ws[n]とする。そして、この最終計量値Ws[n]をメモリ192に記憶する。これによって、1回の充填動作が終了する。そして、このステップS451の実行後、改めて充填動作を繰り返すべく、CPU180は、図10のステップS403に戻る。
なお、ステップS449においてエンド位置Peに到達した場合、つまり安定待ち時間Twは経過したものの最終計量値Ws[n]が得られなかった場合には、CPU180は、ステップS453に進み、当該最終計量値Ws[n]として上述した“Error”というデータを設定する。そして、このステップS453の実行後、図10のステップS403に戻る。また、ステップS443においてエンド位置Peに到達した場合、つまり容器12への飲料の充填は終了したものの最終計量値Ws[n]が得られなかった場合も、同様に、ステップS453を経て、図10のステップS403に戻る。
さらに、ステップS433においてエンド位置Peに到達した場合、つまり小投入状態にあるときに当該エンド位置Peに到達した場合には、CPU180は、ステップS455においてフラグFに“0”を設定した後、ステップS457においてバルブ20を閉じる。そして、ステップS453を経て、図10のステップS403に戻る。また、ステップS425においてエンド位置Peに到達した場合、つまり大投入状態にあるときに当該エンド位置Peに到達した場合には、ステップS457においてバルブ20を閉じた後、ステップS453を経由して、図10のステップS403に戻る。
次に、稼動モードにおけるコントローラ36のCPU362の動作について説明する。即ち、操作キー368の操作によって稼動モードが選択されると、CPU362は、図12のステップS501において、各ユニット14,14,…に対し、調整モードが選択されたことを通知する。そして、ステップS503において、操作キー368から稼動開始命令が入力されたか否かを判断する。
この稼動開始命令が入力されると、CPU362は、ステップS503からステップS505に進み、モータ34を起動させると共に、外部装置に対して起動を指示する。そして、ステップS507において、各ユニット14,14,…に稼動開始を指示する。さらに、ステップS509において、上述した図8に示すタイミング制御タスクの実行を開始する。
そして、CPU362は、ステップS511において、それぞれのユニット14に容器12がセットされるまでの間、待機状態となる。このステップS511における一定時間の経過後、CPU362は、ステップS513においてデータ取得タスクを実行し始め、さらにステップS515においてパラメータ演算タスクを実行し始める。これによって、上述した要領で充填動作が繰り返されると共に、各ユニット14,14,…について個別に落差補正が行われる。なお、データ取得タスクおよびパラメータ演算タスクについては、後で詳しく説明する。
そして、CPU362は、ステップS517において、操作キー368によって稼動停止の旨の操作が成されたか否か、つまり当該操作キー368から稼動停止命令が入力されたか否かを判断する。ここで、稼動停止命令が入力されると、ステップS519に進み、上述のタイミング制御タスクを終了する。そして、ステップS521においてデータ取得タスクを終了し、さらにステップS523においてパラメータ演算タスクを終了した後、ステップS525に進む。
ステップS525において、CPU362は、各ユニット14,14,…に対して稼動停止を指示する。そして、ステップS527において、モータ34を停止させると共に、外部装置に対して駆動停止を指示する。これによって、CPU362は、図12で示される一連の稼動モードタスクを終了する。
図13を参照して、上述のデータ取得タスクの詳細を説明する。即ち、CPU362は、まず、ステップS601において、上述したインデックスnに“1”を設定する。そして、ステップS603において、ユニットnがエンド位置Peに到達したか否かを判断し、当該エンド位置Peに到達したら、ステップS605に進む。
このステップS605において、CPU362は、ユニットnに対して最終計量値Ws[n]の取得を要求する。そして、ステップS607において、ユニットnから最終計量値Ws[n]が送られてきたか否かを判断し、送られてきたら、ステップS609に進む。
ステップS609において、CPU362は、ユニットnから受信した最終計量値Ws[n]が“Error”でないかどうかを判断する。そして、“Error”でない場合は、さらにステップS611に進み、当該最終計量値Ws[n]が上述した規格(Wt−β≦Ws[n]≦Wt+β)を満足するか否かを判断する。そして、この規格を満足する場合には、ステップS613に進み、今回の充填動作によるユニットnの偏差We[n]を算出する。この算出は、当該最終計量値Ws[n]から目標値Wtを差し引くことで、行われる。そして、CPU362は、算出した偏差We[n]を、メモリ372に一時記憶する。
さらに、CPU362は、ステップS615において、ユニットnの落差量ΔW[n]を算出する。この算出は、上述した数26に基づいて行われ、算出された落差量ΔW[n]もまた、メモリ372に一時記憶される。そして、このステップS615の実行後、ステップS617に進む。
なお、上述のステップS609において最終計量値Ws[n]が“Error”である場合、またはステップS611において当該最終計量値Ws[n]が上述の規格を満たさない場合には、CPU362は、ステップS619に進む。そして、このステップS619において、ユニットnが製造ラインから排除されるように、上述の選別機に指示を与えた後、ステップS617に進む。
ステップS617において、CPU362は、インデックスnの値が“N”であるか否かを判断する。ここで、インデックスnの値が“N”でないとき、つまり全てのユニット14,14,…の最終計量値Ws[n]を一通り取得していないときは、ステップS621において当該インデックスnの値を“1”インクリメントした後、ステップS125に戻る。一方、インデックスnの値が“N”のとき、つまり全てのユニット14,14,…の最終計量値Ws[n]を一通り取得したときは、改めて最初(n=1)のユニット14から最終計量値Ws[n]を順次取得するべく、ステップS601に戻る。
次に、図14を参照して、パラメータ演算タスクの詳細を説明する。このパラメータ演算タスクでは、CPU362は、まず、ステップS701において、上述した落差量比率R[n]の更新周期Mをカウントするためのカウンタmに“1”を設定する。そして、ステップS703において、インデックスnに“1”を設定した後、ステップS705に進む。
このステップS705において、CPU362は、ユニットnに対してフラグFの取得を要求する。そして、ステップS707において、当該ユニットnからフラグFが送られてくるのを待ち、このフラグFが送られてくると、ステップS709に進み、当該フラグFが“1”であるか否かを判断する。ここで、フラグFが“1”のとき、つまりユニットnが小投入状態にあるときは、ステップS711に進む。一方、フラグFが“0”のとき、つまりユニットnが小投入状態にないときは、再度、ユニットnから当該フラグFを取得するべく、ステップS705に戻る。
ステップS711において、CPU362は、上述した数23(数22を含む)に基づいてユニットnの落差量比率R[n]を算出する。そして、算出した落差量比率R[n]の平均値を後で算出するべく、当該落差量比率R[n]を上述したメモリ372の専用領域に記憶する。
さらに、CPU362は、ステップS713において、上述した数24に基づいて他の一部のユニットk’の偏差We[k’]の平均値We[k’]aveを算出し、算出した平均値We[k’]aveをメモリ372に一時記憶する。そして、ステップS715において、当該平均値We[k’]をユニットnに送信した後、ステップS717において、当該ユニットnから供給停止重量Wb[n]が送られてくるのを待つ。
ステップS717においてユニットnから供給停止重量Wb[n]を受信すると、CPU362は、ステップS719に進み、この受信した供給停止重量Wb[n]をメモリ372に上書きする。つまり、当該供給停止重量Wb[n]の値を更新する。そして、ステップS721に進み、インデックスnの値が“N”であるか否かを判断する。ここで、インデックスnの値が“N”でないとき、つまり全てのユニット14,14,…について未だステップS705〜ステップS719を一通り実行していないときは、ステップS723において当該インデックスnの値を“1”だけインクリメントした後、ステップS705に戻る。一方、インデックスnの値が“N”のとき、つまり全てのユニット14,14,…についてステップS705〜ステップS719を一通り実行したときは、ステップS721からステップS725に進む。
ステップS725において、CPU362は、上述したカウンタmの値が調整モード(図6のステップS105)で設定された更新周期Mの値と等しいか否かを判断する。ここで、カウンタmの値が当該更新回数Mの値よりも小さいとき、つまり各ユニット14,14,…について落差量比率R[n]が未だM個ずつ算出されていないときは、ステップS727において当該カウンタmの値を“1”だけインクリメントした後、ステップS703に戻る。一方、カウンタmの値が更新回数Mの値と一致したとき、つまり各ユニット14,14,…について落差量比率R[n]がM個ずつ算出されたときは、ステップS729に進む。
このステップS729において、CPU362は、それぞれのユニット14毎に、上述のステップS711で記憶した落差量比率R[n]の平均値を算出すると共に、その算出結果を新たな落差量比率R[n]としてメモリ372に上書きする。つまり、当該落差量比率R[n]の値を更新する。そして、ステップS731において、当該新たな落差量比率R[n]を各ユニット14,14,…に個別に送信して、ステップS701に戻る。
これに対して、それぞれのユニット14(n)のCPU180は、上述の如くコントローラ36から稼動モードが選択された旨の通知を受けると、図15に示す対稼動モードタスクを実行する。
即ち、CPU180は、まず、ステップS801において、コントローラ36から稼動開始指示が送られてくるのを待つ。そして、この稼動開始指示を受けると、ステップS803に進み、上述した図10および図11に示す計量タスクの実行を開始する。さらに、ステップS805において、後述するパラメータ更新タスクの実行を開始した後、ステップS807に進む。
ステップS807において、CPU180は、コントローラ36から最終計量値Ws[n]の取得要求を受け付けたか否かを判断する。ここで、当該取得要求を受け付けると、ステップS809に進み、自身の最終計量値Ws[n]をコントローラ36に送信し、その後、ステップS807に戻る。一方、ステップS807において最終計量値Ws[n]の取得要求を受け付けない場合には、ステップS811に進み、コントローラ36から稼動停止指示を受け付けたか否かを判断する。そして、この稼動停止指示を受け付けていない場合には、ステップS807に戻る。
ステップS811において稼動停止指示を受け付けると、CPU180は、ステップS813に進み、上述のステップS803で開始した計量タスクの実行を終了する。そして、ステップS815において、上述のステップS805で開始したパラメータ更新タスクの実行を終了して、この図15で示される一連の対稼動モードタスクを終了する。
次に、図16を参照して、上述のパラメータ更新タスクの詳細を説明する。このパラメータ更新タスクにおいて、CPU180は、まず、ステップS901に進み、コントローラ36から上述した偏差We[k’]の平均値We[k’]aveが送られてきたか否かを判断する。そして、この平均値We[k’]aveを受信すると、ステップS903に進み、受信した平均値We[k’]aveに基づいて、自身の偏差We[n]を推測する。具体的には、当該平均値We[k’]aveと、メモリ192に記憶されている落差量比率R[n]とを、上述した数25に代入することで、偏差We[n]の推測値We[n]’を求める。
さらに、CPU180は、ステップS905において、上述のステップS903で求めた推測値We[n]’に基づいて、新たな供給停止重量Wb[n]を算出する。具体的には、当該推測値We[n]’と、現在の供給停止重量Wb[n](Wb[n](PRESENT))とを、上述の数21に代入することで、新たな供給停止重量Wb[n](Wb[n](NEW))を算出する。そして、算出した供給停止重量Wb[n]をメモリ192に上書きし、つまり当該供給停止重量Wb[n]の値を更新(補正)する。そしてさらに、この更新後の供給停止重量Wb[n]を、ステップS907においてコントローラ36に送信した後、ステップS901に戻る。
ステップS901において上述の平均値We[k’]aveを受信しないときは、CPU180は、ステップS909に進む。そして、このステップS909において、コントローラ36から新たに落差量比率R[n]が送られてきたか否かを判断する。ここで、この新たな落差量比率R[n]を受信すると、ステップS911に進み、当該落差量比率R[n]をメモリ192に上書きする。つまり、落差量比率R[n]の値を更新する。そして、このステップS911の実行後、ステップS901に戻る。なお、ステップS909においてコントローラ36から新たな落差量比率R[n]を受信しないときは、そのままステップS911に戻る。
以上のように、この実施形態によれば、複数のユニット14,14,…のうち任意のユニットnについて落差補正をするとき、これよりも先に得られた他のユニットkによる複数の計量結果が利用される。従って、例えば任意のユニットnについての落差補正が当該ユニットn自身の過去の計量結果に基づいて行われる場合に比べて、応答性の高いかつ高精度な落差補正を実現できる。つまり、例えばこの実施形態で説明したような多連型の重量式充填装置10に上述の従来技術が適用される場合とは異なり、応答性および精度の両方を同時に満足することができる。
また、各ユニット14,14,…間では、それぞれの特性の違いによって補償すべき落差量ΔW[n]に差異が生じるが、この差異は、上述の落差量比率R[n]を係数として用いることで補償される。さらに、当該特性が経時変化することに伴って落差量ΔW[n]も変化するが、この変化は、落差量比率R[n]が逐次更新されることで補償される。従って、各ユニット14,14,…の特性の違い、および当該特性の経時変化の影響を受けることなく、より正確な落差補正を実現できる。
なお、この実施形態においては、ユニット14,14,…の台数NをN=36としたが、これに限らず、当該Nの値は複数であればよい。また、被計量物は飲料に限らず、アルコールや油等の他の液体でもよい。さらに、液体に限らず、粉粒体等の固体を被計量物として充填する装置にも、この発明を適用できる。
そして、容器12に被計量物を供給するのではなく、それぞれの計量機18(または載置台16)に対して、直接、被計量物を供給する構成であってもよい。このような構成は、例えば載置台16に代えてホッパを設けることで実現できる。
また、上述した図6から図16に示す各フローチャートは、飽くまで一例であって、この実施形態で説明したのと同様の作用および効果が得られるのであれば、これらに限定されるものではない。例えば、それぞれのユニット14(計量機18)は荷重データWx[n]を出力するに留め、供給停止重量Wb[n]の補正(更新)やバルブ20の制御等を、コントローラ36によって一括して処理するようにしてもよい。
さらに、コントローラ36は、ユニットnがエンド位置Peに到達したときに当該ユニットnから最終計量値Ws[n]を取得することとしたが、これ以外のタイミングで当該最終計量値Ws[n]を取得することとしてもよい。また、ユニットnに時点t4が到来したときに、当該ユニットnの供給停止重量Wb[n]を更新することとしたが、これ以外のタイミングで更新してもよい。落差量比率R[n]についても、同様に、ユニットnに時点t4が到来したときを更新タイミングとしたが、これに限定されるものではない。
そして、この実施形態では、各ユニット14,14、…が回転しながら充填動作を行うという、いわゆる回転式の重量式充填装置10を例に挙げたが、これに限らない。例えば、複数のユニットが1列に配置されており、これらのユニットによって並行して(言わばバッジ処理的に)充填動作が行われる、いわゆる並列(ライン)式の重点式充填装置に、この発明を適用してもよい。この場合、特定のユニットについて落差補正するのに、他の全てのユニット、または当該特定のユニットを含む全てのユニットによる計量結果を利用することができおる。また、この実施形態で説明した回転式の重量式充填装置10においても、例えば貯槽28の容量が極めて大きく、当該貯槽28内の経時的な圧力変化が微小であるような場合には、特定のユニットnについて落差補正するのに、他の全てのユニットk、または当該特定のユニットnを含む全てのユニットnおよびkによる計量結果を利用することができる。ただし、この場合は、数回前に行われた充填動作の計量結果に基づいて当該落差補正が行われるようにする。
また、この実施形態では、実際の稼動に先立って、調整モードによって各ユニット14,14,…の供給停止重量Wb[n]および落差量比率R[n]を設定することとしたが、これら供給停止重量Wb[n]および落差量比率R[n]を或る程度予測できる場合には、当該調整モードを省略してもよい。即ち、実際の稼動に先立って、これら供給停止重量Wb[n]および落差量比率R[n]の予測値を設定した後、直ぐに実際の稼動を実施してもよい。
そして、任意のユニットnについて落差補正をするとき、他のユニットk’による計量結果に基づいて当該任意のユニットnの予想される偏差We[n]を推測し、その推測値We[n]’を用いて、つまり上述の数21によって、新たな供給停止重量Wb[n]を求めることとしたが、これに限らない。例えば、他のユニットk’による計量結果に基づいて任意のユニットnの予想される落差量ΔW[n]を推測し、この推測された落差量ΔW[n]を用いて、詳しくは当該推測された落差量ΔW[n]を上述の数27に代入することで、新たな供給停止重量Wb[n]を求めてもよい。