二次電池の動作を制御する装置であって、前記二次電池の端子電圧を測定する電圧測定部と、前記二次電池に流れる電流を測定する電流測定部と、前記二次電池の状態を推定する状態推定部と、を備え、前記状態推定部は、前記電圧測定部が測定した電圧情報に基づき充電状態初期値を推定し、前記充電状態初期値と前記電流測定部が測定した電流情報の積分とにより充放電が行われる状況下の充電状態を推定する機能を有し、前記状態推定部は前記充電状態を2つ並行して推定し、推定した2つの充電状態を重み付け加算することで充電状態を推定することを特徴とする電池制御装置。前記状態推定部が推定する2つの充電状態の充電状態初期値はそれぞれ異なる電圧情報から推定されたものであることを特徴とする請求項1記載の電池制御装置。前記状態推定部が過去に行った処理の結果を記憶する記憶部を備え、前記状態推定部が推定する2つの充電状態のうち、少なくとも1つの充電状態は、前記記憶部に記憶された前記状態推定部の処理結果に基づき推定されることを特徴とする請求項1記載の電池制御装置。前記記憶部は、少なくとも前記電圧測定部が測定した電圧情報に基づき推定した充電状態初期値と、前記二次電池の充放電終了時の充電状態最終値とを記憶することを特徴とする請求項3記載の電池制御装置。前記状態推定部は、前記電圧測定部が測定した電圧情報に基づき推定した2つの充電状態初期値と、前記電流測定部が測定した電流情報を積分することにより推定される充電状態の変化量とに基づいて重み付け係数を算出することを特徴とする請求項1から4のいずれか1項記載の電池制御装置。前記状態推定部は、前記重み付け係数の算出結果が0より小さい場合は前記重み付け係数に0を設定し、前記重み付け係数の計算結果が1より大きい場合は重み付け係数に1を設定することを特徴とする請求項1から5のいずれか1項記載の電池制御装置。前記並行して推定される2つの充電状態は、充電状態初期値を電圧情報から推定した時点に設定される満充電容量又は満充電容量の劣化情報に基づいてそれぞれ推定されることを特徴とする請求項1から6のいずれか1項記載の電池制御装置。前記状態推定部は、2つの充電状態推定結果を前記重み付け係数で組合せて推定した前記二次電池の充電状態に基づいて、二次電池の充電若しくは放電を制限することを特徴とする請求項1から7のいずれか1項記載の電池制御装置。請求項1から8のいずれか1項記載の電池制御装置と、前記電池制御装置が動作を制御する前記二次電池と、を備えることを特徴とする二次電池システム。上記特許文献1に記載されている技術では、蓄電手段の端子電圧を用いて、蓄電手段の残存容量を精度よく算出することができる。ただし、充放電を実施している間は端子電圧を用いた残存容量の算出は処理が複雑となるため、充放電中は蓄電手段に出入りする電流を積分することにより蓄電手段の残存容量を求める。ここで、電流を積分して充電状態を推定すると、端子電圧を用いて推定した時点の残存容量推定結果から離れるにつれて、推定誤差が次第に大きくなってしまう。本発明は、上記のような課題を解決するためになされたものであり、二次電池に入出力する電流を積分して充電状態を推定する際の推定精度を向上させることを目的とする。本発明に係る電池制御装置は、過去に推定した充電状態を初期値として二次電池に流れる電流を積分することによって充電状態を推定し、これと並行して、端子電圧を用いて推定した充電状態を初期値として二次電池に流れる電流を積分することによって充電状態を別途推定する。電池制御装置は、これらの推定結果を重み付け加算することにより、端子電圧を用いて充電状態を推定した以降の充電状態を推定する。本発明に係る電池制御装置によれば、充電状態の推定を並行して複数実施し、これらを重み付け加算することにより、充電状態を精度よく推定することができる。以下、本発明の実施形態を図面に基づいて説明する。以下の実施形態では、プラグインハイブリッド自動車PHEVの電源を構成する電池システムに対して本発明を適用した場合を例に挙げて説明する。また、以下の実施形態では、リチウムイオン電池を採用した場合を例に挙げて説明するが、他にもニッケル水素電池、鉛電池、電気二重層キャパシタ、ハイブリッドキャパシタなどを用いることもできる。なお、以下の実施形態では単電池を直列に接続して組電池を構成しているが、単電池を並列接続したものを直列接続して組電池を構成してもよいし、直列接続した単電池を並列接続して組電池を構成してもよい。<実施の形態1>図1は、本発明の実施形態1に係る電池システム100とその周辺の構成を示す図である。電池システム100はリレー300と310を介してインバータ400に接続され、リレー320と330を介して充電器420に接続される。電池システム100は、組電池110、単電池管理部120、電流検知部130、電圧検知部140、組電池制御部150、第1記憶部180、第2記憶部190を備える。組電池110は、複数の単電池111から構成される。単電池管理部120は、単電池111の状態を監視する。電流検知部130は、電池システム100に流れる電流を検知する。電圧検知部140は、組電池110の総電圧を検知する。組電池制御部150は、組電池110の状態を検知し、状態の管理等も行う。組電池制御部150は、単電池管理部120が送信する単電池111の電池電圧や温度、電流検知部130が送信する電池システム100に流れる電流値、電圧検知部140が送信する組電池110の総電圧値を受け取る。組電池制御部150は、受け取った情報をもとに組電池110の状態を検知する。組電池制御部150による状態検知の結果は、単電池管理部120や車両制御部200に送信される。組電池110は、電気エネルギーの蓄積および放出直流電力の充放電が可能な複数の単電池111を電気的に直列に接続して構成している。組電池110を構成する単電池111は、状態の管理制御を実施する上で、所定の単位数にグループ分けされている。グループ分けされた単電池111は、電気的に直列に接続され、単電池群112a、112bを構成している。単電池群112を構成する単電池111の個数は、全ての単電池群112において同数でもよいし、単電池群112毎に単電池111の個数が異なっていてもよい。単電池管理部120は、組電池110を構成する単電池111の状態を監視する。単電池管理部120は、単電池群112毎に設けられた単電池制御部121を備える。図1では、単電池群112aと112bに対応して、単電池制御部121aと121bが設けられている。単電池制御部121は、単電池群112を構成する単電池111の状態を監視および制御する。本実施形態1では、説明を簡略化するために、4個の単電池111を電気的に直列接続して単電池群112aと112bを構成し、単電池群112aと112bをさらに電気的に直列接続して合計8個の単電池111を備える組電池110とした。組電池制御部150と単電池管理部120は、フォトカプラに代表される絶縁素子170および信号通信手段160を介して信号を送受信する。組電池制御部150と、単電池管理部120を構成する単電池制御部121aおよび121bとの間の通信手段について説明する。単電池制御部121aおよび121bは、それぞれが監視する単電池群112aおよび112bの電位の高い順にしたがって直列に接続されている。組電池制御部150が単電池管理部120に送信した信号は、絶縁素子170および信号通信手段160を介して単電池制御部121aに入力される。単電池制御部121aの出力は信号通信手段160を介して単電池制御部121bに入力され、最下位の単電池制御部121bの出力は絶縁素子170および信号通信手段160を介して組電池制御部150へと伝送される。本実施形態1では、単電池制御部121aと単電池制御部121bの間は絶縁素子170を介していないが、絶縁素子170を介して信号を送受信することもできる。第1記憶部180は、組電池110、単電池111、単電池群112の内部抵抗特性、満充電時の容量、分極電圧、劣化特性、個体差情報、SOCと開回路電圧OCV:OpenCircuitVoltageの対応関係などの情報を格納する。さらに、単電池管理部120、単電池制御部121、組電池制御部150などの特性情報についてもあらかじめ記憶することができる。電池システム100や組電池制御部150等の動作が停止しても、第1記憶部180に記憶した各種情報は保持される。第2記憶部190は、組電池制御部150が処理を実施した後、処理結果を含む各種パラメータを記憶する。第1記憶部180と同様に、電池システム100や組電池制御部150等が動作を停止しても、記憶したパラメータは保持される。第2記憶部190に記憶された各種パラメータは、次回組電池制御部150が処理を実施する際に読み出され、入力パラメータとして使用される他、電池システム100の異常情報や使用履歴などを記憶している場合は電池システム100のメンテナンス時に読み出されて使用される。組電池制御部150は、単電池管理部120、電流検知部130、電圧検知部140、車両制御部200から受け取った情報、後述するSOCテーブル181他の第1記憶部180に記憶した情報と第2記憶部190に記憶した情報とを用いて、1つ以上の単電池111のSOC、SOH、充電放電可能な電流や電力、異常状態、充放電量を制御するための演算などを実行する。そして、演算結果に基づいて、単電池管理部120や車両制御部200に情報を出力する。前述したように、組電池制御部150の処理結果は必要に応じて第2記憶部190に記憶され、次回組電池制御部150が演算を実行するとき、第2記憶部190に記憶した前回処理結果を入力として用いることができる。本発明における状態推定部は、組電池制御部150がこれに相当する。車両制御部200は、組電池制御部150が送信する情報を用いて、リレー300と310を介して電池システム100と接続されるインバータ400を制御する。また、リレー320と330を介して電池システム100に接続される充電器420を制御する。車両走行中には、電池システム100はインバータ400と接続され、組電池110が蓄えているエネルギーを用いて、モータジェネレータ410を駆動する。充電の際には、電池システム100は充電器420と接続され、家庭用の電源または電気スタンドからの電力供給によって充電される。充電器420は、家庭または電気スタンドに代表される外部の電源を用いて組電池110を充電する際に用いられる。本実施形態1では、充電器420は車両制御部200からの指令に基づき充電電圧や充電電流などを制御する構成としているが、組電池制御部150からの指令に基づき制御を実施してもよい。また、充電器420は車両の構成、充電器420の性能、使用目的、外部の電源の設置条件などに応じて車両内部に設置してもよいし、車両の外部に設置することもできる。電池システム100を搭載した車両システムが始動して走行する場合には、車両制御部200の管理のもと、電池システム100はインバータ400に接続され、組電池110が蓄えているエネルギーを用いてモータジェネレータ410を駆動し、回生時はモータジェネレータ410の発電電力により組電池110が充電される。電池システム100を備える車両が家庭用または電気スタンドに代表される外部の電源と接続された際には、車両制御部200が発信する情報に基づき電池システム100と充電器420とが接続され、組電池110が所定の条件になるまで充電される。充電によって組電池110に蓄えられたエネルギーは、次回の車両走行時に利用されるか、車両内外の電装品等を動作させるためにも利用される。さらに必要に応じて、家庭用の電源に代表される外部電源へも放出する場合がある。図2は、単電池制御部121の回路構成を示す図である。単電池制御部121は、電圧検出回路122、制御回路123、信号入出力回路124、温度検知部125を備える。電圧検出回路122は、各単電池111の端子間電圧を測定する。制御回路123は、電圧検出回路122および温度検知部125から測定結果を受け取り、信号入出力回路124を介して組電池制御部150に送信する。なお、単電池制御部121に一般的に実装される、自己放電や消費電流ばらつき等に伴い発生する単電池111間の電圧やSOCばらつきを均等化する回路構成は、周知のものであると判断して記載を省略した。図2における単電池制御部121が備える温度検知部125は、単電池群112の温度を測定する機能を有する。温度検知部125は、単電池群112全体として1つの温度を測定し、単電池群112を構成する単電池111の温度代表値としてその温度を取り扱う。温度検知部125が測定した温度は、単電池111、単電池群112、または組電池110の状態を検知するための各種演算に用いられる。図2はこれを前提とするため、単電池制御部121に1つの温度検知部125を設けた。単電池111毎に温度検知部125を設けて単電池111毎に温度を測定し、単電池111毎の温度に基づいて各種演算を実行することもできるが、この場合は温度検知部125の数が多くなる分、単電池制御部121やその周辺の構成が複雑となる。図2では、簡易的に温度検知部125を示した。実際は温度測定対象に温度センサが設置され、設置した温度センサが温度情報を電圧として出力し、これを測定した結果が制御回路123を介して信号入出力回路124に送信され、信号入出力回路124が単電池制御部121の外に測定結果を出力する。この一連の流れを実現する機能が単電池制御部121に温度検知部125として実装され、温度情報電圧の測定には電圧検出回路122を用いることもできる。以上、電池システム100の構成について説明した。以下では、組電池制御部150がSOCを推定する演算方法について説明する。図3は、第1記憶部180が格納しているSOCテーブル181の例を示す図である。SOCテーブル181は、単電池111のOCVと、単電池111のSOCとの対応関係を記述したデータテーブルである。データ形式は任意でよいが、ここでは説明の便宜上、グラフ形式でデータ例を示す。なお、本実施形態1ではデータテーブルを用いているが、数式などを用いることでOCVとSOCとの対応関係を表現することもできる。OCVとSOCの対応関係を示す特性情報であり、OCVからSOC、またはSOCからOCVへと変換できる手段であれば何でもよい。OCVは、単電池111の無負荷時の電圧である。リレー300、310、320、330が閉じる前、またはリレー300、310、320、330が閉じられているが組電池110の充放電が開始されていない状態、などのタイミングにおいて測定した単電池111の端子間電圧がOCVと判断できる。さらに、組電池110の充電または放電を実施しているがその電流値が微弱な場合にOCVと見なすこともできる。SOCを計算する方法の一つとして、電池システム100が備える単電池111の無負荷時の電圧OCVを測定して図3のデータテーブルを参照することによりSOCに変換しSOCv、単電池111に出入りする電流を積分∫Itdtして単電池111の満充電容量Qmaxで除算することによりSOCvからのSOC変化を求めΔSOCt、初期SOCSOCvとSOC変化ΔSOCtとに基づいてSOCを得る方法が知られているSOCi。図4は、式1において生じるSOC誤差の概要を示す図である。図4aのSOCvErrSOCv誤差は、式2に示すように、単電池111の電圧測定時に生じる電圧測定誤差VErrも含めてSOCに変換することにより発生する。ただし、SOCvは無負荷時または無負荷時と見なせる条件においてのみ演算されるため充放電中はSOCvの値を固定してΔSOCtを計算、SOCvErrが含まれるSOCvをいったん得た後単電池111の電圧をOCVと見なせなくなった後は、SOCvErrは時間に対して一定の値となる。図4bのΔSOCErrΔSOC誤差は、SOCvを確定した後に充放電が行われた場合に演算されるΔSOCtに含まれる誤差である。式3に示すように、ΔSOCErrは、電流測定時に生じる電流測定誤差IErrと電池満充電容量Qmaxの演算誤差QmaxErrの2つの誤差要因によって生じる。IErrはオフセット誤差やゲイン誤差などの合計であり、電流検知部130の電流測定精度に応じた値である。本実施形態1では、式1を満足させるのに適した精度の電流検知部130が用いられ、かつ、必要に応じてキャリブレーションを実施して誤差IErrを緩和することを前提とする。したがって、以下の説明ではIErrの影響については無視する。QmaxErrは、単電池111の満充電容量Qmaxの演算誤差である。演算式については後述する。単電池111の満充電容量は、劣化に伴い値が小さくなる。この小さくなる満充電容量を把握することなく式1を適用すると大きなSOC誤差が生じてしまう。そこで、以下のようにQmaxを演算する。図5は、時間に応じた単電池111の端子電圧の変化を、休止/放電/休止の動作パターンを例に示した図である。単電池111には内部抵抗が存在するため、放電を開始した瞬間にIRドロップが発生する。放電中はSOCの低下に伴い電圧が緩やかに低下し、放電終了直後は分極電圧により緩やかに電圧が増加する。分極電圧の影響がなくなった後は電圧が一定となり、放電において低下した後のOCVを得ることができる。以下では図5を用いて、単電池111の満充電容量最大限充電可能な電荷量Qmaxを求める方法を述べる。放電前のOCVをOCV1とし、放電後のOCVをOCV2とする。図3のデータテーブルを用いることにより、2つのOCVをそれぞれSOC1とSOC2に変換することができる。これらに対応する残存容量をQ1とQ2、その間の電流積算値をdQ=∫Itdtとすると、式4~式7のように現在の満充電容量Qmaxを得ることができる。すなわち、式7に示すように、満充電容量Qmaxは放電中の電流積算値dQと放電前と放電後のSOC差SOC1-SOC2を用いて算出することができる。ここでは放電を例に述べたが、充電時でも同様にQmaxを求めることができる。さらには、充放電が混在していても、充放電前後でSOC差が生じる場合は同様にQmaxを計算することができる。ただし、ここでのQmaxの演算例においては、充放電を実施していないときのOCVを測定する必要があるため、電池システム100の運用中にリアルタイムに値を更新することはできない。電池システム100の動作が停止する際に、組電池制御部150が組電池110の充放電が終了したことを検知し、望ましくは、分極電圧の影響が緩和したことも検知した後に、単電池111のOCVを取得する必要がある。組電池制御部150は、最後に取得したOCV図5を例にするとOCV2を用いてQmaxを求め、第2記憶部190に記憶しておく。次回の組電池制御部150の起動後に、式1のQmaxとして第2記憶部190に記憶しておいたQmax値を用いてSOC演算を実行することができる。なお、上記では電池システム100が停止する際にOCV2を求める方法を述べたが、次回に組電池制御部150が起動した際に単電池111のOCVを取得し、これを前回のOCV最終値と見なし、OCV2として用いてQmaxを求めて式1のSOC演算に適用することもできる。この場合、第2記憶部190には前回充放電前のOCVと組電池110の前回充放電時のdQを格納しておく。いずれの方法を用いても、現在の満充電容量Qmaxを用いて式1のSOCの演算精度を確保できる。また、上記ではQmaxを求める方法を述べたが、Qmaxは単電池111の劣化状態と等価であるため、Qmaxに代えて劣化状態を第2記憶部190に格納するようにしてもよい。例えば式8のように、初期容量Qmax0を用いて容量維持率単電池111が新品時に1、劣化するに従い1よりも小さくなるを計算し、これを劣化度パラメータSOHStateofHealthと定義し、このSOH演算結果を第2記憶部190に記憶してQmaxを更新していくこともできる。この場合は、次回の組電池制御部150の起動後は、第2記憶部190に記憶したSOHとあらかじめ第1記憶部180などに記憶させた初期容量Qmax0とを用いて式9によりQmaxを再計算し、得られた最新のQmaxを式1に適用する。本実施形態1ではSOHを計算して第2記憶部190に記憶する例を説明する。前述したように、Qmaxはリアルタイムに値を更新できない。詳しく述べると、組電池制御部150の起動後にQmaxを更新した後は、組電池制御部150を停止させて次に起動させるまでQmaxを更新させる機会は生じない。したがって、Qmax演算結果が真値と比較して大き過ぎる方向に誤差が生じた場合は、組電池制御部150を停止させて再起動するまでは大き過ぎるQmaxを使用し続けることになる。これとは逆に、Qmax演算結果が小さ過ぎる場合でも、同様に組電池制御部150を再起動するまでは小さ過ぎるQmaxを使用し続けることになる。図4bは、このQmax誤差QmaxErrによって生じるΔSOCErrが与えるSOC誤差への影響を示している。Qmaxが大き過ぎるQmaxErr場合は、∫Itdtを大き過ぎるQmaxで除算してΔSOCtを求めるため、真のSOCに比して、傾きが緩やかなSOCが得られる。これとは逆に、Qmaxが小さ過ぎる-QmaxErr場合は、∫Itdtを小さ過ぎるQmaxで除算してΔSOCtを求めるため、真のSOCに比して、傾きが急なSOC演算結果が得られる。図6は、前述したQmaxErr起因によるSOC誤差の詳細を説明する図である。図6aは高SOCから放電して充電した場合のSOC変化例を示し、図6bは低SOCから充電して放電した場合のSOC変化例を示す。なお、説明を簡単にするために、図4aで説明したSOCvErrの影響は除外した。図6aは、高SOCから放電するにしたがってΔSOCErrが拡大し、低SOCになるほど真のSOCからは乖離する様子を示している。前述したように、Qmaxはリアルタイムに更新できず、更新できるタイミングは組電池制御部150の再起動時以降である。放電中はQmaxとこれに含まれるQmaxErrも固定であるため、放電に伴い真のSOCからの乖離は広がる一方であり、電池の蓄電量を使い切るために精度を確保したい低SOCにおいてSOC精度は悪化する。ただし、その後に充電すると、Qmaxとこれに含まれるQmaxErrが固定されたままであれば、同じ傾きでSOC変化が生じるため、放電前のSOCに近づくにつれてSOC誤差は改善する。図6bは、図6aとは逆の、低SOCから充電を開始した例である。Qmaxとこれに含まれるQmaxErrが固定されているため、充電に伴い真のSOCからの乖離は広がる一方であり、電池の充電を精度良く停止するために精度を確保したい高SOCにおいてSOC精度は悪化する。ただし、その後に放電すると、Qmaxとこれに含まれるQmaxErrが固定されたままであれば、同じ傾きでSOC変化が生じるため、充電前のSOCに近づくにつれてSOC誤差が改善する。本発明では、これらのSOC誤差の特徴を利用する。図7は、組電池制御部150が行うSOC演算のブロック図である。組電池制御部150は、SOCv演算部151、ΔSOC演算部152、第1SOCi演算部153、第2SOCi演算部154、重み係数W演算部155、SOCc演算部156を備える。SOCv演算部151は、充放電を実施していないときに取得した電圧を図3のデータテーブルによってSOCvに変換する。SOCvは、SOCの初期値に相当する。ΔSOC演算部152は、式9を用いてQmaxを求めて電流積分によりSOC変化ΔSOCtを得る。第1SOCi演算部153は、SOCvとΔSOCtを用いて、式1によりSOC後述図8のSOCi1tを計算する。第2SOCi演算部154は、組電池110を充放電した後の最終的なSOC演算結果後述図8のSOCi1Zを第2記憶部190から読み出し、これを初期値として式1によりSOC後述図8のSOCi2tを計算する。すなわち、第2SOCi演算部154は、第1SOCi演算部153とは異なる初期値を起点として、式1を用いてSOCを計算する。詳細は図8~図9で改めて説明する。重み係数W演算部155は、SOCvとΔSOCtと第2記憶部190から読み出したSOCvZとを用いて重み係数Wを計算する。SOCc演算部156は、重み係数Wtを用いてSOCi1tとSOCi2tを足し合わせ、充放電を再開した後の充電状態であるSOCctを推定する。図8は、図7のブロック図が実施する処理の概要を示す図である。図8aは組電池制御部150が起動し、充放電を開始する前のSOCを示す。図8bは、充放電を実施して停止するまでのSOCの変化を示す。図8cは、充放電を休止した後に組電池制御部150を再起動したときのSOCを示す。図8dは、充放電を再開した後のSOCの変化を示す。なお、前述では組電池制御部150の再起動後にQmaxを更新できることを述べたが、Qmaxの演算には不適と見なされる条件例えば、OCV2を取得する際に分極電圧の影響が緩和していない等では何度も同じQmaxを用いてSOCを計算する場合も考えられる。本実施例では、Qmaxの更新が行われない期間についての動作例を述べるものとする。図8aにおいて、無負荷時または無負荷時と見なされる条件の下で、SOCv演算部151は図3のデータテーブルを用いて単電池111のOCVをSOCvに変換する。説明を簡略化するために電圧検出誤差による影響は省略し、このとき得られるSOCvは真のSOCに等しくなるものとする。充放電が開始されると、ΔSOC演算部152はSOCvからのSOC変化ΔSOCtを求め、式1を用いて現在のSOCSOCi1tを演算する。式1におけるQmaxには誤差が含まれているため、充放電を継続するにともない、SOCの真値と演算値は次第に乖離する。図8bの時点において、組電池制御部150を停止するとき、組電池110を充放電する前のSOCv図8aにおける初期値をSOCvZとして第2記憶部190に格納し、充放電後のSOCi1tの最終値をSOCi1Zとして第2記憶部190に記憶させておく。図8cの時点において、組電池制御部150が再起動するとき、SOCv演算部151は図3のデータテーブルを用いて単電池111のOCVからSOCvを求める。さらに第2SOCi演算部154は、第2記憶部190から、前回までのSOC演算結果SOCi1Zを読み出す。図8dに示すように、充放電が再開されると、ΔSOC演算部152はSOCvからのSOC変化ΔSOCtを求め、これを用いて第1SOCi演算部153が式1を用いて現在のSOCSOCi1tを演算する。これと共に、第2SOCi演算部154は第2記憶部190から読み出したSOCi1ZとΔSOC演算部152が求めたΔSOCtとを用いてSOCi2tを演算する。図6で説明したように、演算で用いるQmaxを変えずにSOCi2tを求めて開始SOCであるSOCvZに近づくと、SOCi2tと真値との間の差異は次第に小さくなる。又、本実施例では何度も同じQmaxを用いてSOCを計算する場合を想定しているため、第1SOCi演算部153も同じQmaxを用いることからSOCi1tとSOCi2tとはSOC変化の度合いが同じである。図9は、組電池制御部150が再起動した後においてSOCを推定する手順を示す図である。以下、図9を用いてSOC推定の考え方を説明する。組電池制御部150が再起動した時点では、図8cに示すように、単電池111の端子電圧から求めたSOCvと、電流を積分することによって計算したSOCi1Zとが得られる。この時点におけるSOCvは正確な充電状態を指しているが、Qmax誤差があるため、SOCvを初期値として電流積分すると、図9に示すSOCi1tのように、推定誤差が拡大する。そこで、本発明では、SOCi1tとSOCi2tを相補的に用いることによりSOCを高精度に推定する。第1SOCi演算部153はSOCvを初期値として式1の演算を実施し、第2SOCi演算部154はSOCi1Zを初期値として式1の演算を実施する。尚、ΔSOCtはQmaxの値を固定にしているため共通のパラメータとなる。ΔSOCtはSOC初期値からのSOC変化量であるため、ΔSOCtが共通であれば、図8dや図9に示すようにSOCi1tとSOCi2tとは平行して推移する。短い時間で単電池111の劣化が急激に進むことは考え難いため、組電池制御部150は、Qmaxを頻繁に更新する必要はない。そのため、組電池制御部150はQmaxの更新周期を遅くする場合があり、同じQmaxを使用して何度もSOC演算を実行する場合がある。又、前述したようにQmaxの演算として不適な条件となっている場合はQmaxの更新が困難な場合もあり得る。そこで、同じ値のQmaxを使用し続けた場合を取り上げ、本実施例では図8や9を用いてSOCの推移を説明した。続いて、本発明におけるSOCの具体的な演算式を説明する。式10と11を用いて本発明におけるSOCの具体的な演算式を説明する。重み係数W演算部155は、SOCvとΔSOCtと第2記憶部190に記憶されているSOCvZ組電池制御部150の前回起動時のSOCとを用いて、式10に基づき重み係数Wtを計算する。重み係数Wtは、現在のSOCが前回の初期SOCSOCvZと今回充放電前の初期SOCSOCvとの間のどこに位置するのかに応じて値が変化する。現在のSOCがSOCvに近い場合は重み係数Wtは0に近づき、SOCvZに近い場合は重み係数Wtは1に近づく傾向となる。重み係数Wtを用いることにより、現在のSOCに応じた重み付き演算を実施することができる。式11は、SOCi1tとSOCi2tと重み係数Wtとを用いて最終的なSOCSOCctと記すを算出する演算式を示す。現在のSOCがSOCvに近い場合は重み係数Wtが0に近づくため、組電池制御部150起動時に取得したSOCvを基準にSOC演算を行う第1SOCi演算部153の出力が強く採用される。現在のSOCがSOCvZに近い場合は重み係数Wtが1に近づくため、前回組電池制御部150を停止した際に記憶したSOCi1tの最終値であるSOCi1Zを基準にSOC演算を行う第2SOCi演算部154の出力が強く採用される。結果として、図9に示すように、SOCの真値に重なるようなSOCの最終演算結果SOCctを得ることができる。実際はこれにSOCvErrの影響が付加されて最終的なSOC誤差が得られるが、説明を簡略化するために省略している。なお、Wt=0は式11の演算結果とSOCi1tが一致する時点に相当し、Wt=1は式11の演算結果とSOCi2tが一致する時点に相当する。そのため、重み係数Wtは、0≦Wt≦1を満たす必要がある。組電池制御部150は、Wtがこの範囲を超過したときは、超過分を切り捨てる。すなわち、Wtが0未満になったときはWt=0に修正し、Wtが1を超えたときはWt=1に修正する。<実施の形態1:まとめ>以上のように、本実施形態1に係る電池システム100は、組電池制御部150を起動してから電圧で初期SOCを決定し、これを起点に電流積分してSOCを求め、前回組電池制御部150を動作させて取得したSOC最終値を起点に電流積算を再開して求めたSOCとを組み合わせ、SOCctを推定する。これにより、OCVを任意の時点で取得することができない制約条件の下で、かつQmaxに誤差が含まれている場合でも、SOCを精度よく推定することができる。また、本実施形態1に係る電池システム100によれば、組電池制御部150がSOCctを車両制御部200に送信することで、車両制御部200は高精度なSOCctに基づき、組電池110の充電停止または放電停止を適切に判断することができる。<実施の形態2>実施形態1では、前回の組電池制御部150における処理と、今回の組電池制御部150における処理とで全く同じQmaxを用いる場合を述べた。これは、Qmaxを更新することができない場合や、更新頻度が少なく同じQmaxの値を使用し続けた場合に見られる効果である。本発明の実施形態2では、SOH演算を実行して新たなSOHを取得し、それに伴い新たなQmaxを取得する場合の動作例について説明する。その他は実施形態1に記載したものと同様であるため、本実施形態2では組電池制御部150の変更点を中心に説明するものとする。第2SOCi演算部154は、前回の組電池制御部150動作時に記憶したSOC演算最終値SOCi1Zを基準にSOC演算を実施し、前回の組電池制御部150の処理で用いたQmaxまたはSOHの値をそのまま用いて演算を行う。図6で説明した起点となるSOCに近づくと推定誤差が小さくなる効果を確保するためである。これに対して、第1SOCi演算部153は、新たなQmaxの値またはSOHを得た場合、この新たな値を用いてSOC演算を実施することができる。前回の組電池制御部150の動作結果に影響されないからである。図10は、本実施形態2において組電池制御部150がSOCを演算するための制御ブロック図である。第2記憶部190は2つのSOHSOH1、SOH2を出力する。SOH1は最新のSOH、SOH2は前回の組電池制御部150の処理で用いたSOHである。ΔSOC演算部152は、SOH1とSOH2とを用いることにより、それぞれΔSOC1t、ΔSOC2tを得る。ΔSOC1tは、第1SOCi演算部153において用いられるとともに重み係数W演算部155においても用いられる。ΔSOC2tは、第2SOCi演算部154において用いられる。図11は、本実施形態2におけるSOC変化の推移を示す図である。実施形態1では第1SOCi演算部153と第2SOCi演算部154が同じΔSOCt同じQmaxやSOHを用いることによるを用いたためSOCi1tとSOCi2tとは平行して推移したが、本実施形態2ではそれとは異なるSOC変化を示す。図11に至る前の処理は図8のaからcまでと同様である。SOCi1Zを基準に求めるSOCi2tは図8dや図9と同じQmaxを用いており、真のSOC変化に対して傾きが緩やかになっている。一方、SOCi1tは、最新のSOHSOH1に基づき決定したQmaxを用いて得たΔSOC1tを用いて算出する。図11に示した例では、最新のSOHであるSOH1によって真のQmaxよりも小さいQmaxが得られ、その結果として真のSOC変化に比べると傾きが急なSOCi1tが得られる場合を例示した。SOCi1tとSOCi2tの変化の挙動は図11の通りである。これらを式10と式11に基づき組み合せるSOCctの演算結果も併記した。このように、SOHまたはQmaxが一定ではなく値を更新する場合でも、SOCi1tやSOCi2t単体よりも真値に近いSOCが得られる。<実施の形態3>実施形態1又は2では、0から1の間に値を持つ重みWtに基づいて複数のSOCを組合せ、単体よりも真値に近いSOCを得た。本実施例では、式10で求めた重みWtに対して、以下のような判定処理を適用することで、1若しくは0の値のみを持つ新たな重みW ́tを用いる。Wt≧0.5のときW ́t=1Wt<0.5のときW ́t=0式11で用いる重みWtに替えてW ́tを適用すると、SOCi1tの方が誤差が小さいと判断された場合Wt<0.5は即座にSOCi1tを採用し、SOCi2tの方が誤差が小さいと判断された場合Wt≧0.5は、同様に即座にSOCi2tを採用することができる。このSOC選択結果をSOCctとして車両制御部200などに出力して常に精度が良い方のSOCに基づいて充電制限若しくは放電制限などの組電池110の充放電制御を実施する。ただし、重みW ́tは1と0の2つの値のため、例えば式10で求める重みWtが0.5付近で変動する場合、W ́tの値が1から0、0から1と変動してSOCi1tとSOCi2tとが頻繁に切替り、結果としてSOCctが不安定になる恐れがある。このようなSOCctを車両制御部200が受信して組電池110の充電制限や放電制限を実施すると、組電池110の充放電制御としても不安定となる。そこで、SOCctを安定化させる場合では、W ́tは1と0との間で切替り、採用されるSOCもSOCi1tとSOCi2tとの間で頻繁に切替るものの、結果として出力されるSOCctに対して、ある一定のSOC変化に制限する変化量制限処理を適用し、この閾値以上のSOC変化を防止する変化量制限処理を適用したSOCctをSOC最終値として車両制御部200に送信させる。このようにすることで、誤差の少ないSOCを即座に採用しながらも、車両制御部200が実施する組電池110の充放電制御が不安定となるSOC変化を回避できる電池システムを提供することができる。<実施の形態4>これまでの実施例では、SOCv演算部151が求めたSOCvに基づくSOCi1tと、第2記憶部190に格納したSOCi1Zに基づくSOCi2tとを、SOCvと第2記憶部190に記憶したSOCvZとΔSOC演算部152からのΔSOCtとで決定する重みWtに基づき組合せる方法を述べた。しかしながら、測定した電圧情報に異常がある場合など、SOCvを用いることができない場合も考えられる。そこで、本実施例では、SOCvが何らかの理由で用いることができない場合でもSOCを組合せる処理を適用し、高精度なSOCctを得る方法を述べる。本実施例では、SOCvZとSOCi1Zとの組合せを、更に1つ追加で第2記憶部190に記憶させるものとする。このようにすれば、SOCvを用いることができなくとも、第2記憶部190に記憶させた2つのSOCi1Zに基づいてSOCi2tを計算し、2つのSOCvZとΔSOCtに基づいて重みWtを計算し、2つのSOCi2tを重みWtを用いることで組合せ演算処理を実現できる。電圧情報に異常がある場合などでもSOCctを求めて外部に高精度なSOCを出力する電池システム100を提供できる。以上、本発明者によってなされた発明を実施形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。また、上記各構成、機能、処理部などは、それらの全部または一部を、例えば集積回路で設計することによりハードウェアとして実現することもできるし、プロセッサがそれぞれの機能を実現するプログラムを実行することによりソフトウェアとして実現することもできる。各機能を実現するプログラム、テーブルなどの情報は、メモリやハードディスクなどの記憶装置、ICカード、DVDなどの記憶媒体に格納することができる。