運用中の二次電池の充電率を推定する充電率推定装置であって、第1の時刻における前記二次電池の実測電流と実測電圧とを用いて、前記第1の時刻における前記二次電池の充電率を演算し、前記第1の時刻より後の時刻である第2の時刻における前記二次電池の実測電流と実測電圧とを用いて、前記第2の時刻における前記二次電池の充電率を演算する充電率演算部と、前記充電率演算部が演算した前記第2の時刻における充電率から前記充電率演算部が演算した前記第1の時刻における充電率を減じることで、充電率変化量を演算する充電率変化量演算部と、前記第1の時刻から前記第2の時刻までにおける前記二次電池の充放電による実測電流の積算値を演算する電流値積算部と、前記電流値積算部が演算した電流の積算値を前記充電率変化量演算部が演算した充電率変化量で除算することで、前記第2の時刻における前記二次電池の満充電容量を演算する満充電容量演算部と、前記満充電容量演算部が演算した満充電容量と前記二次電池の充放電による実測電流の積算値とを用いて、前記二次電池の充電率を推定する充電率推定部とを備えることを特徴とする充電率推定装置。前記充電率推定部は、前記満充電容量演算部が演算した満充電容量と前記二次電池の充放電による実測電流の積算値と前記実測電流の誤差とを用いて前記二次電池の充電率の上限値及び下限値を演算し、前記充電率演算部が演算した充電率が、前記充電率の上限値以上である場合、前記充電率の上限値を前記二次電池の充電率として推定し、前記充電率演算部が演算した充電率が、前記充電率の下限値以下である場合、前記充電率の下限値を前記二次電池の充電率として推定し、前記充電率演算部が演算した充電率が、前記充電率の上限値未満と前記充電率の下限値との間の値を示す場合、前記充電率演算部が演算した前記第2の時刻における充電率を、前記二次電池の充電率として推定することを特徴とする請求項1に記載の充電率推定装置。前記充電率推定部は、さらに前記二次電池の満充電容量の測定誤差を用いて、前記二次電池の充電率の下限値及び上限値を演算することを特徴とする請求項2に記載の充電率推定装置。前記充電率演算部は、前記二次電池の実測電流と実測電圧とから前記二次電池の開放電圧を演算し、前記二次電池の開放電圧と充電率の関係を示すテーブルを参照して、前記演算した開放電圧から前記二次電池の充電率を演算することを特徴とする請求項1から請求項3の何れか1項に記載の充電率推定装置。前記第1の時刻は、前記二次電池の実測温度が所定の範囲内に収まっている時刻であり、前記第2の時刻は、前記第1の時刻からその時刻までの間に、前記二次電池の実測温度が所定の範囲を超えない時刻であることを特徴とする請求項1から請求項4の何れか1項に記載の充電率推定装置。前記第1の時刻は、前記二次電池の実測電流が所定の範囲内に収まっている時刻であり、前記第2の時刻は、前記第1の時刻からその時刻までの間に、前記二次電池の実測電流が所定の範囲を超えない時刻であることを特徴とする請求項1から請求項5の何れか1項に記載の充電率推定装置。前記満充電容量演算部が異なる時刻に演算した複数の二次電池の満充電容量から、時間と満充電容量との関係を示す関数を推定する関数推定部を備え、前記充電率推定部は、前記関数推定部が推定した関数を参照して現在時刻における二次電池の満充電容量を特定し、当該満充電容量と前記二次電池の充放電による実測電流の積算値とを用いて、前記二次電池の充電率を推定することを特徴とする請求項1から請求項6の何れか1項に記載の充電率推定装置。前記関数推定部は、前記満充電容量演算部が異なる時刻に演算した二次電池の満充電容量のうち、直前の時刻に演算した二次電池の満充電容量との差が所定の閾値を超えないものを前記関数の推定に用いることを特徴とする請求項7に記載の充電率推定装置。前記関数推定部は、前記満充電容量演算部が異なる時刻に演算した二次電池の満充電容量のうち、推定した関数が示す満充電容量との差が所定の閾値を超えないものを用いて前記関数を再度推定することを特徴とする請求項7または請求項8に記載の充電率推定装置。前記関数推定部が推定した関数における時間の係数の変化を監視し、当該係数の変化が所定の閾値以上であった場合に、警告を発する警告部を備え、前記関数推定部は、定期的に前記関数の推定を実行することを特徴とする請求項7から請求項9の何れか1項に記載の充電率推定装置。運用中の二次電池の充電率を推定する充電率推定方法であって、第1の時刻における前記二次電池の実測電流と実測電圧とを用いて、前記第1の時刻における前記二次電池の充電率を演算するステップと、前記第1の時刻より後の時刻である第2の時刻における前記二次電池の実測電流と実測電圧とを用いて、前記第2の時刻における前記二次電池の充電率を演算するステップと、前記第2の時刻における充電率から前記第1の時刻における充電率を減じることで、充電率変化量を演算するステップと、前記第1の時刻から前記第2の時刻までにおける前記二次電池の充放電による実測電流の積算値を演算するステップと、前記電流の積算値を前記充電率変化量で除算することで、前記第2の時刻における前記二次電池の満充電容量を演算するステップと、前記二次電池の満充電容量と前記二次電池の充放電による実測電流の積算値とを用いて、前記二次電池の充電率を推定するステップとを有することを特徴とする充電率推定方法。運用中の二次電池の充電率を推定する充電率推定装置を、第1の時刻における前記二次電池の実測電流と実測電圧とを用いて、前記第1の時刻における前記二次電池の充電率を演算し、前記第1の時刻より後の時刻である第2の時刻における前記二次電池の実測電流と実測電圧とを用いて、前記第2の時刻における前記二次電池の充電率を演算する充電率演算部、前記充電率演算部が演算した前記第2の時刻における充電率から前記充電率演算部が演算した前記第1の時刻における充電率を減じることで、充電率変化量を演算する充電率変化量演算部、前記第1の時刻から前記第2の時刻までにおける前記二次電池の充放電による実測電流の積算値を演算する電流値積算部、前記電流値積算部が演算した電流の積算値を前記充電率変化量演算部が演算した充電率変化量で除算することで、前記第2の時刻における前記二次電池の満充電容量を演算する満充電容量演算部、前記満充電容量演算部が演算した満充電容量と前記二次電池の充放電による実測電流の積算値とを用いて、前記二次電池の充電率を推定する充電率推定部として機能させるためのプログラム。しかしながら、二次電池が静定状態であるときに初期状態のSOCを修正する方法を用いる場合、二次電池が静定状態になるまで、電流積算値の誤差が解消されないという問題があった。なお、式1または式1 ́を用いてSOCを算出する場合、誤差の要因としては、電池劣化による満充電容量Qの変化とが挙げられる。例えば公称電池容量の70までを製品寿命とした場合、満充電容量が公称電池容量から30減少することとなり、SOC推定における大きな誤差の要因となる。本発明は上記の課題を解決するためになされたものであり、運用中の二次電池の充電率を推定する充電率推定装置であって、第1の時刻における前記二次電池の実測電流と実測電圧とを用いて、前記第1の時刻における前記二次電池の充電率を演算し、前記第1の時刻より後の時刻である第2の時刻における前記二次電池の実測電流と実測電圧とを用いて、前記第2の時刻における前記二次電池の充電率を演算する充電率演算部と、前記充電率演算部が演算した前記第2の時刻における充電率から前記充電率演算部が演算した前記第1の時刻における充電率を減じることで、充電率変化量を演算する充電率変化量演算部と、前記第1の時刻から前記第2の時刻までにおける前記二次電池の充放電による実測電流の積算値を演算する電流値積算部と、前記電流値積算部が演算した電流の積算値を前記充電率変化量演算部が演算した充電率変化量で除算することで、前記第2の時刻における前記二次電池の満充電容量を演算する満充電容量演算部と、前記満充電容量演算部が演算した満充電容量と前記二次電池の充放電による実測電流の積算値とを用いて、前記二次電池の充電率を推定する充電率推定部とを備えることを特徴とする。また、本発明においては、前記第2の時刻において前記充電率推定部は、前記満充電容量演算部が演算した満充電容量と前記二次電池の充放電による実測電流の積算値と前記実測電流の誤差下限値とを用いて前記二次電池の充電率の下限値を演算し、前記満充電容量演算部が演算した満充電容量と前記二次電池の充放電による実測電流の積算値と前記実測電流の誤差上限値とを用いて前記二次電池の充電率の上限値を演算し、前記充電率演算部が演算した前記第2の時刻における充電率が、前記充電率の上限値以上である場合、前記充電率の上限値を前記二次電池の充電率として推定し、前記充電率演算部が演算した前記第2の時刻における充電率が、前記充電率の下限値以下である場合、前記充電率の下限値を前記二次電池の充電率として推定し、前記充電率演算部が演算した前記第2の時刻における充電率が、前記充電率の上限値未満と前記充電率の下限値との間の値を示す場合、前記充電率演算部が演算した前記第2の時刻における充電率を、前記二次電池の充電率として推定することが好ましい。また、本発明においては、前記充電率推定部は、さらに前記二次電池の満充電容量の測定誤差を用いて、前記二次電池の充電率の下限値及び上限値を演算することが好ましい。また、本発明においては、前記充電率演算部は、前記二次電池の実測電流と実測電圧とから前記二次電池の開放電圧を演算し、前記二次電池の開放電圧と充電率の関係を示すテーブルを参照して、前記演算した開放電圧から前記二次電池の充電率を演算することが好ましい。また、本発明においては、前記第1の時刻は、前記二次電池の実測温度が所定の範囲内に収まっている時刻であり、前記第2の時刻は、前記第1の時刻からその時刻までの間に、前記二次電池の実測温度が所定の範囲を超えない時刻であることが好ましい。また、本発明においては、前記第1の時刻は、前記二次電池の実測電流が所定の範囲内に収まっている時刻であり、前記第2の時刻は、前記第1の時刻からその時刻までの間に、前記二次電池の実測電流が所定の範囲を超えない時刻であることが好ましい。また、本発明においては、前記満充電容量演算部が異なる時刻に演算した複数の二次電池の満充電容量から、時間と満充電容量との関係を示す関数を推定する関数推定部を備え、前記充電率推定部は、前記関数推定部が推定した関数を参照して現在時刻における二次電池の満充電容量を特定し、当該満充電容量と前記二次電池の充放電による実測電流の積算値とを用いて、前記二次電池の充電率を推定することが好ましい。また、本発明においては、前記関数推定部は、前記満充電容量演算部が異なる時刻に演算した二次電池の満充電容量のうち、直前の時刻に演算した二次電池の満充電容量との差が所定の閾値を超えないものを前記関数の推定に用いることが好ましい。また、本発明においては、前記関数推定部は、前記満充電容量演算部が異なる時刻に演算した二次電池の満充電容量のうち、推定した関数が示す満充電容量との差が所定の閾値を超えないものを用いて前記関数を再度推定することが好ましい。また、本発明においては、前記関数推定部が推定した関数における時間の係数の変化を監視し、当該係数の変化が所定の閾値以上であった場合に、警告を発する警告部を備え、前記関数推定部は、定期的に前記関数の推定を実行することが好ましい。また、本発明は、運用中の二次電池の充電率を推定する充電率推定方法であって、第1の時刻における前記二次電池の実測電流と実測電圧とを用いて、前記第1の時刻における前記二次電池の充電率を演算するステップと、前記第1の時刻より後の時刻である第2の時刻における前記二次電池の実測電流と実測電圧とを用いて、前記第2の時刻における前記二次電池の充電率を演算するステップと、前記第2の時刻における充電率から前記第1の時刻における充電率を減じることで、充電率変化量を演算するステップと、前記第1の時刻から前記第2の時刻までにおける前記二次電池の充放電による実測電流の積算値を演算するステップと、前記電流の積算値を前記充電率変化量で除算することで、前記第2の時刻における前記二次電池の満充電容量を演算するステップと、前記二次電池の満充電容量と前記二次電池の充放電による実測電流の積算値とを用いて、前記二次電池の充電率を推定するステップとを有することを特徴とする。また、本発明は、運用中の二次電池の充電率を推定する充電率推定装置を、第1の時刻における前記二次電池の実測電流と実測電圧とを用いて、前記第1の時刻における前記二次電池の充電率を演算し、前記第1の時刻より後の時刻である第2の時刻における前記二次電池の実測電流と実測電圧とを用いて、前記第2の時刻における前記二次電池の充電率を演算する充電率演算部、前記充電率演算部が演算した前記第2の時刻における充電率から前記充電率演算部が演算した前記第1の時刻における充電率を減じることで、充電率変化量を演算する充電率変化量演算部、前記第1の時刻から前記第2の時刻までにおける前記二次電池の充放電による実測電流の積算値を演算する電流値積算部、前記電流値積算部が演算した電流の積算値を前記充電率変化量演算部が演算した充電率変化量で除算することで、前記第2の時刻における前記二次電池の満充電容量を演算する満充電容量演算部、前記満充電容量演算部が演算した満充電容量と前記二次電池の充放電による実測電流の積算値とを用いて、前記二次電池の充電率を推定する充電率推定部として機能させるためのプログラムである。本発明によれば、充電率推定装置は、第1の時刻から第2の時刻までの充電率の変化量を求め、当該変化量を用いて二次電池の満充電容量を演算する。これにより充電率推定装置は、二次電池が静定状態であるか否かによらず、二次電池の満充電容量を推定することができる。そして、充電率推定装置は、当該満充電容量と実測電流と電圧と温度とを用いて充電率を推定する。これにより充電率推定装置は、二次電池が静定状態であるか否かによらず、二次電池の劣化による満充電容量変化を加味した充電率の推定を行うことができる。《第1の実施形態》以下、図面を参照しながら本発明の第1の実施形態について詳しく説明する。図1は、本発明の第1の実施形態による充電率推定装置100の構成を示す概略ブロック図である。充電率推定装置100は、運用中の二次電池のSOC充電率を推定する装置であり、タイミング判定部101、開放電圧演算部102、SOCV演算部103充電率演算部、SOC変化量演算部104充電率変化量演算部、電流値積算部105、満充電容量演算部106、関数推定部107、前SOC記憶部108、誤差記憶部109、SOCI演算部110、SOC推定部111充電率推定部、表示部112を備える。タイミング判定部101は、所定の周期以下、SOC演算周期と呼ぶ毎に、開放電圧演算部102及び電流値積算部105にSOC演算指示信号を出力する。また、タイミング判定部101は、SOC演算周期の整数倍の周期以下、容量演算周期と呼ぶ毎にSOC変化量演算部104に容量演算指示信号を出力する。なお、当該容量演算指示信号の出力により、充電率推定装置100は、SOC算出に用いる満充電容量の修正を行う。また、SOC演算周期は、例えば0.1秒から1秒程度の周期であり、容量演算周期は、例えば3600秒程度の周期である。開放電圧演算部102は、二次電池の内部インピーダンスを示す物理モデルを記憶している。図2は、開放電圧演算部102が記憶する物理モデルの例である。図2に示す物理モデルは、抵抗RaとコンデンサCaを並列に接続した回路に、抵抗Rd及び電源を直列に接続した回路である。そして、開放電圧演算部102は、タイミング判定部101からSOC演算指示信号を受け付けたときに、二次電池の実測電圧、実測電流及び実測温度と、予め求めておいた二次電池の内部インピーダンス値Ra、Ca及びRdとを用いて、二次電池の開放電圧Vocvを演算する。SOCV演算部103は、二次電池の開放電圧とSOCの関係を示すテーブルを記憶しており、当該テーブルを参照して、開放電圧演算部102が演算した二次電池の開放電圧から二次電池のSOCを演算する。なお、以下SOCV演算部103が演算したSOCをSOCVと呼ぶ。SOC変化量演算部104は、タイミング判定部101からSOC演算指示信号を受け付けた場合、SOCV演算部103が前回SOC演算指示信号を受け付けた時に演算したSOCVと、SOCV演算部103が今回演算したSOCVとの差分を二次電池のSOC変化量として演算する。すなわち、SOC変化量演算部104は、今回の容量演算周期に相当する時刻第2の時刻におけるSOCVと、前回の容量演算周期に相当する時刻第1の時刻におけるSOCVとの差分を、二次電池のSOC変化量として演算する。電流値積算部105は、タイミング判定部101からSOC演算指示信号を受け付けた場合、実測電流値を取得し、当該実測電流値にSOC演算周期を乗算することで単位時間当たりの電流積算値を算出し、算出した電流積算値を、それまでに算出した電流積算値に加算する。これにより、電流値積算部105は、現在時刻までにおける二次電池の充放電による電流積算値を演算する。なお、電流値積算部105は、満充電容量演算部106が二次電池の満充電容量を算出したときに、算出した電流積算値を0にリセットする。満充電容量演算部106は、電流値積算部105が演算した電流積算値をSOC変化量演算部104が演算したSOC変化量で除算することで、容量演算周期に対応する時刻における二次電池の満充電容量を演算する。また、満充電容量演算部106は、関数推定部107が推定した関数を用いて、演算した満充電容量を更新する。関数推定部107は、満充電容量演算部106が異なる時刻において演算した満充電容量を用いて、電池劣化比率を示す関数を推定する。前SOC記憶部108は、前回の容量演算周期に相当する時刻において演算した二次電池のSOCを記憶する。なお、前SOC記憶部108は予め、二次電池の運用開始前に測定しておいた二次電池のSOCを記憶している。誤差記憶部109は、実測電流に推定される誤差と満充電容量演算部106が演算する満充電容量に推定される誤差とを記憶する。SOCI演算部110は、満充電容量演算部106が演算した満充電容量、電流値積算部105が演算した電流積算値、前SOC記憶部108が記憶するSOC、及び誤差記憶部109が記憶する誤差を用いて現在時刻における二次電池のSOCとして推定されるSOC上限値以下、SOCImaxと呼ぶ及びSOC下限値以下、SOCIminと呼ぶを演算する。なお、二次電池の運用開始から間もない場合など、関数推定部107によって関数が推定されていない場合、SOCI演算部110は、関数を用いた満充電容量の特定を行わず、満充電容量演算部106が演算した満充電容量を用いてSOCIを演算する。SOC推定部111は、SOCI演算部110が演算したSOCImax及びSOCIminとSOCV演算部103が演算したSOCVとを比較して二次電池のSOCを推定する。SOC推定部111は、推定したSOCを前SOC記憶部108に記録し、また表示部112に出力する。表示部112は、SOC推定部111が推定した二次電池のSOCを表示する。次に、第1の実施形態による充電率推定装置100の動作について説明する。図3は、第1の実施形態による充電率推定装置100による満充電容量を特定するフェーズを示すフローチャートである。充電率推定装置100が二次電池のSOCの推定を開始すると、タイミング判定部101は、SOC演算周期でSOC演算指示信号を出力し、容量演算周期で容量演算指示信号を出力する。なお、容量演算周期は、SOC演算周期の整数倍の周期であるため、容量演算指示信号は、必ずSOC演算指示信号と同時に出力されることとなる。まず、開放電圧演算部102及び電流値積算部105は、タイミング判定部101がSOC演算指示信号を出力したか否かを判定するステップS101。タイミング判定部101がSOC演算指示信号を出力していない場合ステップS101:NO、開放電圧演算部102及び電流値積算部105は、タイミング判定部101によるSOC演算指示信号の出力を待機する。他方、タイミング判定部101がSOC演算指示信号を出力した場合ステップS101:YES、開放電圧演算部102は、現在時刻における二次電池の実測電圧及び実測電流を取得し、図2に示す物理モデルに当てはめることで二次電池の開放電圧を演算するステップS102。次に、SOCV演算部103は、開放電圧とSOCの関係を示すテーブルを参照して、開放電圧演算部102が演算した開放電圧からSOCVを演算するステップS103。他方、電流値積算部105は、タイミング判定部101からSOC演算指示信号を受け付けると、現在時刻における二次電池の実測電流を取得し、当該実測電流をSOC演算周期で乗算し、当該値をそれまで算出した電流積算値に加算することで、現在時刻までにおける電流積算値を算出するステップS104。具体的には、以下に示す式2を用いてSOC演算周期における電流積算値Ahを算出する。但し、分母である3600は、電流積算値の単位をAhアンペア時間にするための定数である。また、Imnは、時刻nにおける二次電池の実測電流であり、Tsは、SOC演算周期である。なお、予め二次電池に並列に接続される制御回路電源やセル電圧バランス回路による消費電流ILossnが分かっている場合、式2に代えて式3を用いて電流積算値Ahを算出することが好ましい。次に、SOC変化量演算部104は、タイミング判定部101が容量演算指示信号を出力したか否かを判定するステップS105。タイミング判定部101が容量演算指示信号を出力した場合ステップS105:YES、SOC変化量演算部104は、SOCV演算部103が演算したSOCVと、SOCV演算部103が前回容量演算指示信号を受け付けたときに演算したSOCVとの差を求めることでSOC変化量を演算するステップS106。なお、SOCV演算部103が前回容量演算指示信号を受け付けたときに演算したSOCVは、SOC変化量演算部104の内部メモリに記憶されている。また、初回実行時には、前回SOCV演算部103が演算したSOCVが無いため、代わりに予め測定しておいた二次電池の初期状態のSOCを用いてSOC変化量を演算する。次に、満充電容量演算部106は、電流値積算部105が演算した電流積算値をSOC変化量演算部104が演算したSOC変化量で除算することで、現在時刻における二次電池の満充電容量を演算するステップS107。このとき、電流値積算部105は、現在時刻までの積算電流値を0にリセットするステップS108。次に、関数推定部107は、満充電容量演算部106が演算した満充電容量を、二次電池の初期満充電容量公称電池容量で除算することで、満充電容量の変化率を算出し、当該満充電容量の変化率を、現在時刻に関連付けて内部メモリに記録するステップS109。次に、関数推定部107は、内部メモリに記憶する満充電容量の変化率の数が所定数以上になったか否かを判定するステップS110。関数推定部107は、記憶している満充電容量の変化率の数が所定数以上であると判定した場合ステップS110:YES、満充電容量の変化率を用いて、二次電池の満充電容量と時刻または使用開始からの経過時間との関係を示す劣化関数を推定するステップS111。図4は、満充電容量の変化率から推定される劣化関数の例を示す図である。具体的には、内部メモリに記憶する満充電容量の変化率と時刻の組み合わせに対して回帰分析処理などを行うことで、図4に示すように、時間経過による二次電池の劣化を示す近似曲線を推定し、当該近似曲線の関数を劣化関数とする。なお、他の二次電池の運用により劣化の傾向が予め分かっている場合は、近似曲線の種類例えば、一次関数、高次関数、対数関数などを予め指定しておくことが好ましい。そして、関数推定部107が劣化関数を推定すると、満充電容量演算部106は、図4に示すように、当該劣化関数から現在時刻における二次電池の電池劣化比率を特定し、初期満充電容量に当該電池劣化比率を乗じることで満充電容量を演算するステップS112。そして、満充電容量演算部106は、ステップS107で演算した満充電容量を、ステップS112で演算した満充電容量に更新する。ここで、劣化関数を用いて満充電容量を演算する理由を説明する。満充電容量演算部106は、満充電容量の演算にSOCVを用いている。また、SOCVの演算には、開放電圧演算部102が演算した開放電圧が用いられている。開放電圧演算部102は、物理モデルを用いて開放電圧を演算するが、当該物理モデルは必ずしも実際の二次電池と一致しないため、演算結果にはモデル誤差が含まれることとなる。そのため、満充電容量演算部106が演算した満充電容量にも少なからずモデル誤差によるばらつきが生じることとなる。そこで、ステップS110において近似曲線の推定によって劣化関数を推定し、当該劣化関数を用いて満充電容量を算出することで、モデル誤差によるばらつきを減少させることができる。図5は、第1の実施形態による充電率推定装置100によるSOCを算出するフェーズを示すフローチャートである。ステップS103で容量演算指示信号が出力されていないと判定した場合ステップS103:NO、ステップS110で関数推定部107が、記憶している満充電容量の変化率の数が所定数未満であると判定した場合ステップS110:NO、またはステップS113で満充電容量演算部106が満充電容量を更新した場合、SOCI演算部110は、満充電容量演算部106が最後に演算した満充電容量、電流値積算部105が演算した電流積算値、前SOC記憶部108が記憶するSOC、及び誤差記憶部109が記憶する誤差を、以下に示す式4及び式5に適用することで、SOCImax及びSOCIminを演算するステップS114。但し、Smaxnは、時刻nにおける二次電池のSOCImaxを示し、Sminnは、時刻nにおける二次電池のSOCIminを示す。また、Sn-1は、前回のSOC演算周期に対応する時刻における二次電池のSOCである。また、Qeは、演算によって求めた満充電容量である。また、Imnは、時刻nにおける電流値である。また、係数Aは、式6に示す定数である。Aの分母である3600は、電流積算値の単位をAhアンペア時間にするための定数である。また、Aの分子である100は、SOCをパーセント表示にするための定数である。また、Tsは、SOC演算周期であり、式4、式5に含まれるImnと乗算することで電流積算値を表す。また、式4、式5に含まれるΔSerrnは、時刻nにおけるSOC誤差であって、式7によって表される。なお、ΔQeは、満充電容量誤差を示し、ΔImnは、実測電流誤差を示す。式7に示すように、満充電容量誤差の上限値または下限値の何れを用いるか、及び実測電流誤差の上限値または下限値の何れを用いるかによって、SOC誤差として4つの値を演算することができる。このうち、式4に含まれるmaxΔSerrnは、SOC誤差の最大値を示し、式5に含まれるminΔSerrnは、SOC誤差の最小値を示す。なお、上記式4及び式5は、式1 ́のInにImn±ΔImnを代入し、QにQe±ΔQeを代入し、これを展開したものである。そして、ステップS109におけるSOCの演算では、前SOC記憶部108が記憶するSOCをSn-1とし、電流値積算部105が演算した電流積算値をImnTsとし、満充電容量演算部106が最後に演算した満充電容量をQeとする。また、誤差記憶部109が記憶する満充電容量の誤差をΔQeとし、誤差記憶部109が記憶する実測電流の誤差をΔImnとする。ステップS114でSOCI演算部110がSOCImax及びSOCIminを演算すると、SOC推定部111は、ステップS103でSOCV演算部103が演算したSOCVと、SOCI演算部110が演算したSOCImax及びSOCIminとを比較するステップS115。SOC推定部111は、SOCVがSOCImax以上であると判定した場合ステップS115:SOCV≧SOCImax、SOCImaxを二次電池のSOCと推定するステップS116。また、SOC推定部111は、SOCVがSOCImin以下であると判定した場合ステップS115:SOCImin≧SOCV、SOCIminを二次電池のSOCと推定するステップS117。また、SOC推定部111は、SOCVがSOCIminより大きく、かつSOCImaxより小さいと判定した場合ステップS115:SOCImax>SOCV>SOCImin、SOCVを二次電池のSOCと推定するステップS118。SOC推定部111は、ステップS116~ステップS118の何れかによって二次電池のSOCを推定すると、当該SOCを前SOC記憶部108に記録するステップS119。また、SOC推定部111は、推定したSOCを表示部112に出力するステップS120。これにより、表示部112は、現在時刻における二次電池のSOCを表示することができる。図6は、充電率推定装置100の処理概要を示す図である。図6に示す時刻nにおいて、タイミング判定部101が容量演算指示信号を出力すると、満充電容量演算部106は、満充電容量を演算する。また、図6に示すように、時刻nにおいて、SOCV演算部103はSOCVを演算し、またSOCI演算部110は、SOCImax及びSOCIminを演算する。時刻nにおいては、SOCVがSOCImax以上であるため、充電率推定装置100は、SOCImaxを時刻nにおける二次電池のSOCと推定する。また、時刻nから時刻n1までの間、SOC演算周期毎にSOCV演算部103はSOCVを演算し、またSOCI演算部110は、SOCImax及びSOCIminを演算し、充電率推定装置100は、SOCV、SOCImax及びSOCIminに基づいて、その時刻における二次電池のSOCを推定する。また、時刻n1において、タイミング判定部101が容量演算指示信号を出力すると、満充電容量演算部106は、満充電容量を演算する。また、SOCV演算部103はSOCVを演算し、またSOCI演算部110はSOCImax及びSOCIminを演算する。時刻n1においては、SOCVがSOCImin以下であるため、充電率推定装置100は、SOCIminを時刻n1における二次電池のSOCと推定する。また、時刻n1から時刻n2までの間、SOC演算周期毎にSOCV演算部103はSOCVを演算し、またSOCI演算部110は、SOCImax及びSOCIminを演算し、充電率推定装置100は、SOCV、SOCImax及びSOCIminに基づいて、その時刻における二次電池のSOCを推定する。また、時刻n2において、タイミング判定部101が容量演算指示信号を出力すると、満充電容量演算部106は、満充電容量を演算する。また、SOCV演算部103はSOCVを演算し、またSOCI演算部110はSOCImax及びSOCIminを演算する。時刻n2においては、SOCVがSOCImaxとSOCIminの間の値であるため、充電率推定装置100は、SOCVを時刻n2における二次電池のSOCと推定する。このように、本実施形態によれば、充電率推定装置100は、容量演算周期の間のSOCの変化量を求め、当該変化量を用いて二次電池の満充電容量を演算する。これにより、二次電池が静定状態であるか否かによらず、二次電池の満充電容量を推定することができる。そして、充電率推定装置100は、当該満充電容量と電流積算値とを用いてSOCIを演算する。これにより、二次電池が静定状態であるか否かによらず、二次電池の劣化による満充電容量の変化を加味したSOCの推定を行うことができる。また、本実施形態によれば、SOCVの値が信頼できる範囲実測電流の誤差を反映したSOCmin~SOCmaxの範囲内の値である場合には、そのSOCVの値を現在時刻のSOCと推定する。他方、SOCVの値が信頼できる範囲内の値でない場合には、SOCminまたはSOCmaxのうちSOCVに近いものを、現在時刻のSOCと推定する。したがって、推定した二次電池の開放電圧の値が信頼できないような場合でも、SOCVとSOCImin及びSOCImaxとの関係から、最適であろうと推定できる値を現在のSOCと決定することになる。これにより、演算したSOCの値について、過去の累積的な誤差の混入を防ぐことができ、SOCの推定精度を向上させることができる。なお、本実施形態では、電流値積算部105が電流の積算値を電流値とSOC演算周期の乗算により離散的に求める場合を説明したが、これに限られず、連続的に求めるようにしても良い。《第2の実施形態》次に、本発明の第2の実施形態について説明する。第1の実施形態による充電率推定装置100において電流値積算部105が演算する電流積算値には、電流検出誤差が含まれることがある。電流検出誤差としては、ゲイン、ヒステリシス、オフセットなどによる誤差が挙げられるが、このうち、オフセットによる誤差は、電流積算値への影響が特に大きくなる。第2の実施形態による充電率推定装置100は、電流積算値のオフセット誤差が小さくなるようにすることで、SOC推定制度を向上させるものである。図7は、本発明の第2の実施形態による充電率推定装置200の構成を示す概略ブロック図である。第2の実施形態による充電率推定装置200は、第1の実施形態による充電率推定装置100と、タイミング判定部201、SOC変化量演算部204、電流値積算部205の動作が異なる。タイミング判定部201は、SOC演算周期毎に、開放電圧演算部102及び電流値積算部205にSOC演算指示信号を出力する。また、タイミング判定部201は、SOC演算周期毎に、実測温度及び実測電流から、SOCの演算準備を行うタイミング第1の時刻及びSOCの演算を行うタイミング第2の時刻を特定し、SOCの演算準備を行うタイミングにおいて準備指示信号をSOC変化量演算部204に出力し、SOCの演算を行うタイミングにおいて容量演算指示信号をSOC変化量演算部204に出力する。SOC変化量演算部204は、タイミング判定部101からSOC演算指示信号を受け付けた場合、準備指示信号を受け付けた時第1の時刻にSOCV演算部103が演算したSOCVと、SOCV演算部103が今回第2の時刻演算したSOCVとの差分を二次電池のSOC変化量として演算する。電流値積算部205は、準備指示信号を受け付けたときから容量演算指示信号を受け付けたときまでの実測電流を、SOC演算周期毎に積算する。ここで、タイミング判定部201によるタイミングの特定方法について詳しく説明する。図8は、実測電流値と誤差の一例を示す図である。図8に示す例では、電流センサの誤差特性は温度と電流値とに依存している。そのため、電流センサ誤差が小さい範囲内において電流値の積算を行うことが好ましい。図7に示す例では、例えば実測電流が15Aから25Aまで、かつ実測温度が20°Cから30°Cまでの場合に、電流値の積算を行うことが好ましい。そのため、タイミング判定部201は、少なくとも実測温度及び実測電流の移動平均値が所定の範囲内に収まっている時刻に準備指示信号を出力し、準備指示信号を出力した時刻からその時刻までの間に実測温度及び実測電流が所定の範囲を超えないような時刻に容量演算指示信号を出力する必要がある。そこで、本実施形態では、タイミング判定部201は、実測電流及び実測温度が当該範囲外から範囲内に遷移したときに準備指示信号を出力し、実測電流及び実測温度が範囲内から範囲外に遷移したときに容量演算指示信号を出力する。したがって、本実施形態によれば、充電率推定装置200は、前回実測電流及び実測温度が範囲内から範囲外に遷移した時刻に、前SOC記憶部108が記憶するSOCの修正がなされる。このように、本実施形態によれば、電流値積算部205は、実測電流及び実測温度が当該範囲外から範囲内に遷移した時刻から、実測電流及び実測温度が範囲内から範囲外に遷移した時刻までの電流値を積算する。これにより、電流積算値のオフセット誤差が小さくなるため、SOC推定制度を向上させることができる。なお、本実施形態では、実測電流及び実測温度に基づいて準備指示信号及び容量演算指示信号の出力タイミングを決定する場合を説明したが、これに限られない。例えば、実測温度のみに基づいてタイミングを決定しても良いし、実測電流のみに基づいてタイミングを決定しても良い。《第3の実施形態》次に、本発明の第3の実施形態について説明する。第1の実施形態で説明したように、満充電容量演算部106が演算する満充電容量には、誤差が含まれることがある。第1の実施形態では、関数推定部107で劣化関数を推定することで当該誤差を削減する方法を説明したが、第3の実施形態では、当該劣化関数に含まれる誤差を更に削減する方法を説明する。図9は、本発明の第3の実施形態による充電率推定装置300の構成を示す概略ブロック図である。第3の実施形態による充電率推定装置300は、第1の実施形態による充電率推定装置100と関数推定部307の動作が異なる。第3の実施形態による関数推定部307は、満充電容量演算部106が演算した満充電容量のうち誤差が大きいものを除外して劣化関数を推定する。異常があるデータを除外して劣化関数を推定する方法としては、例えば、前回演算した満充電容量との差が所定の閾値以上であった場合に、今回の満充電容量に代えて前回の満充電容量を用いて劣化関数の推定を行う方法が挙げられる。また、他の方法としては、ある時間区間において関数推定部107が記録した満充電容量の変化率から劣化関数を推定し、当該劣化関数から導き出される満充電容量の変化率との差が所定の閾値以上である変化率を除外して、再度劣化関数を推定する方法が挙げられる。図10は、除外する満充電容量の例を示す図である。また、この場合、劣化関数の再推定処理を繰り返し実行することで、劣化関数の精度を向上させることができる。このように、本実施形態によれば、関数推定部307は、誤差が大きい満充電容量を除外して劣化関数を推定することで、劣化関数の精度が高くすることができる。《第4の実施形態》次に、本発明の第4の実施形態について説明する。図11は、開放電圧とSOCVとの関係の一例を示す図である。SOCV演算部103によるSOCVの演算に用いる、二次電池の開放電圧とSOCVとの関係は、図10に示すように、必ずしも線形であるとは限らない。第4の実施形態では、この点に鑑みて満充電容量の推定精度を向上させる方法について説明する。図12は、本発明の第4の実施形態による充電率推定装置400の構成を示す概略ブロック図である。第4の実施形態による充電率推定装置400は、第1の実施形態による充電率推定装置100と満充電容量演算部406の動作が異なる。第4の実施形態による満充電容量演算部406は、SOC推定部111が出力するSOCを監視する。そして、満充電容量演算部406は、容量演算周期の間、SOCが二次電池の開放電圧との関係において線形性を有する範囲内にあった場合に満充電容量の演算を行い、SOCが線形性を有する範囲内から出た場合に、満充電容量の演算を行わない。図10に示す例では、SOCが50から60の間にある場合にのみ、満充電容量の演算を行う。これにより、SOCVと開放電圧との関係の非線形性による誤差を排除することができ、満充電容量の推定制度を向上させることができる。ところで、電気自動車など、通常は二次電池を放電方向に使用し、夜間電力などで二次電池の充電を行う場合、充電時にSOCが線形性を有する範囲を通過することとなるため、充電時を利用して定期的に満充電容量の推定を行うことができる。他方、自然エネルギーの平滑化を行う際に二次電池を用いる場合、必ずしもSOCが線形性を有する範囲を通過するとは限らない。そこで、この場合は所定のSOC一定制御ロジックを用いて、通常一定値例えば50としている平滑化目標値を、電池容量推定時に変化させる例えば60にことで、SOCに線形性を有する範囲を通過させることができる。図13は、SOC一定制御ロジックの例を示す図である。図13Aに示すように、二次電池の充放電を行う装置は、充放電指令とSOC一定制御ロジックとの指示に基づいて、最終充放電指令を決定する。このとき、SOC一定制御ロジックは、通常はSOC目標値50のみを出力をするが、定期的に、当該SOC目標値に所定のSOC10を上乗せする。これにより、SOC一定制御ロジックから出力されるSOC目標が、図13Bに示すように、50と60との間で変化する。《第5の実施形態》次に、本発明の第5の実施形態について説明する。二次電池の劣化は関数推定部107が推定する劣化関数によって近似される。しかし、二次電池に何らかの不具合が発生すると、劣化モードが変化することがある。第5の実施形態では、二次電池の劣化モードが変化した場合に警告を表示する方法について説明する。図14は、本発明の第5の実施形態による充電率推定装置500の構成を示す概略ブロック図である。第5の実施形態による充電率推定装置500は、第1の実施形態による充電率推定装置100と関数推定部507及び表示部512警告部の動作が異なる。第5の実施形態による関数推定部507は、ある周期において劣化関数の推定を行う。このとき、関数推定部507は、一次関数を用いて劣化関数の推定を行い、時間の係数の変化を監視する。そして、関数推定部507は、係数の変化が所定の閾値以上となった場合に、何らかの要因によって二次電池の劣化モードが変化したと推定し、表示部512に警告情報を出力する。表示部512は、関数推定部507から受け付けた警告情報を表示する。これにより、充電率推定装置500は、二次電池の劣化モードが変化し、何らかの不具合が発生したと想定される場合に、警告を表示することができる。以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。例えば、上述した第1の実施形態~第5の実施形態では充電率推定装置を、二次電池と別個に備えられた外部装置として説明したが、これに限られない。具体的には、二次電池に設けられ、二次電池の制御監視を行うBMUBatteryManagementUnitに充電率推定装置が実装されていても良い。また、第1の実施形態~第5の実施形態では充電率推定装置が1つの装置に実装されている場合を説明したが、これに限られず、例えば、タイミング判定部101、開放電圧演算部102、SOCV演算部103、SOC変化量演算部104、電流値積算部105、満充電容量演算部106、関数推定部107を外部装置に実装し、前SOC記憶部108、誤差記憶部109、SOCI演算部110、SOC推定部111をBMUに実装するようにしても良い。このとき、外部装置の満充電容量演算部106が演算した満受電容量または関数推定部107が推定した劣化関数から導出される満充電容量に対して、自動または手動によって更新可否の判断を行った上で、満充電容量をBMUに出力するようにしても良い。上述の充電率推定装置は内部に、コンピュータシステムを有している。そして、上述した各処理部の動作は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル差分プログラムであっても良い。