以下、図面を参照しながら実施形態の説明を述べる。なお、以降、説明済みの要素と同一または類似の要素には同一または類似の符号を付し、重複する説明については基本的に省略する。
(実施形態)
実施形態に係る給水装置は、例えば図1の給水装置であり得る。給水装置は、例えば、受水槽20に接続され、建造物に設けられた蛇口やシャワーヘッド等の供給先に給水する。
図1に示されるように、この給水装置は、6台のポンプ11,12,13,14,15,16と、制御盤100と、図示されない吸込配管および吐出配管とを含む。6台のポンプ11~16の一部または全部が、制御盤100によって単独、交互または並列運転される。稼働中のポンプは、吸込配管を介して一次側、例えば受水槽20、にある水を取り込み、吐出配管を介して二次側へ給水する。吸込配管は、例えば、受水槽20から、各ポンプ11~16の吸込側を接続する。吐出配管は、ポンプ11~16の吐出し側とその二次側の給水先とを接続する。
吐出配管には、図示されない圧力センサが取り付けられており、この圧力センサは給水装置の吐出圧力を検出可能である。
制御盤100は、各ポンプ11~16(のモータ)と電気的に接続され、当該ポンプを制御する。図7に例示されるように、制御盤100は、6台のインバータ111,112,113,114,115,116と、6台の漏電しゃ断器121,122,123,124,125,126と、制御基板200と、液晶表示器801と、操作/表示基板802とを含む。
ポンプ11~16およびインバータ111~116は一対一対応する。具体的には、インバータ111は、ポンプ11の回転速度を制御する。インバータ112は、ポンプ12の回転速度を制御する。インバータ113は、ポンプ13の回転速度を制御する。インバータ114は、ポンプ14の回転速度を制御する。インバータ115は、ポンプ15の回転速度を制御する。インバータ116は、ポンプ16の回転速度を制御する。なお、図1および図7の例では、ポンプおよびインバータの台数は6台であるが、ポンプおよびインバータの台数が1~5台または7台以上である場合にも、実施形態は適用可能である。
インバータ111~116は、シリアル通信用の通信線を介して制御基板200の各プロセッサ、より正確には第1のCPU201、第2のCPU202、および第3のCPU203、と、液晶表示器801とに接続される。
インバータ111~116、第1のCPU201、第2のCPU202、第3のCPU203、および液晶表示器801の間のシリアル通信には、インバータメーカー標準プロトコル、またはMODBUS RTU通信プロトコルが採用され得る。
インバータ111~116は、制御基板200からインバータ制御指令を受け取る。インバータ111~116は、このインバータ制御指令に応じて動作する。例えば、インバータ111~116は、運転停止信号または運転開始信号に相当するインバータ制御指令に応じて運転を停止または開始し得る。また、インバータ111~116は、回転速度制御信号に相当するインバータ制御指令に応じて、その担当するモータ、すなわちポンプ11~16のモータ、の回転速度を制御し得る。また、インバータ111は、ポンプ11用の漏電しゃ断器121に接続される。インバータ112は、ポンプ12用の漏電しゃ断器122に接続される。インバータ113は、ポンプ13用の漏電しゃ断器123に接続される。インバータ114は、ポンプ14用の漏電しゃ断器124に接続される。インバータ115は、ポンプ15用の漏電しゃ断器125に接続される。インバータ116は、ポンプ16用の漏電しゃ断器126に接続される。
制御基板200は、図7に例示されるように、第1のCPU201と、第2のCPU202と、第3のCPU203と、ディップスイッチ211,212,213と、電源221,222,223と、複数の圧力センサ入力部231と、複数の流量センサ入力部232と、複数のトリップ入力部233と、複数の水温センサ入力部234と、複数の漏水センサ入力部235と、導通検出回路241と、複数の電極入力部242と、複数組の運転/故障信号出力部(リレー)251と、流入電動弁出力部252と、AC電源入力261と、電源スイッチ262と、直流電源部263とを含む。
なお、制御基板200は、3個のCPUを搭載しているが、搭載するCPUの数は2個、または4個以上であってもよい。いずれにせよ、制御基板200が搭載する複数のCPUは、互いに序列の異なる複数の役割のいずれかが割り当てられていることとする。図7の例では、第1のCPU201には最上位の第1の役割が割り当てられ、第2のCPU202には第2位の第2の役割が割り当てられ、第3のCPU203には第3位(=最下位)の第3の役割が割り当てられている。
また、制御基板200は、第1のCPU201、第2のCPU202および第3のCPU203の使用するQFP(Quad Flat Package)用の変換アダプタをさらに備えていてもよい。これにより、いずれかのCPUの故障時に、制御基板200そのものを交換することなく、故障したCPUのみを交換することが容易となる。
第1のCPU201は、スイッチを介して電源221に接続される。第2のCPU202は、スイッチを介して電源222に接続される。第3のCPU203は、スイッチを介して電源223に接続される。ここで、これらのスイッチは、例えばb接点リレーであってよい。
電源221、電源222、および電源223は、それぞれ、5Vまたは3.3Vの直流電圧を発生する三端子レギュレータと、電解コンデンサとを含む。このように、CPU毎に個別の電源を設けることで、外来サージなどにより全ての電源が同時に破壊される確率が極めて低くなる。また、CPU毎に個別にクロック信号を発生する水晶発振子を設けてもよい。さらに、各CPUの入力ポートに接続され電極導通信号を光絶縁するフォトカプラ、圧力信号用の電圧バッファ回路、AD変換部の基準電圧供給回路、などもCPU毎に個別に設けられてよい。
また、例えば最下位の役割のCPU用の電源、すなわち図1および図7の例では電源223は、電池電源であってもよい。このように、CPU個別の電源の一部を電池電源とすることで、当該CPUの電源部は直流電源ラインからの外来サージにより破壊されなくなるので、一層の信頼性を確保できる。この場合に、電池電源に接続されたCPUは、自らが稼働系になるまではその1つ上の役割の動作確認(後述)のみを基本的に行い、低速のクロック信号(後述)を選択するようにしてもよい。これにより、消費電流を節約して電池交換の頻度を抑制することができる。
第1のCPU201の出力ポートは、第2のCPU202と電源222との間のスイッチをON/OFFにするためのb接点リレーX2のコイルと、第3のCPU203と電源223との間のスイッチをON/OFFにするためのb接点リレーX3のコイルとに接続されている。同様に、第2のCPU202の出力ポートは、第1のCPU201と電源221との間のスイッチをON/OFFにするためのb接点リレーX1のコイルと、第3のCPU203と電源223との間のスイッチをON/OFFにするためのb接点リレーX3のコイルとに接続されている。同様に、第3のCPU203の出力ポートは、第1のCPU201と電源221との間のスイッチをON/OFFにするためのb接点リレーX1のコイルと、第2のCPU202と電源222との間のスイッチをON/OFFにするためのb接点リレーX2のコイルとに接続されている。
要するに、第1のCPU201、第2のCPU202、および第3のCPU203は、それぞれ他のCPUの電源を必要に応じてONにしたりOFFにしたりすることができる。
各種センサ入力部に入力される信号は、トランジスタによって分岐されて第1のCPU201、第2のCPU202、および第3のCPU203へ供給される。具体的には、第1のCPU201、第2のCPU202、および第3のCPU203は、後述されるメインおよびサブの2つの圧力センサからの圧力信号を圧力センサ入力部231を介して取得する。また、第1のCPU201、第2のCPU202、および第3のCPU203は、ポンプ11~16のそれぞれの流量センサからの流量信号および漏電しゃ断器121~126からの漏電トリップ信号を流量センサ入力部232およびトリップ入力部233を介して取得する。さらに、第1のCPU201、第2のCPU202、および第3のCPU203は、ポンプ11~16のそれぞれの温度センサ(水温センサ)および漏水センサからの温度信号および漏水信号を水温センサ入力部234および漏水センサ入力部235を介して取得する。
そして、第1のCPU201、第2のCPU202、および第3のCPU203のうちインバータ制御中のCPU、すなわち異常検知されていないCPUのうち最上位の役割のCPU(以降、単に最上位の役割のCPUと称する)は、各種センサからのセンシング信号に基づいて、インバータ111~116を制御する。これにより、かかるCPUは、インバータ111~116を介して、ポンプ11~16のモータの回転速度を制御する。
なお、吐出配管には、メインとなる第1の圧力センサに加えてサブとなる第2の圧力センサが取り付けられてもよい。そして、サブとなる第2の圧力センサの圧力信号が正常範囲外、例えば後述する起動圧力から設定圧力までの範囲外であってメインの圧力センサの出力が正常値、例えば後述する起動圧力から設定圧力までの範囲内である場合に、メインとなる第1の圧力センサが故障しているおそれがあるので、最上位の役割のCPUは、サブとなる第2の圧力センサの圧力信号に基づいてインバータ111~116の制御を継続してもよい。
すなわち、最上位のCPUは故障している第1の圧力センサの圧力信号に基づいて、インバータを介してポンプのモータの回転速度を制御しているため、第1の圧力センサが出力する圧力信号は起動圧力から設定圧力までの正常範囲内となるが、正常な第2の圧力センサが出力する圧力信号は、正常範囲外として検出されるのである。
また、両方の圧力センサの出力電圧または電流が異常値である場合には、最上位の役割のCPUの圧力信号用の入力回路が故障しているおそれがあるので、異常検知されていないCPUのうち第2位の役割のCPU(以降、単に第2位の役割のCPUと称する)が最上位の役割のCPUの異常を報知してその電源をOFFにするとともに後述するバックアップモードに遷移してもよい。ここで、圧力センサの出力電圧の正常範囲が1~5[V]の場合に、その異常値は例えば0.5[V]以下、または5[V]超と定義できる。このように圧力センサを冗長化することで、圧力センサの故障のみに起因するバックアップモードへの不必要な遷移およびCPUまたは制御基板200の不必要な交換、ならびに誤った圧力値に基づくインバータ111~116の不適切な制御を予防できる。
電極入力部242は、給水装置の一次側に接続された受水槽20の複数の異なる水位、例えば、流入電動弁開閉水位、渇水、ON、減水、および満水、に対応する位置に取り付けられた複数の水位検出電極にそれぞれ接続される。
制御基板200に搭載された導通検出回路241は、電極入力部242を介して、アース電極と、これら複数の水位検出電極のそれぞれとの間に(交流)電圧を印加する。導通検出回路241は、電圧印加時における各水位検出電極とアース電極との導通状態を検出し、検出結果に対応する受水槽20の水位を示す受水槽水位信号、例えば受水槽20が渇水状態にあることを示す渇水信号、を生成する。制御基板200は、受水槽水位信号を第1のCPU201、第2のCPU202および第3のCPU203へ分岐して出力する。これにより、制御基板200に搭載されるCPUの数に関わらず、水位検出電極の接続本数をCPUの数が1個の場合と同数に抑えられるので、CPUの数を増やして給水装置の冗長性を高めたとしても配線作業の効率は悪化しない。
なお、導通検出回路241は、パルス状の直流電圧、例えば500ms毎に10ms幅の12V直流パルス電圧を印加してもよい。かかる電圧を印加することで、電極間で水の電気分解が発生して電極が腐食するのを防ぐことができる。
なお、給水装置の一次側に、単一の受水槽20の代わりに、互いに連結された第1の受水槽および第2の受水槽が接続されている場合には、これら受水槽の複数の異なる水位、例えば、流入電動弁開閉水位、渇水、ON、減水、および満水、に対応する位置には、複数ペアの水位検出電極にそれぞれ接続され得る。そして、導通検出回路241および複数の電極入力部242は以下に説明するように変形され得る。
まず、複数の電極入力部242は、これら複数ペアの水位検出電極にそれぞれ接続される。すなわち、ある電極入力部242は、第1の受水槽のある水位、例えば渇水、に対応する位置に取り付けられた電極と、第2の受水槽の同水位に対応する位置に取り付けられた電極とに接続される。
そして、導通検出回路241は、(a)第1の受水槽の使用時には、電極入力部242を介して、アース電極と、これら複数対の水位検出電極のうち第1の受水槽に取り付けられた複数の水位検出電極のそれぞれとの間に(交流)電圧を印加する。導通検出回路241は、電圧印加時における各水位検出電極とアース電極との導通状態を検出し、検出結果に対応する第1の受水槽の水位を示す受水槽水位信号、例えば第1の受水槽が渇水状態にあることを示す渇水信号、を生成する。他方、導通検出回路241は、(b)第2の受水槽の使用時には、電極入力部242を介して、アース電極と、これら複数対の水位検出電極のうち第2の受水槽に取り付けられた複数の水位検出電極のそれぞれとの間に(交流)電圧を印加する。導通検出回路241は、電圧印加時における各水位検出電極とアース電極との導通状態を検出し、検出結果に対応する第2の受水槽の水位を示す受水槽水位信号、例えば第2の受水槽が渇水状態にあることを示す渇水信号、を生成する。
このように、第1の受水槽の導通検出と第2の受水槽の導通検出とを時分割で行うことで、第1のCPU201、第2のCPU202、および第3のCPU203の入力ポート数および電極入力部242の数を給水装置の一次側に単一の受水槽20が接続される場合と同数に抑えることができる。
最上位の役割のCPUは、ポンプ11~16の運転/故障信号を生成し、運転/故障信号出力部251を介して出力する。また、最上位の役割のCPUは、受水槽水位信号に基づいて、流入電動弁出力部252を介して流入電動弁の開閉を制御する。
少なくとも第2のCPU202および第3のCPU203は、通常モードおよびバックアップモードを含む複数の動作状態を有する。
第2のCPU202、および第3のCPU203は、通常モード時には、インバータ111~116を制御しない。ここで、第2のCPU202、および第3のCPU203が通常モードである時には、より上位の役割のCPU、例えば第1のCPU201がこれらのインバータ111~116を制御することになる。第1のCPU201、第2のCPU202および第3のCPU203のいずれがインバータ111~116を制御中であるかを報知するために操作/表示基板802に設けられた該当するCPUの運転を表示するLED(Light Emitting Diode)を点灯させてもよい。
他方、第2のCPU202および第3のCPU203は、それぞれそのバックアップモード時に、各種センサからのセンシング信号に基づいて、インバータ111~116を制御する。これにより、第2のCPU202、および第3のCPU203は、インバータ111~116を介して、ポンプ11~16のモータの回転速度を制御する。
なお、第2のCPU202は、通常モードからバックアップモードに遷移する場合に、第1のCPU201の異常を報知してもよい。同様に、第3のCPU203は、通常モードからバックアップモードに遷移する場合に、第2のCPU202の異常を報知してもよい。より一般化すれば、非最上位の役割が割り当てられているCPUは、通常モードからバックアップモードに遷移する場合に、最上位の役割のCPUの異常を報知してもよい。例えば、第2のCPU202、または第3のCPU203は、例えば操作/表示基板802に設けられたLEDまたはデジタル表示部に異常を示す表示を行ったり、外部警報を出力したりしてもよい。
また、第2のCPU202は、通常モードからバックアップモードに遷移する場合に、電源221をOFF、より具体的にはリレーX1をONにすることで電源221と第1のCPU201との間のスイッチをOFFにする。これにより、第1のCPU201のシリアル通信信号はLレベルとなるので、第2のCPU202は、インバータ111~116との通信を開始できる。また、第2のCPU202は、操作/表示基板802に設けられた、第2のCPU202の運転を表示するLEDを消灯から点灯に変更してもよい。
同様に、第3のCPU203は、通常モードからバックアップモードに遷移する場合に、電源222をOFF、より具体的にはリレーX2をONにすることで電源222と第2のCPU202との間のスイッチをOFFにする。これにより、第2のCPU202のシリアル通信信号はLレベルとなるので、第3のCPU203は、インバータ111~116との通信を開始できる。また、第3のCPU203は、操作/表示基板802に設けられた、第3のCPU203の運転を表示するLEDを消灯から点灯に変更してもよい。
より一般化すれば、非最上位の役割が割り当てられているCPUは、通常モードからバックアップモードに遷移する場合に、異常を検知された(上位の)CPUと対応する電源との間のスイッチをOFFにする。これにより、異常を検知されたCPUのシリアル通信信号はLレベルとなるので、この非最上位の役割のCPUは、インバータ111~116との通信を開始できる。また、この非最上位の役割のCPUは、操作/表示基板802に設けられた、当該CPUの運転を表示するLEDを消灯から点灯に変更してもよい。
液晶表示器801は、インバータ111~116、第1のCPU201、第2のCPU202、および第3のCPU203と、シリアル通信用の通信線を介して接続される。第1のCPU201、第2のCPU202、または第3のCPU203は、現在圧力、給水装置の設定パラメータ(例えば、設定圧力)、ポンプ11~16の運転データ、インバータ111~116の内部データ(例えば、電流、運転周波数、制御回路コンデンサ寿命、冷却ファン寿命、消費電力、など)、などの種々のデータを液晶表示器801にデジタル表示させることができる。
また、第1のCPU201、第2のCPU202、または第3のCPU203は、液晶表示器801に、インバータ111~116の消費電力の合計をデジタル表示させてもよい。この場合に、第1のCPU201、第2のCPU202、または第3のCPU203は、インバータ111~116から取得したこれらの消費電力からインバータ111~116の消費電力の合計を演算(合算)することができる。
さらに、第1のCPU201、第2のCPU202、または第3のCPU203は、液晶表示器801に、給水装置の総合効率をデジタル表示させてもよい。この場合に、第1のCPU201、第2のCPU202、または第3のCPU203は、圧力信号に対応する給水装置の吐出圧力および流量信号に対応するポンプ11~16の流量に基づいて給水装置の理論動力を演算し、インバータ111~116から取得したこれらの消費電力からインバータ111~116の消費電力の合計を演算し、理論動力をインバータ111~116の消費電力の合計によって除算して総合効率を得ることができる。
液晶表示器801がこれら種々のデータを表示することで、作業者は給水装置の運転状況を詳細に把握し、設定圧力の調整および/または最大並列運転台数などを行ってさらなる省エネルギー化を図ることができる。
操作/表示基板802は、第1のCPU201、第2のCPU202、および第3のCPU203、ならびにポンプ11~16の運転/故障を表示するLED、ポンプ11~16の自動/停止/手動スイッチ、圧力設定を行うボタン、などを含み得る。
最上位の役割のCPUは、圧力信号に基づいて、ポンプの運転中に例えば推定末端圧力一定制御または目標圧力一定制御を行い得る。また、かかるCPUは、ポンプの運転中にモータを所望の回転速度に制御することができ、必要に応じてモータの回転速度を増減させる。ここで、最上位の役割のCPU、すなわち第1のCPU201が最初にインバータを制御するが、最上位の役割のCPUの異常が検知される度により下位の役割のCPU、すなわち、第2のCPU202、第3のCPU203、とインバータを制御するCPUが役割の序列に従って切り替わる。
また、最上位の役割のCPUは、ポンプ11~16の二次側の配管に取り付けられ当該配管に流れる水の流量を検出可能な流量センサからの流量信号に基づいて、稼働中のポンプの二次側の流量が小水量であることを検知すると当該ポンプを停止させ得る。そして、かかるCPUは、圧力信号に基づいて給水装置の二次側の圧力が予め定められた起動圧力以下に低下したことを検知すると、いずれかのポンプを起動する。
第1のCPU201、第2のCPU202、および第3のCPU203は、それぞれ制御基板に搭載されたメモリに保存されたソフトウェアを実行することで、入出力制御、通信制御、ポンプ制御などを行う。
ところで、第1のCPU201、第2のCPU202、および第3のCPU203が実行するソフトウェアは同一であってもよい。そして、第1のCPU201は、その電源がONにされソフトウェアの実行を開始した後に、第1のCPU201に接続されたディップスイッチ211の状態、または第1のCPU201に設定された通信用局番に基づいて、当該第1のCPU201がどの役割を割り当てられているかを確認してもよい。同様に、第2のCPU202は、その電源がONにされソフトウェアの実行を開始した後に、第2のCPU202に接続されたディップスイッチ212の状態、または第2のCPU202に設定された通信用局番に基づいて、当該第2のCPU202がどの役割を割り当てられているかを確認してもよい。同様に、第3のCPU203は、その電源がONにされソフトウェアの実行を開始した後に、第3のCPU203に接続されたディップスイッチ213の状態、または第3のCPU203に設定された通信用局番に基づいて、当該第3のCPU203がどの役割を割り当てられているかを確認してもよい。
一例として、第1の役割のCPU、第2の役割のCPU、および第3の役割のCPUに接続されるディップスイッチの状態を、それぞれ(OFF-OFF)、(OFF-ON)、および(ON-OFF)と定義してもよい。或いは、第1の役割のCPU、第2の役割のCPU、および第3の役割のCPUに設定される通信用局番を、それぞれ「0」、「1」、および「2」と定義してもよい。この場合に、液晶表示器801、およびポンプ11~16に設定される通信用局番は、それぞれ「3」、および「4」~「9」などとしてもよい。
このように、第1のCPU201、第2のCPU202、および第3のCPU203に同一のソフトウェアを実行させることで、CPU別にソフトウェアを作成した場合に比べて生産性を向上させることができる。
制御基板200に搭載されたメモリは、給水装置の設定パラメータおよびポンプ11~16の運転データを保存可能である。また、このメモリは、第1のCPU201、第2のCPU202および第3のCPU給水装置が読み書き可能な共有メモリであってもよい。ここで、設定パラメータは、停止流量、ポンプ1台あたりの定格流量、最大並列運転台数、運転可能ポンプ台数、給水装置の定格流量時の設定圧力、停止流量時の推定末端圧力、および起動圧力のうちの一部または全部を含み得る。また、運転データは、運転号機、積算起動回数、積算運転時間、および故障履歴(例えば、漏電、揚水不能、など)のうちの一部または全部を含み得る。
例えば、制御盤100の製造時に、運転可能ポンプ台数、最大並列運転台数、設定圧力、および推定末端圧力の設定値が共有メモリに保存され得る。そして、この制御盤100を含んだ給水装置の製造時に、設定圧力、および推定末端圧力の最新設定値が共有メモリに保存され得る。また、給水装置の使用現場での試運転時に仕様変更があった場合には、設定圧力、および推定末端圧力の最新設定値が共有メモリに保存され得る。さらに、給水装置の稼働中には、運転号機、積算起動回数、積算運転時間、および故障履歴が共有メモリに保存され得る。
要するに、最上位の役割のCPUは、設定パラメータおよび運転データに関する追加、変更または削除が生じた時に、共有メモリにその書き込みを行う。故に、第2のCPU202、または第3のCPU203がバックアップモードに遷移する場合には、共有メモリから設定パラメータおよび運転号機の最新値を共有メモリから読み出してインバータ111~116の制御を迅速に再開することができる。
なお、設定パラメータのうち運転可能ポンプ台数、および最大並列運転台数などの製品出荷後に変更されることのない機種固有のパラメータは共有メモリに保存せずともよく、例えばディップスイッチの状態により設定しておくことも可能である。
制御基板200に搭載された複数のCPUの各々は、(1)CPU間の通信の異常に基づく他のCPUの異常検知を行うことができる。また、異常検知されていないCPUのうち第2位の役割のCPUは、(2)流量信号および圧力信号から判定される、最上位の役割のCPUによるインバータ制御の異常に基づく当該CPUの異常検知を行うことができる。これら(1)および(2)の異常検知は一方のみが行われてもよいし、両方が行われてもよい。
上記(1)に関して、異常検知されていないCPUのうち非最上位の役割のCPU(以降、単に非最上位の役割のCPUと称する)(下位CPU)と、異常検知されていないCPUのうち下位CPUの1つ上位の役割のCPU(上位CPU)との間で定期的に信号をやり取りし、信号のやり取りが停止したことをトリガとして通信相手のCPUの異常を検知することができる。
具体的には、下位CPUは、通常モード時には、所定周期で、例えば1秒おきに上位CPUへ動作確認要求を通信線を介して送信し、上位CPUは、下位CPUから動作確認要求を受信すると動作確認応答を通信線を介して返すこととする。この前提の下で、下位CPUは、送信済みの動作確認要求に対応する動作確認応答を、当該動作確認要求の送信から一定時間、例えば1秒以内に受信しない場合に、上位CPUの異常を検知し得る。
例えば、第2のCPU202が下位CPUであって、第1のCPU201が上位CPUであるとすると、当該第2のCPU202は、図2に示されるように動作可能である。図2の動作例では、まず、第2のCPU202は、第1のCPU201へ動作確認要求を通信線を介して送信する(ステップS301)。
そして、第2のCPU202は、一定時間、例えば1秒第1のCPU201からの動作確認応答を待ち受ける(ステップS302およびステップS303)。一定時間内に動作確認応答を受信すれば処理はステップS304へ進み、動作確認応答を受信しないまま一定時間が経過(タイムアウト)すれば、処理はステップS305へ進む。ステップS304において、第2のCPU202は次の動作確認要求の送信タイミングまで待機し、処理はステップS301に戻る。
ステップS305において、第2のCPU202は、第1のCPU201の異常を報知する。また、ステップS306において、第2のCPU202は、第1のCPU201の電源をOFFにする。さらに、ステップS307において、第2のCPU202は、通常モードからバックアップモードに遷移する。ステップS305乃至ステップS307の処理は、図2とは異なる順序で実行されてもよいし、並列に実行されてもよい。
なお、図2の動作例では、下位CPUとしての第2のCPU202は、上位CPUとしての第1のCPU201の異常検知時に直ちに当該上位CPUの電源をOFFにするとともにバックアップモードに遷移している。しかしながら、図2の動作例は、以下に説明するように、下位CPUが、上位CPUの異常検知時に上位CPUの電源を一旦リセットし、その後に異常が再検知されたことを条件として、当該上位CPUの異常を報知するとともにバックアップモードに遷移するように変形されてもよい。
すなわち、動作確認応答を受信しないまま一定時間が経過(タイムアウト)した場合に、ステップS305に即座には遷移せず、下位CPUは、上位CPUの電源をOFFにする。それから、一定時間、例えば3秒経過後に、下位CPUは、上位CPUの電源を再度ONにする。続いて、下位CPUは、上位CPUへ動作確認要求を通信線を介して再送信する。そして、下位CPUは、一定時間、例えば1秒上位CPUからの動作確認応答を待ち受ける。一定時間内に動作確認応答を受信すれば処理はステップS304へ進み、動作確認応答を受信しないまま一定時間が経過(タイムアウト)すれば、処理はようやくステップS305へ進む。かかる変形例によれば、図2の動作例に比べて余分に時間がかかるものの、上位CPUが幸運にも電源リセットにより正常動作に復帰できた場合には、下位CPUに不要なバックアップ運転をさせなくて済むし、上位CPUを異常検知されていないCPUとして引き続き扱うことが可能となる。
他方、上位CPUは、動作確認応答の送信から一定時間、例えば10秒以内に下位CPUから新たな動作確認要求を受信しない場合に、下位CPUの異常を報知してもよい。例えば、上位CPUは、操作/表示基板802に設けられたLEDまたはデジタル表示部に異常を示す表示を行ったり、外部警報を出力したりしてもよい。これにより、下位CPUがインバータ111~116を制御する機能を喪失したこと、換言すればバックアップモードへの遷移が不可能であること、を早期に報知することが可能となる。
例えば、第1のCPU201が上位CPUであって、第2のCPU202が下位CPUであるとすると、当該第1のCPU201は、図3に示されるように動作可能である。
まず、第1のCPU201は、一定時間、例えば10秒第2のCPU202からの動作確認要求を待ち受ける(ステップS401およびステップS402)。一定時間内に動作確認要求を受信すれば処理はステップS403へ進み、動作確認要求を受信しないまま一定時間が経過(タイムアウト)すれば、処理はステップS404へ進む。ステップS403において、第1のCPU201は第2のCPU202へ動作確認応答を通信線を介して送信し、処理はステップS401に戻る。
ステップS404において、第1のCPU201は、第2のCPU202の異常を報知する。また、ステップS405において、第1のCPU201は、第2のCPU202の電源をOFFにする。ステップS404およびステップS405の処理は、図3とは異なる順序で実行されてもよいし、並列に実行されてもよい。
なお、図3の動作例では、上位CPUとしての第1のCPU201は、下位CPUとしての第2のCPU202の異常検知時に直ちに当該下位CPUの電源をOFFにするとともにバックアップモードに遷移している。しかしながら、図3の動作例は、以下に説明するように、上位CPUが、下位CPUの異常検知時に下位CPUの電源を一旦リセットし、その後に異常が再検知されたことを条件として、当該下位CPUの異常を報知するように変形されてもよい。
すなわち、動作確認要求を受信しないまま一定時間が経過(タイムアウト)した場合に、ステップS404に即座には遷移せず、上位CPUは、下位CPUの電源をOFFにする。それから、一定時間、例えば3秒経過後に、上位CPUは、下位CPUの電源を再度ONにする。そして、上位CPUは、一定時間、例えば10秒下位CPUからの動作確認要求を待ち受ける。一定時間内に動作確認要求を受信すれば処理はステップS403へ進み、動作確認要求を受信しないまま一定時間が経過(タイムアウト)すれば、処理はようやくステップS404へ進む。かかる変形例によれば、図3の動作例に比べて余分に時間がかかるものの、下位CPUが幸運にも電源リセットにより正常動作に復帰できた場合には、下位CPUを異常検知されていないCPUとして引き続き扱うことが可能となる。
図2および図3の動作例は、「第1のCPU201」および「第2のCPU202」をそれぞれ「上位CPU」および「下位CPU」として読み替えることで一般化が可能である。ただし、上位CPUが最上位の役割のCPUに該当しない場合には、図2のステップS307は省略される。いずれにせよ、この上位CPUは、異常検知されていないCPUには該当しなくなるので、下位CPUおよびさらなる下位の役割のCPUはそれぞれその1つ上位の役割のCPUの役割を代行することになる。例えば、第3のCPU203が第2のCPU202の異常を検知した場合には、その上位CPUは第1のCPU201に切り替わるので、動作確認要求の宛先を第2のCPU202から第1のCPU201へ変更することになる。また、最上位の役割のCPU、例えば第1のCPU201、は同様の技法により異常検知されていないCPUのうち最下位の役割のCPU(以降、単に最下位の役割のCPUと称する)、例えば第3のCPU203、の動作確認をすることができる。すなわち便宜的に、最上位の役割のCPUを「下位CPU」、および最下位の役割のCPUを「上位CPU」として扱うことも可能である。
要するに、第1のCPU201、第2のCPU202、および第3のCPU203は、互いに他のCPUの動作確認を行っており、異常を検知した場合には該当のCPUの電源をOFFにする。第1のCPU201が故障すれば、第2のCPU202が稼働系、第3のCPU203が待機系となる。第2のCPU202が故障すれば、第1のCPU201が稼働系、第3のCPU203が待機系となる。第3のCPU203が故障すれば、第1のCPU201が稼働系、第2のCPU202が待機系のままとなる。
このように、制御基板200が3個のCPUを搭載していれば、どのCPUが故障したとしても、1個のCPUが待機系として残存するので依然として従来の2重化された制御基板を備える給水装置と同程度の冗長性を保つことができる。また、1個のCPUが故障した段階では制御基板200の交換は不要であるので、給水装置の安全性を犠牲とすることなく保守点検作業を省力化することができる。
最上位の役割のCPUは、インバータの制御に加えて、制御基板200の外部に対する種々の入出力処理、例えば、各種センサ信号の入力処理、運転/故障信号のリレー出力処理、液晶表示器801のデジタル表示、操作/表示基板802に設けられたLEDの制御、操作/表示基板802に設けられたスイッチおよびボタンからの操作入力処理、などを行う。他方、その他の(下位の)CPUは、通常モードにおいて、動作確認に関わる処理は行うものの、インバータの制御および制御基板200の外部に対する入出力を行わない。これにより、最上位の役割のCPUに比べて、その他のCPUの消費電流を小さくして期待寿命を最上位の役割のCPUよりも長くすることができる。故に、下位CPUによる上位CPUの異常の検知に対する信頼性を向上させられる。
非最上位の役割のCPU、例えば第2のCPU202および第3のCPU203は、その内部においてクロック信号を分周し、デフォルトのクロック信号および低速のクロック信号を選択可能としてもよい。そして、非最上位の役割のCPUは、通常モードの間は低速のクロック信号を選択して消費電流をさらに低減し、バックアップモードに遷移してからデフォルトのクロック信号を選択するようにしてもよい。
第2位の役割のCPUは、通常モードにおいて、最上位の役割のCPUの動作確認を行うとともに、最上位の役割のCPU、すなわちインバータを制御中のCPUから、インバータ111~116の内部データおよびポンプ11~16の運転データを取得してもよい。或いは、第2位の役割のCPUは、インバータ111~116からこれらの内部データおよびポンプ11~16の運転データを取得してもよい。これにより、第2位の役割のCPUがバックアップモードに遷移する場合には、インバータ111~116の最新の内部データおよびポンプ11~16の最新の運転データを把握できるので、インバータ111~116の制御を迅速に再開することができる。
或いは、異常検知されていないCPUのうち第3位またはより低い基準順位以下の役割のCPU、例えば第3のCPU203は、所定の通電開始条件が満足するまで通電OFF状態に設定されてもよい。なお、通電OFF状態のCPUは、他のCPUの動作確認は行えないし、他のCPUからの動作確認の対象ともならない。通電開始条件は、例えばその1つ上位の役割のCPUの異常が報知されることと、当該CPUがバックアップモードに遷移したこととを含み得る。通電開始条件の第1の例に関して、第1のCPU201は、第2のCPU202の異常を検知した場合に、第2のCPU202の異常を報知してその電源をOFFにするとともに、第3のCPU203の電源をONにする。この場合に、第1のCPU201が稼働系、第3のCPU203が新たな待機系となる。通電開始条件の第2の例に関して、第2のCPU202は、第1のCPU201の異常を検知した場合に、第1のCPU201の異常を報知してその電源をOFFし、バックアップモードに遷移するとともに、第3のCPU203の電源をONにする。この場合に、第2のCPU202が新たな稼働系、第3のCPU203が新たな待機系となる。このように、異常検知されていないCPUのうち基準順位以下の役割のCPUを通電OFF状態に設定することで、かかるCPUは新たな待機系として動作を開始するまで無通電の部品となるので、待機系としての使用時の信頼性を高めることができる。
また、異常の報知は、段階的に行われてよい。具体的には、異常検知されていないCPUが2個以上残存している場合には、少なくとも1個のCPUが待機系として残存するので依然として従来の2重化された制御基板を備える給水装置と同程度の冗長性を保つことができる。そこで、各CPUは、他のCPUの異常を検知した時に異常検知されていないCPUが2個以上残存している場合には、当該CPUの異常の報知を例えば操作/表示基板802における異常表示、例えばLEDの点滅、消灯など、に留めてもよい。このような致命的でないレベルのCPUの異常は、例えば定期的な保守点検時に作業員が確認し、CPUの交換を行えば十分である。
他方、異常検知されていないCPUが1個しか残存してない場合には、給水装置は冗長性を喪失しているので、制御基板200の交換を速やかに行う必要がある。そこで、各CPUは、他のCPUの異常を検知された時に異常検知されていないCPUが1個、すなわち自CPUのみしか残存していない場合には、制御基板200の交換を促すための外部警報を出力してもよい。なお、外部警報を受けて給水装置の設置現場に駆けつけた作業員は、インバータ111~116の単独運転を行って手動で運転周波数を調整してもよい。
最上位の役割のCPUは、インバータ111~116の制御時に、インバータ111~116の各々との間の通信の異常を検知し、かつ当該CPUが正常に通信可能なインバータの台数が設定された最大並列運転台数を下回った場合に、第2位の役割のCPUから受信した動作確認要求に対する動作確認応答の返信を停止してもよい。この結果、第2位の役割のCPUは、第1のCPU201の異常を検知してバックアップモードに遷移することになる。なお、最上位の役割のCPUは、インバータ111~116の制御時に、インバータ111~116の各々との間の通信の異常を検知した場合であっても、当該CPUが正常に通信可能なインバータの台数が最大並列運転台数を下回らない限りは、単にインバータ通信異常警報を出力すればよく、動作確認応答の返信を停止する必要はない。また、インバータ111~116の一部または全部の故障により最上位の役割のCPUが正常に通信可能なインバータの台数が最大並列運転台数を下回った場合にも、動作確認応答の返信を停止する必要はない。正常なインバータの台数が最大並列運転台数を下回っている場合には、インバータを修理/交換しない限りは、いずれのCPUがインバータ制御を行ったとしても、100%の給水を保証することはできない。
次に、上記(2)流量信号および圧力信号から判定される、最上位の役割のCPUによるインバータ制御の異常、に基づく当該CPUの異常の検知について説明する。第2位の役割のCPUは、通常モード時に、取得した圧力信号および流量信号に基づいて、最上位の役割のCPUによるインバータ制御が正常になされているか否かを判定し、最上位の役割のCPUによるインバータ制御が正常になされていないと判定した場合に最上位の役割のCPUの異常を検知し得る。
具体的には、制御基板200に搭載された各CPUが推定末端圧力一定制御を行うことを前提とすると、第2位の役割のCPUは、通常モード時に(a)稼働中のポンプの各々の流量が停止流量を超え、(b)稼働中のポンプの流量の合計が給水装置の定格流量以下であって、かつ(c)給水装置の吐出圧力が起動圧力以下の第1の圧力から定格流量時の設定圧力以上の第2の圧力までの範囲外にある状態が一定時間以上に亘って継続している場合に、バックアップモードに遷移し得る。
以下、制御基板200に搭載された各CPUが推定末端圧力一定制御を行う場合の具体例を説明する。給水装置には、設定パラメータとして、停止流量Q0(例えば10[L/min])、ポンプ1台あたりの定格流量Q1(例えば0.38[m3/min])、最大並列運転台数N、運転可能ポンプ台数M、給水装置の定格流量N・Q1時の設定圧力PH、停止流量Q0時の推定末端圧力PL、起動圧力PONなどが定められる。なお、これらのパラメータは、人間による手動設定可能であってもよい。
最大並列運転台数Nは、運転可能ポンプ台数Mから予備台数Lを差し引いた値に等しい。例えば、運転可能ポンプ台数が6台、かつ予備台数が3台であれば、最大並列運転台数は3台である。
また、推定末端圧力PLは、設定圧力PH、に、係数k1(<1)を乗じることで自動設定されてよい。すなわち、PL=k1・PHと算出され得る。これにより、給水装置の出荷時におけるパラメータの設定負担を軽減できる。具体的には、配管損失を末端揚程の約10%程度と見積もるとすれば、係数k1=0.9に定められる。例えば、設定圧力PHを250[m]とすれば、推定末端圧力PLは225[m]に自動設定可能である。また、起動圧力PONは、推定末端圧力PLから一定差圧分、例えば4[m]、低く設定され得る。故に、推定末端圧力PL=225[m]、一定差圧=4[m]とすれば、起動圧力PONは、221[m]に自動設定可能である。
最上位の役割のCPUは、稼働中のポンプにそれぞれ対応する流量信号を取得し、当該流量信号に対応する瞬時流量Qを算出する。さらに、このCPUは、稼働中の各ポンプの瞬時流量Qを合計して給水装置全体の流量、すなわち給水量ΣQを算出するとともに、推定末端圧力を一定に制御するために必要な目標圧力Pを算出する。ここで、このCPUは、ポンプの並列運転時に運転効率を高めるために、先発ポンプおよび追従ポンプ以外の運転ポンプを最高周波数で定速運転するとともに、吐出圧力が目標圧力Pに近づくように先発ポンプおよび追従ポンプを変速同期運転してもよい。このCPUは、給水装置の停止中に、その二次側の圧力が起動圧力PON、例えば221[m]まで低下した場合に、先発ポンプを起動する。
第2位の役割のCPUは、通常モード時に、稼働中のポンプにそれぞれ対応する流量信号を取得し、当該流量信号に対応する(瞬時)流量Qを算出する。そして、このCPUは、(a)稼働中のポンプそれぞれの流量Qが停止流量Q0、例えば10[L/min]超であるか否かを判定する。また、このCPUは、(b)稼働中の各ポンプの流量Qの合計ΣQが、給水装置の定格流量N・Q1、例えば2・0.38=0.76[m3/min]以下であるか否かを判定する。
条件(a)の判定を行うことにより、稼働中のポンプが揚水不能となったことに起因して給水装置が性能低下を引き起こしてその吐出圧力が条件(c)において後述する範囲の下限を下回り続けたとしても、第2位の役割のCPUが第1位の役割のCPUの異常を誤検知することがない。
条件(b)の判定を行うことにより、想定外の開放運転が発生して給水装置の吐出圧力が条件(c)において後述する範囲の下限を下回り続けたとしても、第2位の役割のCPUが第1位の役割のCPUの異常を誤検知することがない。
なお、ポンプ11~16の故障は、該当するポンプの故障履歴に反映される。故に、第2位の役割のCPUは、ポンプ11~16における故障台数Xを算出できる。仮に、運転可能ポンプ台数M-故障台数Xが、最大並列運転台数Nよりも小さい場合には、Nの代わりにN’=M-Xを用いて、すなわち給水装置の定格流量をN・Q1からN’・Q1に置き換えて判定を行ってよい。これにより、条件(b)をポンプの故障実態に合致するように修正することができる。
さらに、第2位の役割のCPUは、通常モード時に、圧力センサから圧力信号を取得し、給水装置の吐出圧力を算出する。そして、このCPUは、(c)給水装置の吐出圧力が、吐出圧力が起動圧力PON以下である第1の圧力P1から設定圧力PH以上である第2の圧力P2までの範囲P1~P2の範囲外にある状態が一定時間、例えば3秒、以上に亘って継続しているか否かを判定する。ここで、P1とPONとの差、およびP2とPHとの差は、それぞれ任意に設定可能なマージンであるが、このマージンは0であってもよい。例えば、PON=221[m]、P1=210[m]、PH=250[m]、P2=260[m]のように定めることができる。マージンを小さくすることで、ノイズによる悪影響を受けやすくなるものの、最上位の役割のCPUの異常検知の感度を高めることができる。
第2位の役割のCPUは、上記条件(a)~(c)のいずれも真である場合に、最上位の役割のCPUによるインバータ制御が何らかの要因で乱れているとして、最上位の役割のCPUの異常を検知して、バックアップモードに遷移してもよい。これにより、例えば最上位の役割のCPUおよび通信線は正常であり上記(1)による異常検知はなされていないが、例えば圧力信号用の入力回路などの他の周辺回路の故障などにより最上位の役割のCPUがインバータ111~116を正常に制御していない場合であっても、第2位の役割のCPUが最上位の役割のCPUの異常を検知してバックアップモードに遷移してインバータ111~116の制御を開始できる。
例えば、第1のCPU201が最上位の役割のCPUであって、第2のCPU202が第2位の役割のCPUであったとすると、第2のCPU202は、図4に示されるように動作可能である。なお、図4の動作例は、「第1のCPU201」および「第2のCPU202」をそれぞれ「最上位の役割のCPU」および「第2位の役割のCPU」として読み替えることで一般化が可能である。
まず、第2のCPU202は、圧力センサ入力部231および流量センサ入力部232を介して圧力信号およびポンプ11~16の流量信号を取得する(ステップS501)。
第2のCPU202は、ステップS501において取得した流量信号に基づいて算出される稼働中の各ポンプの流量が停止流量Q0を超えているか否かを判定する(ステップS502)。また、第2のCPU202は、ステップS501において取得した流量信号に基づいて算出される稼働中の各ポンプの流量の合計が定格流量N・Q1以下であるか否かを判定する(ステップS503)。さらに、第2のCPU202は、ステップS501において取得した圧力信号に基づいて算出される給水装置の吐出圧力が所定範囲P1~P2外にある状態が一定時間以上継続しているか否かを判定する(ステップS504)。
ステップS502乃至ステップS504の判定結果の全てが真である場合に、処理はステップS505へ進む。他方、ステップS502乃至ステップS504の判定結果の少なくとも1つが偽である場合に、新たなセンシング信号に基づく判定を行うために処理はステップS501に戻る。なお、ステップS502乃至ステップS504の処理は、図4とは異なる順序で実行されてもよいし、並列に実行されてもよい。
ステップS505において、第2のCPU202は、第1のCPU201の異常を報知する。また、ステップS506において、第1のCPU201の電源をOFFにする。さらに、ステップS507において、第2のCPU202は、通常モードからバックアップモードに遷移する。ステップS505乃至ステップS507の処理は、図4とは異なる順序で実行されてもよいし、並列に実行されてもよい。
以上説明したように、実施形態に係る給水装置は、序列の異なる複数の役割が割り当てられた複数のプロセッサ(典型的にはCPU)を搭載した制御基板を備えている。これらのプロセッサは、プロセッサ間の通信の異常および/または異常検知されていないプロセッサのうち最上位の役割のプロセッサによるインバータ制御の異常に基づいて、最上位の役割のCPUの異常を検知すると、異常検知されていないプロセッサのうち第2位の役割のプロセッサがインバータを制御するバックアップモードに遷移する。故に、この実施形態によれば、単一の基板に搭載された複数のプロセッサのうちの一のプロセッサが別のプロセッサの異常を検知してバックアップ運転が可能な給水装置を提供することができる。
(変形例1)
前述の実施形態では、インバータ111~116、第1のCPU201、第2のCPU202、第3のCPU203、および液晶表示器801はシリアル通信用の通信線を介して接続され、シリアル通信が可能に構成されていた。しかしながら、第1のCPU201、第2のCPU202、および第3のCPU203は、シリアル通信を行わず、運転/停止指令、および直流電圧出力による速度指令をインバータ111~116へ出力するとともにインバータ111~116から故障信号を取得するようにしてもよい。
かかる変形例1の構成を前提とすると、前述の(1)CPU間の通信の異常に基づく他のCPUの異常検知は、以下に説明するように、(3)CPUが稼働時に継続的に出力するように定められたパルス信号の出力の異常に基づく他のCPUの異常検知、に置き換えることができる。なお、前述の(2)の異常検知と(3)の異常検知との両方が行われてもよい。
すなわち、変形例1において、第1のCPU201、第2のCPU202、および第3のCPU203は、それぞれその通電時にパルス信号を継続的に出力する。反面、CPUに何らかの異常が生じていた場合に、当該CPUからパルス信号が正常に出力されない可能性がある。そこで、下位CPUは、通常モードにおいて上位CPUのパルス信号の出力を監視し、当該パルス信号の出力が停止したことをトリガとして、上位CPUの異常を検知する。
具体的には、上位CPUは、その稼働中に、所定周期かつ所定幅のパルス信号を出力し続ける。そして、下位CPUは、通常モード時には上位CPUからのパルス信号の出力を監視する。この前提の下で、下位CPUは、上位CPUによるパルス信号の出力が一定時間、例えば1秒以上停止した場合に、上位CPUの異常を検知し得る。特に、第2位の役割のCPUが最上位の役割のCPUの異常を検知した場合には、当該第2位の役割のCPUはバックアップ運転モードに遷移する。
例えば、第2のCPU202が下位CPUであって、第1のCPU201が上位CPUであるとすると、当該第2のCPU202は、図5に示されるように動作可能である。図5の動作例では、まず、第2のCPU202は、第1のCPU201によるパルス信号の出力が停止したか否かを繰り返し監視する(ステップS601)。
そして、第2のCPU202は、第1のCPU201によるパルス信号の出力が停止したことを検知すると、一定時間、例えば1秒、第1のCPU201によるパルス信号の出力の再開を待ち受ける(ステップS602およびステップS603)。一定時間内に第1のCPU201によるパルス信号の出力が再開すれば処理はステップS601に戻り、第1のCPU201によるパルス信号の出力が再開しないまま一定時間が経過(タイムアウト)すれば、処理はステップS604へ進む。
ステップS604において、第2のCPU202は、第1のCPU201の異常を報知する。また、ステップS605において、第2のCPU202は、第1のCPU201の電源をOFFにする。さらに、ステップS606において、第2のCPU202は、通常モードからバックアップモードに遷移する。ステップS604乃至ステップS606の処理は、図5とは異なる順序で実行されてもよいし、並列に実行されてもよい。
なお、図5の動作例では、下位CPUとしての第2のCPU202は、上位CPUとしての第1のCPU201の異常検知時に直ちに当該上位CPUの電源をOFFにするとともにバックアップモードに遷移している。しかしながら、図5の動作例は、以下に説明するように、下位CPUが、上位CPUの異常検知時に上位CPUの電源を一旦リセットし、その後に異常が再検知されたことを条件として、当該上位CPUの異常を報知するとともにバックアップモードに遷移するように変形されてもよい。
すなわち、上位CPUによるパルス信号の出力が再開しないまま一定時間が経過(タイムアウト)した場合に、ステップS604に即座には遷移せず、下位CPUは、上位CPUの電源をOFFにする。そして、一定時間、例えば3秒、経過後に、下位CPUは、上位CPUの電源を再度ONにする。そして、下位CPUは、一定時間、例えば1秒、上位CPUによるパルス信号の出力の再開を待ち受ける。一定時間内に上位CPUによるパルス信号の出力が再開すれば処理はステップS601に戻り、上位CPUによるパルス信号の出力が再開しないまま一定時間が経過(タイムアウト)すれば、処理はようやくステップS604へ進む。かかる変形例によれば、図5の動作例に比べて余分に時間がかかるものの、上位CPUが幸運にも電源リセットにより正常動作に復帰できた場合には、下位CPUに不要なバックアップ運転をさせなくて済むし、上位CPUを異常検知されていないCPUとして引き続き扱うことが可能となる。
図5の動作例は、「第1のCPU201」および「第2のCPU202」をそれぞれ「上位CPU」および「下位CPU」として読み替えることで一般化が可能である。ただし、上位CPUが最上位の役割のCPUに該当しない場合には、図5のステップS606は省略される。いずれにせよ、この上位CPUは、異常検知されていないCPUには該当しなくなるので、下位CPUおよびさらなる下位の役割のCPUはそれぞれその1つ上位の役割のCPUの役割を代行することになる。例えば、第3のCPU203が第2のCPU202の異常を検知した場合には、その上位CPUは第1のCPU201に切り替わるので、動作確認要求の宛先を第2のCPU202から第1のCPU201へ変更することになる。
また、最上位の役割のCPUは同様の技法により最下位の役割のCPUの動作確認をすることができる。すなわち便宜的に、最上位の役割のCPUを「下位CPU」、および最下位の役割のCPUを「上位CPU」として扱うことも可能である。例えば、第1のCPU201が下位CPUであって、第3のCPU203が上位CPUであるとすると、当該第1のCPU201は、図6に示されるように動作可能である。図6の動作例では、まず、第1のCPU201は、第3のCPU203によるパルス信号の出力が停止したか否かを繰り返し監視する(ステップS701)。
そして、第1のCPU201は、第3のCPU203によるパルス信号の出力が停止したことを検知すると、一定時間、例えば1秒、第3のCPU203によるパルス信号の出力の再開を待ち受ける(ステップS702およびステップS703)。一定時間内に第3のCPU203によるパルス信号の出力が再開すれば処理はステップS701に戻り、第3のCPU203によるパルス信号の出力が再開しないまま一定時間が経過(タイムアウト)すれば、処理はステップS704へ進む。
ステップS704において、第1のCPU201は、第3のCPU203の異常を報知する。また、ステップS705において、第1のCPU201は、第3のCPU201の電源をOFFにする。ステップS704およびステップS705の処理は、図6とは異なる順序で実行されてもよいし、並列に実行されてもよい。
要するに、変形例1においても、第1のCPU201、第2のCPU202、および第3のCPU203は、互いに他のCPUの動作確認を行っており、異常を検知した場合には該当のCPUの電源をOFFにする。第1のCPU201が故障すれば、第2のCPU202が稼働系、第3のCPU203が待機系となる。第2のCPU202が故障すれば、第1のCPU201が稼働系、第3のCPU203が待機系となる。第3のCPU203が故障すれば、第1のCPU201が稼働系、第2のCPU202が待機系のままとなる。
このように、制御基板200が3個のCPUを搭載していれば、どのCPUが故障したとしても、1個のCPUが待機系として残存するので依然として従来の2重化された制御基板を備える給水装置と同程度の冗長性を保つことができる。また、1個のCPUが故障した段階では制御基板200の交換は不要であるので、給水装置の安全性を犠牲とすることなく保守点検作業を省力化することができる。
最上位の役割のCPUは、インバータの制御に加えて、制御基板200の外部に対する種々の入出力処理、例えば、各種センサ信号の入力処理、運転/故障信号のリレー出力処理、液晶表示器801のデジタル表示、操作/表示基板802に設けられたLEDの制御、操作/表示基板802に設けられたスイッチおよびボタンからの操作入力処理、などを行う。他方、その他の(下位の)CPUは、通常モードにおいて、その1つ上の役割のCPUのパルス信号の出力監視に関わる処理は行うものの、インバータの制御および制御基板200の外部に対する入出力を行わない。これにより、最上位の役割のCPUに比べて、その他のCPUの消費電流を小さくして期待寿命を最上位の役割のCPUよりも長くすることができる。故に、下位CPUによる上位CPUの異常の検知に対する信頼性を向上させられる。
非最上位の役割のCPU、例えば第2のCPU202および第3のCPU203は、その内部においてクロック信号を分周し、デフォルトのクロック信号および低速のクロック信号を選択可能としてもよい。そして、非最上位の役割のCPUは、通常モードの間は低速のクロック信号を選択して消費電流をさらに低減し、バックアップモードに遷移してからデフォルトのクロック信号を選択するようにしてもよい。
また、異常の報知は、段階的に行われてよい。具体的には、異常検知されていないCPUが2個以上残存している場合には、少なくとも1個のCPUが待機系として残存するので依然として従来の2重化された制御基板を備える給水装置と同程度の冗長性を保つことができる。そこで、各CPUは、他のCPUの異常を検知した時に異常検知されていないCPUが2個以上残存している場合には、当該CPUの異常の報知を例えば操作/表示基板802における異常表示、例えばLEDの点滅、消灯など、に留めてもよい。このような致命的でないCPUの異常は、例えば定期的な保守点検時に作業員が確認し、CPUの交換を行えば十分である。
他方、異常検知されていないCPUが1個しか残存してない場合には、給水装置は冗長性を喪失しているので、制御基板200の交換を速やかに行う必要がある。そこで、各CPUは、他のCPUの異常を検知された時に異常検知されていないCPUが1個、すなわちこのCPUのみしか残存していない場合には、制御基板200の交換を促すための外部警報が出力されてよい。なお、外部警報を受けて給水装置の設置現場に駆けつけた作業員は、インバータ111~116の単独運転を行って手動で運転周波数を調整してもよい。
以上説明したように、変形例1に係る給水装置は、序列の異なる複数の役割が割り当てられた複数のプロセッサ(典型的にはCPU)を搭載した制御基板を備えている。これらのプロセッサは、プロセッサが稼働時に継続的に出力するように定められたパルス信号の出力の異常/または異常検知されていないプロセッサのうち最上位の役割のプロセッサによるインバータ制御の異常に基づいて、最上位の役割のCPUの異常を検知すると、異常検知されていないプロセッサのうち第2位の役割のプロセッサがインバータを制御するバックアップモードに遷移する。故に、この変形例1によれば、単一の基板に搭載された複数のプロセッサのうちの一のプロセッサが別のプロセッサの異常を検知してバックアップ運転が可能な給水装置を提供することができる。
(変形例2)
図7に示した制御基板200は、導通検出回路241と、複数の電極入力部242とを備えているが、これらは制御基板200とは独立した基板、例えば89の水位検出基板910に設けられてもよい。
水位検出基板910は、導通検出回路911と、複数の電極入力部912とを含む。水位検出基板910は、制御基板200との間で信号の送受信が可能である。
電極入力部912は、給水装置の一次側に接続された受水槽20の複数の異なる水位、例えば、渇水、ON、減水、および満水、に対応する位置に取り付けられた複数の水位検出電極にそれぞれ接続される。
導通検出回路911は、電極入力部912を介して、アース電極と、これら複数の水位検出電極のそれぞれとの間に(交流)電圧を印加する。導通検出回路911は、電圧印加時における各水位検出電極とアース電極との導通状態を検出し、検出結果に対応する受水槽20の水位を示す受水槽水位信号、例えば受水槽20が渇水状態にあることを示す渇水信号、を生成する。
導通検出回路911は、第1のCPU201、第2のCPU202、および第3のCPU203とは独立したCPUを備えている。このCPUは、受水槽水位信号に基づいて給水装置の運転を許可/禁止する運転制御指令を生成し、第1のCPU201、第2のCPU202、および第3のCPU203に与える。
なお、この変形例2では、ON状態において制御基板200側に運転許可を指令するスイッチを常にOFFにしている。故に、受水槽20に伝播する雷サージなどにより導通検出回路911が破損し、誤った渇水警報を送出して給水装置が停止した場合であっても、かかるスイッチをONにして誤った渇水警報を解除するとともに水位検出基板910を交換するだけで、給水装置を元通り復旧することができる。
なお、導通検出回路911は、パルス状の直流電圧、例えば500ms毎に10ms幅の12V直流パルス電圧を印加してもよい。かかる電圧を印加することで、電極間で水の電気分解が発生して電極が腐食するのを防ぐことができる。
なお、給水装置の一次側に、単一の受水槽20の代わりに、互いに連結された第1の受水槽および第2の受水槽が接続されている場合には、これら受水槽の複数の異なる水位、例えば、渇水、ON、減水、および満水、に対応する位置には、複数ペアの水位検出電極にそれぞれ接続され得る。そして、導通検出回路911および複数の電極入力部912は以下に説明するように変形され得る。
まず、複数の電極入力部912は、これら複数ペアの水位検出電極にそれぞれ接続される。すなわち、ある電極入力部912は、第1の受水槽のある水位、例えば渇水、に対応する位置に取り付けられた電極と、第2の受水槽の同水位に対応する位置に取り付けられた電極とに接続される。
そして、導通検出回路911は、(a)第1の受水槽の使用時には、電極入力部912を介して、アース電極と、これら複数対の水位検出電極のうち第1の受水槽に取り付けられた複数の水位検出電極のそれぞれとの間に(交流)電圧を印加する。導通検出回路911は、電圧印加時における各水位検出電極とアース電極との導通状態を検出し、検出結果に対応する第1の受水槽の水位を示す受水槽水位信号、例えば第1の受水槽が渇水状態にあることを示す渇水信号、を生成する。他方、導通検出回路911は、(b)第2の受水槽の使用時には、電極入力部912を介して、アース電極と、これら複数対の水位検出電極のうち第2の受水槽に取り付けられた複数の水位検出電極のそれぞれとの間に(交流)電圧を印加する。導通検出回路911は、電圧印加時における各水位検出電極とアース電極との導通状態を検出し、検出結果に対応する第2の受水槽の水位を示す受水槽水位信号、例えば第2の受水槽が渇水状態にあることを示す渇水信号、を生成する。
このように、第1の受水槽の導通検出と第2の受水槽の導通検出とを時分割で行うことで、電極入力部912の数を給水装置の一次側に単一の受水槽20が接続される場合と同数に抑えることができる。
図7に示した操作/表示基板802は、6台のポンプ11~16の各々の運転/故障を表示する6個のLED、ならびに6台のポンプ11~16の各々に対応する6個の自動/停止/手動スイッチを備える。しかしながら、これらのLEDおよび自動/停止/手動スイッチを、1枚の基板に集約する必要はない。具体的には、図8に示すように、ポンプ11~13の各々に対応する3個のLEDおよび3個の自動/停止/手動スイッチは、操作/表示基板901に設けられ、残りのポンプ14~16の各々に対応する3個のLEDおよび3個の自動/停止/手動スイッチは、増設される操作/表示基板902に設けられてもよい。操作/表示基板902は、第1のCPU201、第2のCPU202、および第3のCPU203の入出力部に接続される。
このように、給水装置に搭載されるポンプの台数に関わらず、操作/表示基板901に設けられるLEDおよび自動/停止/手動スイッチの数をそれぞれ、販売台数の多い給水装置に搭載されるポンプの台数、例えば3個、に規格化することで、ポンプ台数の異なる給水装置間で同一の操作/表示基板901を使い回すことが可能となる。これは、操作/表示基板901のコンパクト化およびコスト削減につながる。
同様に、図7に示した制御基板200は、6台のポンプ11~16の各々に対応する6個の運転/故障信号出力部251を備える。しかしながら、これらの運転/故障信号出力部を、1枚の基板に集約する必要はない。具体的には、図8に示すように、ポンプ11~13の各々に対応する3組の運転/故障信号出力部251は、制御基板200に設けられ、残りのポンプ14~16の各々に対応する3組の運転/故障信号出力部251は、増設される外部信号出力基板903に設けられてもよい。外部信号出力基板903は、第1のCPU201、第2のCPU202、および第3のCPU203の入出力部に接続される。
同様に、図7に示した制御基板200は、6台のポンプ11~16の各々に対応する6個の流量センサ入力部232、6個のトリップ入力部233、6個の水温センサ入力部234、および6個の漏水センサ入力部235を備える。しかしながら、これらのセンサ入力部を、1枚の基板に集約する必要はない。具体的には、図8に示すように、ポンプ11~13の各々に対応する3個の流量センサ入力部232、3個のトリップ入力部233、3個の水温センサ入力部234、および3個の漏水センサ入力部235は、制御基板200に設けられ、残りのポンプ14~16の各々に対応する3個の流量センサ入力部232、3個のトリップ入力部233、3個の水温センサ入力部234、および3個の漏水センサ入力部235は、増設される信号入力基板904に設けられてもよい。信号入力基板904は、第1のCPU201、第2のCPU202、および第3のCPU203の入出力部に接続される。
このように、給水装置に搭載されるポンプの台数に関わらず、制御基板200に設けられる、ポンプの台数に依存する入出力部の数をそれぞれ、販売台数の多い給水装置に搭載されるポンプの台数、例えば3個、に規格化することで、ポンプ台数の異なる給水装置間で同一の制御基板200を使い回すことが可能となる。これは、制御基板200のコンパクト化およびコスト削減につながる。
なお、変形例2において、制御基板200以外のいずれの基板も、単体でインバータ111~116を制御する機能は有していない。
ところで、前述の操作/表示基板901および操作/表示基板902は、タッチパネル方式の液晶表示器を利用して一枚の基板に纏めることも可能である。具体的には、このタッチパネルが、ポンプ11~16の自動/停止/手動切り替え、圧力設定、故障リセット、ブザー、などの操作入力を受け付けたり、ポンプ11~16の運転/故障/漏電、受水槽関連の情報(満水、減水、渇水)、測定された現在圧力、設定圧力、推定末端圧力、などの各種情報を表示したりしてもよい。なお、タッチパネルは上記操作入力および表示の全てを1画面で実現する必要はなく、ポンプの運転切替用の画面、圧力設定用の画面、ポンプ11~16の運転情報表示用の画面、受水槽関連の情報表示用の画面、圧力表示用の画面などを切り替えて表示してもよい。かかるさらなる変形により、2枚であった基板が1枚に纏まるので、視認性および操作性が向上する。
或いは、図8の制御盤100から、インバータ114~116と、漏電しゃ断器124~126と、増設の操作/表示基板902、外部信号出力基板903、および信号入力基板904と、これらの基板と制御基板200との間のコネクタとを除去し、CPUの搭載数を1個に絞って、当該CPUを他のCPUの異常を検出しない独立運転モードで動作させることで、3台のポンプ11~13を制御可能な制御盤を廉価に製作することができる。
また、制御盤100は、受水槽水位信号に基づく満水、減水、渇水などの受水槽関連の警報接点信号、受水槽の流入電動弁の開閉信号、およびポンプ11~16の各々の運転/故障接点信号を出力し、制御基板200に、より具体的には第1のCPU201、第2のCPU202、および第3のCPU203それぞれの出力ポートに分岐して接続されたリレー出力基板を備えていてもよい。
また、かかるリレー出力基板を、制御盤100の主電源端子台より接続されたコネクタと、電源スイッチと、必要であればヒューズとを解して、直流電源部に接続してもよい。これにより、制御基板200は、AC電源をOFF/ONして容易に交換可能となる。また、第1のCPU201、第2のCPU202、および第3のCPU203の各々、および各種センサ用の直流電源部を分離すれば、制御基板200を小型化できるので、その交換作業はさらに容易となる。
(変形例3)
図8に示した変形例2に係る制御盤100は、図9に例示するようにさらなる変形が可能である。図9に示す制御盤100は、水位検出基板910に代えて水位検出基板1000を備えており、受水槽操作/表示基板1001をさらに備える。
水位検出基板1000は、前述の導通検出回路911および電極入力部912に加えて、流入電動弁出力部1013をさらに備える。この流入電動弁出力部1013を介して、例えば導通検出回路911に備えられたCPUは、受水槽水位信号に基づいて流入電動弁の開閉を制御する。他方、図9の制御基板200は、流入電動弁出力部252を備えていない点で図8の制御基板200とは異なる。
受水槽操作/表示基板1001は、水位検出基板1000に接続される。また、受水槽操作/表示基板1001は、互いに連結された第1の受水槽および第2の受水槽の間の選択操作、流入電動弁の開閉操作などを受け付ける。さらに、受水槽操作/表示基板1001は、満水、減水、渇水などの受水槽水位を表示する。
(変形例4)
図9に示した変形例3に係る制御盤100は、図10に例示するようにさらなる変形が可能である。図10に示す制御盤100は、制御基板200に代えて制御基板1200を備えており、操作/表示基板901に代えてCPU搭載操作/表示基板1100を備える。
制御基板1200は、第1のCPU201、第2のCPU202および第3のCPU203と、これらに付随する種々の部品、例えばディップスイッチ211,212,213、電源221,222,223など、を備えていない点で図9の制御基板200とは異なる。
他方、CPU搭載操作/表示基板1100は、第1のCPU201、第2のCPU202および第3のCPU203と、これらに付随する種々の部品、例えばディップスイッチ211,212,213、電源221,222,223など、を備えている点で図9の操作/表示基板901とは異なる。
このように、インバータを制御するためのCPUなどのプロセッサは、必ずしも制御基板に搭載される必要はなく、CPU搭載操作/表示基板1100などの別の基板に搭載されてよい。すなわち、前述の制御基板200、このCPU搭載操作/表示基板1100、およびCPUないしプロセッサが搭載されるその他の基板を総称して、CPU搭載基板ないしプロセッサ搭載基板と呼ぶことができる。
上述の実施形態は、本発明の概念の理解を助けるための具体例を示しているに過ぎず、本発明の範囲を限定することを意図されていない。実施形態は、本発明の要旨を逸脱しない範囲で、様々な構成要素の付加、削除または転換をすることができる。
上記各実施形態の処理の少なくとも一部は、例えば汎用のコンピュータに搭載されたCPUおよび/またはGPU、マイコン、FPGA、またはDSP、などのプロセッサを基本ハードウェアとして用いることでも実現可能である。上記処理を実現するプログラムは、コンピュータで読み取り可能な記録媒体に格納して提供されてもよい。プログラムは、インストール可能な形式のファイルまたは実行可能な形式のファイルとして記録媒体に記憶される。記録媒体としては、磁気ディスク、光ディスク(CD-ROM、CD-R、DVD等)、光磁気ディスク(MO等)、半導体メモリなどである。記録媒体は、プログラムを記憶でき、かつ、コンピュータが読み取り可能であれば、何れであってもよい。また、上記処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ(サーバ)上に格納し、ネットワーク経由でコンピュータ(クライアント)にダウンロードさせてもよい。