"電池に流れる電流を検出する電流センサと、前記電池の電圧を検出する電圧センサと、前記電池のOCVとSOCとの相関関係に関する情報が記憶されるメモリと、制御部と、を備え、前記制御部は、前記電流センサの検出結果に基づき、前記電池に流れる電流を時間で積算する電流積算により推定SOCを求めるSOC積算処理と、前記電圧センサの検出結果に基づき、前記電池のOCVを測定する電圧測定処理と、前記相関関係に関する情報に基づき、当該相関関係上、前記電圧測定処理でのOCVの測定値が属する領域における、SOCに対するOCVの変化率が小さいほど、幅が広い基準範囲を設定する基準範囲設定処理と、前記SOC積算処理で求められた推定SOCが、前記基準範囲設定処理で設定された基準範囲外である場合、当該推定SOCを前記基準範囲側にシフトさせ、前記推定SOCが前記基準範囲以内である場合、当該推定SOCをシフトさせない、SOC調整処理と、を実行する、電池管理装置。請求項1に記載の電池管理装置であって、前記制御部は、前記SOC積算処理で求めた推定SOCと、前記SOC調整処理で使用した前記基準範囲とを、履歴情報として前記メモリに記録する履歴記録処理を実行し、前記SOC調整処理では、前記履歴情報に基づき、今回を含む複数回分の推定SOCを結ぶSOC変化線と同一の線形を示し、且つ、前記複数回分の基準範囲とのクロス点が前記SOC変化線と同数以上である特定シフト線を抽出し、今回の推定SOCを、前記基準範囲側であって、且つ、前記特定シフト線側にシフトさせる、電池管理装置。請求項2に記載の電池管理装置であって、前記制御部は、前記SOC調整処理で、前記特定シフト線が複数有る場合には、前記今回の推定SOCを、前記クロス数が最も多い特定シフト線側にシフトさせる、電池管理装置。請求項2または3に記載の電池管理装置であって、前記制御部は、前記SOC調整処理で、前記クロス数が同じ特定シフト線が複数有る場合には、前記今回の推定SOCを、2つの前記シフト線の中心値にシフトさせる、電池管理装置。請求項1から4のいずれか一項に記載の電池管理装置であって、前記制御部は、少なくとも前記SOC積算処理で求めた推定SOCを、履歴情報として前記メモリに記録する履歴記録処理と、前記SOC調整処理では、今回を含む複数回分の推定SOCを同量だけシフトさせた情報に、前記メモリに記憶された前記履歴情報を更新する、電池管理装置。複数のセルが直列接続された組電池と、請求項1から請求項5のいずれか一項に記載の組電池監視装置と、を備える電池パック。電池に流れる電流を検出する電流センサ、及び、前記電池の電圧を検出する電圧センサから検出結果を取得する制御ユニットが有するコンピュータに、前記電流センサの検出結果に基づき、電池に流れる電流を時間で積算する電流積算により推定SOCを求めるSOC積算処理と、前記電圧センサの検出結果に基づき、前記電池のOCVを測定する電圧測定処理と、前記電池のOCVとSOCとの相関関係上、前記電圧測定処理でのOCVの測定値が属する領域における、SOCに対するOCVの変化率が小さいほど、幅が広い基準範囲を設定する基準範囲設定処理と、前記SOC積算処理で求められた推定SOCが、前記基準範囲設定処理で設定された基準範囲外である場合、当該推定SOCを前記基準範囲側にシフトさせ、前記推定SOCが前記基準範囲以内である場合、当該推定SOCをシフトさせない、SOC調整処理と、を実行させる電池管理プログラム。電池のSOC推定方法であって、電池に流れる電流の検出結果に基づき、前記電池に流れる電流を時間で積算する電流積算により推定SOCを求めるSOC積算工程と、前記電池の電圧の検出結果に基づき、前記電池のOCVを測定する電圧測定工程と、前記電池のOCVとSOCとの相関関係上、前記電圧測定工程でのOCVの測定値が属する領域における、SOCに対するOCVの変化率が小さいほど、幅が広い基準範囲を設定する基準範囲設定工程と、前記SOC積算工程で求められた推定SOCが、前記基準範囲設定工程で設定された基準範囲外である場合、当該推定SOCを前記基準範囲側にシフトさせ、前記推定SOCが前記基準範囲以内である場合、当該推定SOCをシフトさせない、SOC調整工程と、を含む、電池のSOC推定方法。ところが、上記OCVとSOCとの相関関係は正比例ではなく曲線を描くため、OCVの測定誤差に対し、そのOCVによるSOC推定方法で求めたSOCの誤差幅は、OCVの測定値によってばらつく。しかし、上記従来技術では、このことを全く考慮しておらず、OCVの測定値にかかわらず、上記差ΔVを、一律、同じ所定範囲、換言すれば同一幅と比較している。このため、従来技術では、推定SOCを、OCVによるSOC推定方法で求めたSOCにシフトさせると、却って、シフト前よりも、推定SOCと実際のSOCとの間の誤差が大きくなってしまうおそれがある。本明細書では、推定SOCを、OCVによるSOC推定方法で求めたSOCにシフトさせることにより推定SOCがシフト前よりも増大してしまうことを抑制することが可能な技術を開示する。本明細書によって開示される電池管理装置は、電池に流れる電流を検出する電流センサと、前記電池の電圧を検出する電圧センサと、前記電池のOCVとSOCとの相関関係に関する情報が記憶されるメモリと、制御部と、を備え、前記制御部は、前記電流センサの検出結果に基づき、前記電池に流れる電流を時間で積算する電流積算により推定SOCを求めるSOC積算処理と、前記電圧センサの検出結果に基づき、前記電池のOCVを測定する電圧測定処理と、前記相関関係に関する情報に基づき、当該相関関係上、前記電圧測定処理でのOCVの測定値が属する領域における、SOCに対するOCVの変化率が小さいほど、幅が広い基準範囲を設定する基準範囲設定処理と、前記SOC積算処理で求められた推定SOCが、前記基準範囲設定処理で設定された基準範囲外である場合、当該推定SOCを前記基準範囲側にシフトさせ、前記推定SOCが前記基準範囲以内である場合、当該推定SOCをシフトさせない、SOC調整処理と、を実行する。この発明によれば、相関関係上、電圧測定処理でのOCVの測定値が属する領域における、SOCに対するOCVの変化率SOCの単位量当たりにおけるOCVの変化量が小さいほど、幅が広い基準範囲が設定される。即ち、基準範囲の幅は、OCVの測定誤差に対するSOCの誤差範囲が大きいほど、広く設定される。そして、SOC積算処理で求められた推定SOCが、基準範囲外である場合、当該推定SOCを基準範囲側にシフトさせ、推定SOCが基準範囲以内である場合、当該推定SOCをシフトさせない。これにより、推定SOCを、OCVによる方法で求めたSOCにシフトさせることにより推定SOCがシフト前よりも増大してしまうことを抑制することが可能である。上記電池管理装置では、前記制御部は、前記SOC積算処理で求めた推定SOCと、前記SOC調整処理で使用した前記基準範囲とを、履歴情報として前記メモリに記録する履歴記録処理を実行し、前記SOC調整処理では、前記履歴情報に基づき、今回を含む複数回分の推定SOCを結ぶSOC変化線と同一の線形を示し、且つ、前記複数回分の基準範囲とのクロス点が前記SOC変化線と同数以上である特定シフト線を抽出し、今回の推定SOCを、前記基準範囲側であって、且つ、前記特定シフト線側にシフトさせてもよい。この発明によれば、SOC調整処理では、今回を含む複数回分の推定SOCを結ぶSOC変化線と同一の線形を示し、且つ、複数回分の基準範囲とのクロス点がSOC変化線と同数以上である特定シフト線が抽出され、今回の推定SOCは、基準範囲側であって、且つ、特定シフト線側にシフトされる。これにより、単に、今回の推定SOCを、今回の基準範囲内にシフトさせる場合に比べて、過去の推定SOCと基準範囲との関係を考慮した、より正確な推定SOCを求めることができる。上記電池管理装置では、前記制御部は、前記SOC調整処理で、前記特定シフト線が複数有る場合には、前記今回の推定SOCを、前記クロス数が最も多い特定シフト線側にシフトさせてもよい。この発明によれば、特定シフト線が複数有る場合、今回の推定SOCは、クロス数が最も多い特定シフト線側にシフトされる。これにより、過去の推定SOCと基準範囲との関係を更に考慮した、より正確な推定SOCを求めることができる。上記電池管理装置では、前記制御部は、前記SOC調整処理で、前記クロス数が同じ特定シフト線が複数有る場合には、前記今回の推定SOCを、2つの前記シフト線の中心値にシフトさせてもよい。この発明によれば、クロス数が同じ特定シフト線が複数有る場合、今回の推定SOCは、2つのシフト線の中心値にシフトされる。これにより、今回の推定SOCを各シフト線上にシフトさせる構成に比べて、シフト後の推定SOCが、実際のSOCから大きくずれることを抑制することができる。上記電池管理装置では、前記制御部は、少なくとも前記SOC積算処理で求めた推定SOCを、履歴情報として前記メモリに記録する履歴記録処理と、前記SOC調整処理では、今回を含む複数回分の推定SOCを同量だけシフトさせた情報に、前記メモリに記憶された前記履歴情報を更新してもよい。この発明によれば、過去の推定SOCの履歴情報に、直近の推定SOCのシフト結果を反映させることができる。電池パックは、複数のセルが直列接続された組電池と、上記組電池監視装置と、を備える。電池管理プログラムは、電池に流れる電流を検出する電流センサ、及び、前記電池の電圧を検出する電圧センサから検出結果を取得する制御ユニットが有するコンピュータに、前記電流センサの検出結果に基づき、電池に流れる電流を時間で積算する電流積算により推定SOCを求めるSOC積算処理と、前記電圧センサの検出結果に基づき、前記電池のOCVを測定する電圧測定処理と、前記電池のOCVとSOCとの相関関係上、前記電圧測定処理でのOCVの測定値が属する領域における、SOCに対するOCVの変化率が小さいほど、幅が広い基準範囲を設定する基準範囲設定処理と、前記SOC積算処理で求められた推定SOCが、前記基準範囲設定処理で設定された基準範囲外である場合、当該推定SOCを前記基準範囲側にシフトさせ、前記推定SOCが前記基準範囲以内である場合、当該推定SOCをシフトさせない、SOC調整処理と、を実行させる。電池のSOC推定方法は、電池に流れる電流の検出結果に基づき、前記電池に流れる電流を時間で積算する電流積算により推定SOCを求めるSOC積算工程と、前記電池の電圧の検出結果に基づき、前記電池のOCVを測定する電圧測定工程と、前記電池のOCVとSOCとの相関関係上、前記電圧測定工程でのOCVの測定値が属する領域における、SOCに対するOCVの変化率が小さいほど、幅が広い基準範囲を設定する基準範囲設定工程と、前記SOC積算工程で求められた推定SOCが、前記基準範囲設定工程で設定された基準範囲外である場合、当該推定SOCを前記基準範囲側にシフトさせ、前記推定SOCが前記基準範囲以内である場合、当該推定SOCをシフトさせない、SOC調整工程と、を含む。本発明によれば、推定SOCを、OCVによるSOC推定方法で求めたSOCにシフトさせることにより推定SOCがシフト前よりも増大してしまうことを抑制することが可能である。一実施形態について、図1~図11を参照しつつ説明する。本実施形態の電池パック1は、例えば電気自動車やハイブリット自動車に搭載され、電気エネルギーで作動する動力源に電力を供給する。電池パックの構成図1に示すように、電池パック1は、組電池2、及び、電池管理装置BatteryManagementSystem以下、BMSという3を備える。組電池2は、複数の電池セルCが直列接続された構成であり、各電池セルCは、繰り返し充電可能な二次電池であり、より具体的にはリチウムイオン電池である。組電池2は、電気自動車等の内部または外部に設けられた充電装置40、または、電気自動車等の内部に設けられた動力源等の負荷図示せずに、配線4を介して電気的に接続される。組電池2は、電池の一例である。なお、充電装置は、図示しない外部電源から電力供給を受けて、組電池2を充電する。BMS3は、制御ユニット31、アナログ-デジタル変換機以下、ADCという32、電流センサ33、電圧センサ34を備える。制御ユニット31は、中央処理装置以下、CPUという35、ROMやRAMなどのメモリ36を有する。メモリ36には、BMS3の動作を制御するための各種のプログラム電池管理プログラムを含むが記憶されており、CPU35は、メモリ36から読み出したプログラムに従って、後述する管理処理を実行するなど、各部の制御を行う。制御ユニット31は、制御部の一例である。電流センサ33は、配線4を介して組電池2を流れる充電電流または放電電流以下、充放電電流というの電流値Iを所定期間毎に検出し、その検出した電流値I[A]に応じたアナログの検出信号SG1をADC32に送信する。電圧センサ34は、組電池2の両端に接続され、組電池2の両端電圧である電圧値V[V]を検出し、その検出した電圧値Vに応じたアナログの検出信号SG2をADC32に送信する。電圧センサ34では、配線4を介さず、両端電圧を直接検出することで、配線4の配線抵抗による影響を抑制した正確な電圧値Vを検出することができる。ADC32は、電流センサ33及び電圧センサ34から送信される検出信号SG1、SG2を、アナログ信号からデジタル信号に変換し、電流値I及び電圧値Vを示すデジタルデータをメモリ36に記憶する。なお、充電装置40には、ユーザからの入力を受け付ける操作部図示せず、組電池2の劣化状態等を表示する液晶ディスプレイからなる表示部図示せずが設けられている。電池管理処理例えば電気自動車に電源が投入されると、BMS3が起動し、制御ユニット31は電池管理処理の実行を開始する。具体的には、CPU35は、上記プログラムをメモリ36から読み出して、図2に示す電池管理処理を実行する。電池管理処理では、CPU35は、OCVによるSOC推定方法により、起動時SOCの初期値を算出するS1。具体的には、CPU35は、電圧センサ34からの検出信号SG2に基づき、BMS3起動時における組電池2の両端電圧の電圧値V0を検出し、この電圧値V0を、OCVの初期値とする。CPU35は、予め定められたOCV-SOC関係データを参照して、OCVの初期値V0に対応するSOCを抽出し、これを、推定SOCの初期値とする方法である。なお、OCV-SOC関係データは、組電池2について、OCVとSOCとの相関関係を示す情報であり、これは組電池2の実験や仕様等により予め定められてメモリ36に記憶されている。OCV-SOC関係データは、OCVとSOCとの相関関係に関する情報の一例であり、OCVとSOCとの対応関係テーブルでもよいし、関数データでもよい。1.SOC積算処理、及び、第1履歴記録処理次に、CPU35は、電流積算によるSOC推定方法により推定SOCを求めるSOC積算処理、及び、第1履歴記録処理の実行を開始しS2、これ以降、これらの処理を、所定時間ごとに繰り返し実行する。具体的には、CPU35は、SOC積算処理では、電流センサ33からの検出信号SG1に基づき、電流値Iを時間で積算していく。CPU35は、この電流値Iの積算値に組電池2の実際の充電効率を乗算し、且つ、組電池2の総容量TotalAmountofChargeで除算した値に、100を乗算した値を、積算SOCの現在値[]とする。CPU35は、この積算SOCの現在値に、上記推定SOCの初期値を加算した値を、推定SOCの現在値とする。また、CPU35は、第1履歴情報記録処理では、この推定SOCの現在値を、履歴情報として、メモリ36に記録していく。2.電圧測定処理CPU35は、SOC積算処理、及び、第1履歴記録処理の実行を開始した後、OCV検出条件を満たすかどうかを判断しS3、OCV検出条件を満たすと判断した場合にS3:YES、OCVの現在値を測定する電圧測定処理を実行するS4。本実施形態では、OCV検出条件は、組電池2の電圧値Vが、所定時間継続して、基準電流範囲内であったことである。基準電流範囲は、無負荷状態の電流値を含む範囲であり、具体的には、上限値が0[A]から所定電流値だけIthだけ高い値であり、下限値が0[A]から所定電流値だけIthだけ低い値である。図3には、組電池2の電圧値V及び電流値Iの変化の推移が例示されている。同図に示すように、電流値Iが基準電流範囲内に入ると、CPU35は、その時点からの経過時間をカウントすることと、電圧センサ34からの検出信号SG2に基づく電池値Vをメモリ36に記録することを開始する。電流値Iが所定時間継続して基準電流範囲内にあったときには、CPU35は、上記OCV検出条件を満たしたと判断しS3:YES、その後、電流値Iが最初に基準電流範囲外となったときの直前の電圧値V1を、OCVの現在値とみなすS4。なお、OCV検出条件の他の例としては、例えば電気自動車等が、信号待ち等により所定時間停止状態になったことなどが挙げられる。3.基準範囲設定処理CPU35は、OCVの現在値を測定すると、OCV-SOC関係データに基づき、当該OCVの現在値に対応するSOCの基準範囲Hを設定する基準範囲設定処理を実行するS5。この基準範囲Hは、OCVの測定誤差が所定幅ΔVであるとした場合、上記OCVとSOCとの相関関係上、そのOCVの所定幅ΔVに対応するSOCの誤差範囲をいう。なお、所定幅ΔVは、電圧センサ34の測定誤差、温度など、OCV測定時の条件、組電池2の固体バラツキ等を考慮して決定することが好ましい。図4には、リチウムイオン電池についてのOCVとSOCとの相関関係を示すグラフが例示されている。同図では、縦軸がOCV[V]であり、横軸がSOCである。同図から解るように、OCVとSOCとの相関関係のグラフは、直線ではなく曲線を描く。即ち、OCVとSOCとの相関関係のグラフには、SOCに対するOCVの変化率=SOCの単位量当たりのOCVの変化量、換言すれば、同グラフの勾配が互いに異なる領域が存在する。このため、OCVの測定誤差に対し、そのOCVによるSOC推定方法で求めたSOCの誤差幅は、OCVの測定値によってばらつく。例えばOCVの測定値がV2の場合とV3の場合と比較する。図4に示すように、OCVの測定値がV2の場合は、相対的にグラフの勾配が急峻な領域に属するから、測定値V2に対応するSOCの基準範囲H2は比較的に狭い。これに対して、OCVの測定値がV3の場合は、相対的にグラフの勾配が緩やかな領域に属するから、測定値V3に対応するSOCの基準範囲H2は比較的に広くなる。なお、基準範囲H2は、OCVの測定値V2に対応するSOCの値X2を含み、基準範囲H3は、OCVの測定値V3に対応するSOCの値X3を含む。CPU35は、OCV-SOC関係データを参照して、S4でのOCVの測定値に対応する基準範囲H、より具体的には、当該基準範囲HのSOCの最大値と最小値とを算出する。なお、メモリ36に、予め、OCVと、基準範囲Hとの対応関係情報を記憶しておき、CPU35は、当該対応関係情報を参照して、OCVの測定値に対応する基準範囲Hを抽出する構成でもよい。この構成の場合、この対応関係情報も、OCVとSOCとの相関関係に関する情報の一例である。4.SOC調整処理CPU35は、基準範囲Hを設定すると、SOC調整処理を実行する。具体的には、CPU35は、推定SOCの現在値が、S5で設定した基準範囲H以内にあるかどうかを判断するS6。ここで、上述したように、基準範囲Hは、OCVの測定値を中心とし、且つ、所定幅ΔVを有するOCV範囲に対応するSOCの誤差範囲である。即ち、基準範囲Hは、OCVによるSOC推定方法により求められたSOCは、この範囲で実際のSOCに対して誤差が生じ得ることを意味する。このため、推定SOCの現在値が基準範囲H以内にある場合に、仮に、推定SOCの現在値を、OCVの推定値に対応するSOCにシフトさせると、却って、シフト後の推定SOCの値が、シフト前よりも実際のSOCから離れてしまうおそれがある。例えば、図4に示すように、実際のSOCがX0、推定SOCの現在値がX1、OCVの測定値がV3である場合、推定SOCの現在値を、OCVの測定値V3に対応するSOCの値X3にシフトさせると、推定SOCは、シフト前よりも実際のSOCから離れてしまう。そこで、CPU35は、推定SOCの現在値が基準範囲H以内にあると判断すればS6:YES、電流積算によるSOC推定方法による累積誤差は、OCVによるSOC推定方法による単発的な誤差に比べて小さいとみなし、推定SOCをシフトさせずに、そのまま電流積算によるSOC推定を継続し、S8に進む。一方、CPU35は、推定SOCの現在値が基準範囲H外にあると判断すればS6:NO、電流積算によるSOC推定方法による累積誤差は、OCVによるSOC推定方法による単発的な誤差に比べて大きいとみなし、推定SOCを、基準範囲H側または基準範囲以内にシフトさせるシフト処理を実行するS7。5.シフト処理図5には、シフト処理を示すフローチャートが示されている。ここで、BMS3は、図示しない設定部にて、複数のシフトパターンの中から1つのシフトパターンを設定可能とされている。なお、この設定は、電池パック1の製造段階において製造者により、電池パック1が搭載される機器の特性に応じて設定されることが好ましい。CPU35は、まず設定されているシフトパターンを判別し、判別したシフトパターンで推定SOCの現在値をシフトさせる。図6~図10には、各パターンにおけるシフト前後の推定SOCの変化線以下、SOC変化線という、及び、シフト線が示されている。同図中の実線L0はシフトタイミング以前のSOC変化線であり、実線L1はシフトタイミング以後のSOC変化線である。点線L2は、上記SOC変化線L0をシフトさせた後のシフト線L2である。また、同図中の両端に矢印付きの直線は、各推定SOCに対応する基準範囲Hを示す。CPU35は、Aパターンに設定されていると判別した場合S21:YES、図6に示すように、推定SOCを、現在値X1から、S5で設定した基準範囲Hの両端のうち、当該現在値X1に近い方の端の値にシフトさせるS22。同図の例では、推定SOCは、基準範囲Hの最小値X4Aにシフトされている。これにより、CPU35は、シフトタイミング以降、改めて、最小値X4Aを初期値として、電流積算によるSOCの上記推定処理を開始する。即ち、CPU35は、最小値X4Aに、シフトタイミング以降の積算SOCを加算したものを、推定SOCとする。このAパターンであれば、シフト量を最小限に抑えることにより、積算電流によるSOC推定方法による結果を極力、尊重させることができる。CPU35は、Bパターンに設定されていると判別した場合S21:NO、且つ、S23:YES、図7に示すように、推定SOCを、現在値X1から、OCVとSOCとの相関関係上、OCVの測定値に対応するSOCの値X4BにシフトさせるS24。これにより、CPU35は、シフトタイミング以降、改めて、SOCの値X4Bを初期値として、電流積算によるSOCの推定処理を開始する。このBパターンであれば、OCVによるSOC推定方法による結果を最も尊重させることができる。CPU35は、Cパターンに設定されていると判別した場合S21、S23:NO、且つ、S25:YES、図8に示すように、推定SOCを、現在値X1から、S5で設定した基準範囲Hの中心値X4CにシフトさせるS26。これにより、CPU35は、改めて、シフトタイミング以降、中心値X4Cを初期値として、電流積算によるSOCの推定処理を開始する。このCパターンであれば、上記AパターンやBパターンに比べて、推定SOCを実際のSOCに近付けることができない可能はあるが、シフト後の推定SOCが、OCVの測定誤差により、実際のSOCから大きく外れることを抑制することができる。CPU35は、Dパターンに設定されていると判別した場合S21、S23、S25:NO、シフトタイミング以前の基準時間内のSOC変化線L0が、過去に使用した基準範囲Hとクロスするクロス数をカウントし、そのクロス数が、シフト前よりも増加するシフト線が有るかどうかを判断する。以下、このシフト線を、増加シフト線といい、これは、特定シフト線の一例である。ここで、上記基準時間は、短すぎると、推定SOCと基準範囲との比較回数、換言すれば上記クロス数が少なくなり実際のSOCとの誤差が大きくなってしまうおそれがある。逆に、基準時間は、長すぎると、電流センサ33の測定誤差を時間で積算した累積誤差によって実際のSOCとの誤差が大きくなってしまうおそれがある。そこで、基準時間は、電流センサ33の測定誤差と、その測定誤差を時間で積算した累積誤差の許容範囲とを考慮して決定することが好ましい。例えば、電流センサ33の最大測定範囲の1時間当たりの測定誤差が±0.1、累積誤差の許容範囲が±20とすると、累積誤差の許容範囲を、測定誤差で除算した結果である200時間を、基準時間として決定する。図9の例では、シフト前のSOC変化線L0のクロス数は7つであるのに対し、シフト線L2Dのクロス数は8つに増加しているため、シフト線L2Dは、増加シフト線である。なお、同図中のシフト線L2Dminは、最低レベルの増加シフト線であり、シフト線L2Dmaxは、最大レベルの増加シフト線である。図9の場合、CPU35は、増加シフト線有りと判断しS27:YES、推定SOCを、現在値X1から、当該増加シフト線上の値にシフトさせるS28。ここで、図9において、仮に、推定SOCを、基準範囲Hの最大値側にシフトさせると、シフト線L2は、ほとんど基準範囲Hから外れてしまう。そうすると、過去の推定SOCと基準範囲Hとの関係が全く無視され、シフト前とシフト後のSOC変化線の連続性が断たれてしまうおそれがある。これに対し、このDパターンであれば、現在だけでなく、過去の推定SOCと基準範囲Hとの関係を考慮した、より正確な推定SOCを求めることができる。推定SOCは、増加シフト線L2Dminの右端の値X4Dminから、増加シフト線L2Dmaxの右端の値X4Dmaxまでのいずれかの値にシフトさせればよい。図9の例では、推定SOCが、値X4Dminと値X4Dmaxとの中心値X4Dにシフトされている例が示されている。図10の例では、増加シフト線はなく、シフト前のSOC変化線L0のクロス数は8つであるのに対し、シフト線L2Dのクロス数も8つであり、互いにクロス数が同数である。以下、このシフト数L2Dを、特に同シフト線といい、これは特定シフト線の一例である。なお、同図中の同シフト線L2Dminは、最低レベルのシフト線であり、同シフト線L2Dmaxは、最大レベルのシフト線である。図10の場合、CPU35は、増加シフト線無しと判断しS27:NO、推定SOCを、現在値X1から、同数パターン上、或いは、複数の同数パターンの間の値にシフトさせるS29。これにより、このDパターンであれば、現在だけでなく、過去の推定SOCと基準範囲Hとの関係を考慮した、より正確な推定SOCを求めることができる。推定SOCは、同シフト線L2Dminの右端の値X4Dminから、同シフト線L2Dmaxの右端の値X4Dmaxまでのいずれかの値にシフトさせればよい。図10の例では、推定SOCが、値X4Dminと値X4Dmaxとの中心値X4Dにシフトされている例が示されている。CPU35は、推定SOCを、いずれかのシフトパターンでシフトさせた後、メモリ36に記録されている履歴情報に基づき、過去の推定SOCを結ぶSOC変化線L0を、推定SOCの現在値と同量だけシフトさせてS30各図のL2参照、本シフト処理を終了し、図2のS8に進む。CPU35は、S8では、第2履歴記録処理を実行する。具体的には、CPU35は、シフト処理を実行していない場合にはS6:YES、推定SOCの現在値、及び、S5で設定した基準範囲を、履歴情報としてメモリ36に記録する。CPU35は、シフト処理を実行した場合にはS6:NO、推定SOCの現在値、及び、S5で設定した基準範囲を、履歴情報としてメモリ36に記録すると共に、履歴情報として既に記録されている過去の推定SOCを、S30によるシフト後の推定SOCに書き換え更新する。CPU35は、第2履歴記録処理の実行後、劣化判定処理を実行するS9。劣化判定処理では、CPU35は、メモリ36に記憶された履歴情報に基づき、組電池2が劣化して寿命末期であるかどうかを判定する。具体的には、CPU35は、メモリ36に記録されている過去の推定SOCを結ぶSOC変化線シフト線L2と各基準範囲Hとのずれ幅Yを累計した値が、予め定めた閾値を超える場合に、寿命末期や機器異常であると判定する。組電池2や各電池セルCの容量減少により、実際のOCVとSOCとの相関関係が変化し、実際のSOCの誤差範囲と、設定されている基準範囲Hとに相違が生じることにより、電流積算して求めた推定SOCの値が基準範囲Hから大きく外れることが想定される。また、組電池2の寿命だけでなく、電流センサ33等の機器の故障や劣化により、電流積算値に大きな誤差が生まれ、推定SOCの値が基準範囲Hから大きく外れることが想定される。従って、上記ずれ幅Yの累計値を閾値と比較することにより、寿命末期等であるかどうかを判定することができる。図11には、OCV検出条件を満たした直近10回T1~T10分の推定SOCと基準範囲との比較等S4~S8の実行過程における、メモリ36に記録される履歴情報、及び、SOC変化線Lの推移が示されている。同図の例では、2,6,7,8,10回目にシフト処理が実行されており、各曲線Lは次のSOC変化線を示す。曲線L1:2回目のシフトタイミング前のSOC変化線曲線L2:2回目のシフトタイミング後のSOC変化線、及び、更新後の過去のSOC変化線シフト線曲線L6:6回目のシフトタイミング後のSOC変化線、及び、更新後の過去のSOC変化線曲線L7:7回目のシフトタイミング後のSOC変化線、及び、更新後の過去のSOC変化線曲線L8:8回目のシフトタイミング後のSOC変化線、及び、更新後の過去のSOC変化線曲線L10は、10回目のシフトタイミング後のSOC変化線、及び、更新後の過去のSOC変化線従って、図11の例では、T10が現時点であるとすると、現在、メモリ36に記録されている履歴情報は、SOC変化線L10上の推定SOCである。そして、このSOC変化線L10と、各基準範囲H1~H10とのずれ幅Yの累計値は、Y1Y2Y3Y4Y5Y6Y7であり、この累計値が閾値を超えた場合に、組電池2は寿命末期であると判定される。なお、その他の劣化判定方法としては、所定時間内におけるシフト処理の実行回数が、上限回数を超えた場合に、寿命末期であると判定する方法でもよい。更に、CPU35は、BMS3の起動後、OCV検出条件を満たした回数が所定回数例えば2回以内であるうちに、推定SOCが基準範囲から外れた場合には、電流センサ33の故障であると判定する処理を行ってもよい。本実施形態の効果本実施形態によれば、OCVとSOCとの相関関係上、電圧測定処理でのOCVの測定値が属する領域における、SOCに対するOCVの変化率SOCの単位量当たりにおけるOCVの変化量が小さいほど、幅が広い基準範囲が設定される。即ち、基準範囲の幅は、OCVの測定誤差に対するSOCの誤差範囲が大きいほど、広く設定される。そして、SOC積算処理で求められた推定SOCが、基準範囲外である場合、当該推定SOCを基準範囲側にシフトさせ、推定SOCが基準範囲以内である場合、当該推定SOCをシフトさせない。これにより、推定SOCを、OCVによる方法で求めたSOCにシフトさせることにより推定SOCがシフト前よりも増大してしまうことを抑制することが可能である。また、SOC調整処理では、今回を含む複数回分の推定SOCを結ぶSOC変化線と同一の線形を示し、且つ、複数回分の基準範囲とのクロス点がSOC変化線と同数以上である特定シフト線が抽出され、今回の推定SOCは、基準範囲側であって、且つ、特定シフト線側にシフトされる。これにより、単に、今回の推定SOCを、今回の基準範囲内にシフトさせる場合に比べて、過去の推定SOCと基準範囲との関係を考慮した、より正確な推定SOCを求めることができる。また、特定シフト線が複数有る場合、今回の推定SOCは、クロス数が最も多い特定シフト線側にシフトされる。これにより、過去の推定SOCと基準範囲との関係を更に考慮した、より正確な推定SOCを求めることができる。また、クロス数が同じ特定シフト線が複数有る場合、今回の推定SOCは、2つのシフト線の中心値にシフトされる。これにより、今回の推定SOCを各シフト線上にシフトさせる構成に比べて、シフト後の推定SOCが、実際のSOCから大きくずれることを抑制することができる。また、図5のS30の処理により、過去の推定SOCの履歴情報に、直近の推定SOCのシフト結果を反映させることができる。<他の実施形態>本明細書が開示する技術は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような種々の態様も本発明の技術的範囲に含まれる。特に、各実施形態の構成要素のうち、最上位の発明の構成要素以外の構成要素は、付加的な要素なので適宜省略可能である。上記実施形態では、電池の一例として、組電池2を例に挙げた。しかし、電池は、これに限らず、1つの単電池からなる電池でもよく、また、二次電池以外の電池でもよい。上記実施形態では、メモリの一例として、制御ユニット31の内部に設けられたメモリ36を例に挙げた。しかし、メモリは、これに限らず、制御ユニット31の外部に設けられたものでもよい。上記実施形態では、電池のOCVを測定する測定処理の一例として、無負荷に近い状態になったときの電圧値Vを検出し、これをOCVの現在値とした。しかし、測定処理は、これに限らず、様々な公知のOCV測定方法を利用することができる。例えば、制御ユニット31が、組電池2の電圧値Vと電流値Iと予め求められた抵抗値とから、OCVの現在値を算出する構成でもよい。この構成であれば、組電池2が無負荷状態に近いかどうかにかかわらず、COVの現在値を測定することが可能である。上記実施形態では、制御ユニット31は、S6で推定SOCが基準範囲H以内かどうかに基づき、シフト処理を実行するかどうかを判断した。しかし、これに限らず、制御ユニット31は、OCVの測定値が、OCV用基準範囲以内かどうかを判断することにより、間接的に、推定SOCが、基準範囲以内かどうかを判断してもよい。この場合、OCV用基準範囲は、上記基準範囲とは逆に、OCVとSOCとの相関関係上、電圧測定処理でのOCVの測定値が属する領域における、SOCに対するOCVの変化率が小さいほど、幅が狭くなる。上記実施形態では、制御部の一例として、1つのCPU35等を備える制御ユニット31を例挙げた。しかし、制御部は、複数のCPUを備える構成や、ASICApplicationSpecificIntegratedCircuitなどのハード回路を備える構成や、ハード回路及びCPUの両方を備える構成でもよい。要するに、制御部は、上記1~5の処理を、ソフト処理またはハード回路を利用して実行するものであればよい。上記実施形態では、電池管理プログラムの一例として、メモリ36に記憶されたものを例に挙げた。しかし、電池管理プログラムは、これに限らず、ハードディスク装置、フラッシュメモリ登録商標などの不揮発性メモリや、CD-Rなどの記憶媒体などに記憶されたものでもよい。"