(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-15
(45)【発行日】2022-02-24
(54)【発明の名称】蓄電池容量演算装置、および、プログラム
(51)【国際特許分類】
H02J 3/32 20060101AFI20220216BHJP
H02J 3/14 20060101ALI20220216BHJP
H02J 7/00 20060101ALI20220216BHJP
【FI】
H02J3/32
H02J3/14
H02J7/00 X
(21)【出願番号】P 2017131752
(22)【出願日】2017-07-05
【審査請求日】2020-05-28
(73)【特許権者】
【識別番号】000000262
【氏名又は名称】株式会社ダイヘン
(74)【代理人】
【識別番号】100086380
【氏名又は名称】吉田 稔
(74)【代理人】
【識別番号】100168044
【氏名又は名称】小淵 景太
(72)【発明者】
【氏名】大堀 彰大
(72)【発明者】
【氏名】谷脇 英幸
【審査官】坂東 博司
(56)【参考文献】
【文献】特開2016-063640(JP,A)
【文献】特開2014-124059(JP,A)
【文献】特開2016-059134(JP,A)
【文献】特開2011-182503(JP,A)
【文献】国際公開第2013/105259(WO,A3)
【文献】米国特許出願公開第2011/0210702(US,A1)
【文献】特開2017-070167(JP,A)
【文献】特開2000-217253(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02J 3/32
H02J 3/14
H02J 7/00
(57)【特許請求の範囲】
【請求項1】
各デマンド時限における平均使用電力に基づくデマンド値を所定期間分記憶するデマンド記憶手段と、
ピークカットの目標値を設定する目標値設定手段と、
時系列をさかのぼりながら、前記各デマンド時限のデマンド値と前記目標値との差である差分値を
順に積算してゆき、積算後の値が最大値より大きくなった場合に当該積算後の値を最大値として更新する処理を、すべてのデマンド時限に対して行ったときの最大値を検出する最大値検出手段と、
前記最大値検出手段によって検出された前記最大値に基づいて
最大放電量を設定し、当該最大放電量と充電率の上限値および下限値とに基づいて、必要な蓄電池容量を演算する容量演算手段と、
を備えていることを特徴とする蓄電池容量演算装置。
【請求項2】
前記最大値検出手段は、前記時系列のさかのぼりにおいて、前記時系列の最初のデマンド時限に来た場合は最後のデマンド時限に戻る、
請求項1に記載の蓄電池容量演算装置。
【請求項3】
開始点を順に変更しながら、前記最大値検出手段に前記最大値を検出させ、前記開始点毎の前記最大値の中から最も大きい値を検出する繰り返し手段をさらに備え、
前記容量演算手段は、前記最大値検出手段によって検出された前記最大値に代えて、前記繰り返し手段によって検出された値に基づいて
前記必要な蓄電池容量を演算する、
請求項2に記載の蓄電池容量演算装置。
【請求項4】
前記デマンド値が前記目標値以上となる期間である放電期間と、前記デマンド値が前記目標値未満となる充電期間とを設定する期間設定手段をさらに備え、
前記繰り返し手段は、前記放電期間のデマンド時限のみを前記開始点とする、
請求項3に記載の蓄電池容量演算装置。
【請求項5】
前記期間設定手段は、前記所定期間の最初と最後が放電期間である場合は、これらの放電期間を合わせて1つの放電期間として設定し、前記所定期間の最初と最後が充電期間である場合は、これらの充電期間を合わせて1つの充電期間として設定し、
前記放電期間ごとに、当該放電期間に属するデマンド時限の前記各差分値を積算した放電積算値を算出し、前記充電期間ごとに、当該充電期間に属するデマンド時限の前記各差分値を積算した充電積算値を算出する積算値算出手段をさらに備え、
前記最大値検出手段は、前記各デマンド時限の差分値を
積算してゆく代わりに、前記各放電期間の放電積算値、および、前記各充電期間の充電積算値を
積算してゆく、
請求項4に記載の蓄電池容量演算装置。
【請求項6】
前記最大値検出手段は、
積算後の値が負の値になった場合は、当該
積算後の値を「0」とする、
請求項1ないし5のいずれかに記載の蓄電池容量演算装置。
【請求項7】
前記目標値設定手段は、複数の目標値を設定し、
前記最大値検出手段は、前記目標値ごとに前記最大値を検出し、
前記容量演算手段は、前記目標値ごとに前記
必要な蓄電池容量を演算し、
前記目標値ごとに算出された
必要な蓄電池容量に基づいて、
必要な蓄電池容量を選択するための判断情報を生成する判断情報生成手段をさらに備えている、
請求項1ないし6のいずれかに記載の蓄電池容量演算装置。
【請求項8】
コンピュータを、
各デマンド時限における平均使用電力に基づくデマンド値を所定期間分記憶するデマンド記憶手段と、
ピークカットの目標値を設定する目標値設定手段と、
時系列をさかのぼりながら、前記各デマンド時限のデマンド値と前記目標値との差である差分値を
順に積算してゆき、積算後の値が最大値より大きくなった場合に当該積算後の値を最大値として更新する処理を、すべてのデマンド時限に対して行ったときの最大値を検出する最大値検出手段と、
前記最大値検出手段によって検出された前記最大値に基づいて
最大放電量を設定し、当該最大放電量と充電率の上限値および下限値とに基づいて、必要な蓄電池容量を演算する容量演算手段と、
して機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ピークカット運転を行うために必要となる蓄電池の容量を算出する蓄電池容量演算装置、および、蓄電池容量を演算するためのプログラムに関する。
【背景技術】
【0002】
工場や家庭などの電力の需要家は、消費する電力を電力会社から購入する。電気料金には、基本料金と従量制料金とが含まれている。基本料金は、電力メーターによって例えば30分単位の平均使用電力が記録され、その最大値(ピーク値)で決定される。ピーク値を抑制するために、平均使用電力の上限値を設定して、平均使用電力が当該上限値を超えないように、蓄電池の充放電を制御するピークカット制御が知られている。
【0003】
ピークカット制御では、電力消費の少ない時間帯に蓄電池を充電しておき、電力消費の多い時間帯に蓄電池を放電させる。しかし、蓄電池の充電量が少ない場合、電力消費の多い時間帯での放電量が不足して、ピークカットができなくなる。蓄電池容量を十分大きくしておけば、この問題は解決するが、必要な蓄電池の購入費用が高くなるという問題がある。したがって、放電量が不足せず、かつ、蓄電池容量をできるだけ小さくするために、最適な蓄電池容量を演算することが重要である。
【0004】
特許文献1には、各時刻において、消費電力量から太陽光発電の発電量および蓄電池の放電量を差し引いたものが電力使用量の上限値以下となり、蓄電池の一日分の放電量の合計(=蓄電池容量)が最小となるように、線形計画問題を演算することで、蓄電池容量を算出することが記載されている。特許文献1に記載の蓄電池容量演算方法は、太陽光発電の発電量を正確に予測しないと蓄電池容量が過剰になったり不足することを問題視し、太陽光発電の発電量を正確に予測することで、最適な蓄電池容量を算出するものである。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、当該蓄電池容量演算方法の場合、電力消費の少ない時間帯での蓄電池の充電量を考慮していないので、算出された蓄電池容量は、過剰になる傾向がある。
【0007】
本発明は、上記した事情のもとで考え出されたものであって、より最適な蓄電池容量を演算することができる蓄電池容量演算装置を提供することを目的としている。
【課題を解決するための手段】
【0008】
本発明の第1の側面によって提供される蓄電池容量演算装置は、各デマンド時限における平均使用電力に基づくデマンド値を所定期間分記憶するデマンド記憶手段と、ピークカットの目標値を設定する目標値設定手段と、時系列をさかのぼりながら、前記各デマンド時限のデマンド値と前記目標値との差である差分値を加算してゆき、演算過程における加算値の最大値を検出する最大値検出手段と、前記最大値検出手段によって検出された前記最大値に基づいて、蓄電池容量を演算する容量演算手段とを備えていることを特徴とする。この構成によると、最大値検出手段は、各デマンド時限のデマンド値と目標値との差を差分値として算出し、時系列をさかのぼりながら差分値を加算していく。デマンド時限のデマンド値が目標値以上となる場合、当該デマンド時限の差分値は、デマンド値を目標値に抑制しようとすると必要になる放電電力を示し、デマンド時限のデマンド値が目標値未満となる場合、当該デマンド時限の差分値は、デマンド値を目標値まで大きくすれば、可能になる充電電力(放電電力とは正負が逆の値)を示す。したがって、時系列をさかのぼりながら差分値を加算していくことで、時系列で後のデマンド時限で必要となる放電電力を、時系列で先のデマンド時限で可能になる充電電力によって打ち消すようにして加算していくことができる。蓄電池は、この加算の演算過程における加算値の最大値を放電できる必要がある。容量演算手段は、この最大値に基づいて、必要となる蓄電池容量を演算する。蓄電池容量の算出において、必要になる放電電力量を直前のデマンド時限で可能になる充電電力量によって打ち消しているので、算出された蓄電池容量が過剰になることを抑制することができ、より最適な蓄電池容量を演算することができる。
【0009】
本発明の好ましい実施の形態においては、前記最大値検出手段は、前記時系列のさかのぼりにおいて、前記時系列の最初のデマンド時限に来た場合は最後のデマンド時限に戻る。この構成によると、時系列のさかのぼりを途中のデマンド時限から開始した場合でも、ひとまわりさせることができる。
【0010】
本発明の好ましい実施の形態においては、開始点を順に変更しながら、前記最大値検出手段に前記最大値を検出させ、前記開始点毎の前記最大値の中から最も大きい値を検出する繰り返し手段を、前記蓄電池容量演算装置はさらに備え、前記容量演算手段は、前記最大値検出手段によって検出された前記最大値に代えて、前記繰り返し手段によって検出された値に基づいて蓄電池容量を演算する。この構成によると、順に変更させた開始点毎の最大値の中から最も大きい値を用いて蓄電池容量を演算するので、より最適な蓄電池容量を演算することができる。
【0011】
本発明の好ましい実施の形態においては、前記蓄電池容量演算装置は、前記デマンド値が前記目標値以上となる期間である放電期間と、前記デマンド値が前記目標値未満となる充電期間とを設定する期間設定手段をさらに備え、前記繰り返し手段は、前記放電期間のデマンド時限のみを前記開始点とする。この構成によると、充電期間のデマンド時限を開始点として最大値を検出する処理を省略することができるので、演算量を削減することができる。
【0012】
本発明の好ましい実施の形態においては、前記期間設定手段は、前記所定期間の最初と最後が放電期間である場合は、これらの放電期間を合わせて1つの放電期間として設定し、前記所定期間の最初と最後が充電期間である場合は、これらの充電期間を合わせて1つの充電期間として設定する。そして、前記放電期間ごとに、当該放電期間に属するデマンド時限の前記各差分値を積算した放電積算値を算出し、前記充電期間ごとに、当該充電期間に属するデマンド時限の前記各差分値を積算した充電積算値を算出する積算値算出手段を、前記蓄電池容量演算装置はさらに備え、前記最大値検出手段は、前記各デマンド時限の差分値を加算してゆく代わりに、前記各放電期間の放電積算値、および、前記各充電期間の充電積算値を加算してゆく。この構成によると、あらかじめ積算値を算出しておくので、デマンド時限ごとに加算を行う場合より演算量を削減することができる。
【0013】
本発明の好ましい実施の形態においては、前記最大値検出手段は、前記演算過程において前記加算値が負の値になった場合は、当該加算値を「0」とする。この構成によると、蓄電池の充電量が負の値になるという現実ではありえない状態を回避することができる。
【0014】
本発明の好ましい実施の形態においては、前記目標値設定手段は、複数の目標値を設定し、前記最大値検出手段は、前記目標値ごとに前記最大値を検出し、前記容量演算手段は、前記目標値ごとに前記蓄電池容量を演算し、前記蓄電池容量演算装置は、前記目標値ごとに算出された蓄電池容量に基づいて、蓄電池容量を選択するための判断情報を生成する判断情報生成手段をさらに備えている。この構成によると、蓄電池容量を選択するための判断情報を操作者に提供することができる。また、判断情報に基づいて、最適な蓄電池容量を推薦することができる。
【0015】
本発明の第2の側面によって提供されるプログラムは、コンピュータを、各デマンド時限における平均使用電力に基づくデマンド値を所定期間分記憶するデマンド記憶手段と、ピークカットの目標値を設定する目標値設定手段と、時系列をさかのぼりながら、前記各デマンド時限のデマンド値と前記目標値との差である差分値を加算してゆき、演算過程における加算値の最大値を検出する最大値検出手段と、前記最大値検出手段によって検出された前記最大値に基づいて、蓄電池容量を演算する容量演算手段として機能させることを特徴とする。
【発明の効果】
【0016】
本発明によると、最大値検出手段は、各デマンド時限のデマンド値と目標値との差を差分値として算出し、時系列をさかのぼりながら差分値を加算していく。デマンド時限のデマンド値が目標値以上となる場合、当該デマンド時限の差分値は、デマンド値を目標値に抑制しようとすると必要になる放電電力を示し、デマンド時限のデマンド値が目標値未満となる場合、当該デマンド時限の差分値は、デマンド値を目標値まで大きくすれば、可能になる充電電力(放電電力とは正負が逆の値)を示す。したがって、時系列をさかのぼりながら差分値を加算していくことで、時系列で後のデマンド時限で必要となる放電電力を、時系列で先のデマンド時限で可能になる充電電力によって打ち消すようにして加算していくことができる。蓄電池は、この加算の演算過程における加算値の最大値を放電できる必要がある。容量演算手段は、この最大値に基づいて、必要となる蓄電池容量を演算する。蓄電池容量の算出において、必要になる放電電力量を直前のデマンド時限で可能になる充電電力量によって打ち消しているので、算出された蓄電池容量が過剰になることを抑制することができ、より最適な蓄電池容量を演算することができる。
【図面の簡単な説明】
【0017】
【
図1】第1実施形態に係る蓄電池容量演算装置の内部構成の一例を示す機能ブロック図である。
【
図2】各デマンド時限のデマンド値に基づいて、最大放電量を検出する方法を説明するための図である。
【
図4】第1実施形態に係る蓄電池容量演算処理を説明するためのフローチャートの一例を示す図である。
【
図5】期間設定処理を説明するためのフローチャートの一例を示す図である。
【
図6】最大値検出処理を説明するためのフローチャートの一例を示す図である。
【
図7】最大値検出処理の変形例を説明するためのフローチャートの一例を示す図である。
【
図8】第2実施形態に係る蓄電池容量演算処理を説明するためのフローチャートの一例を示す図である。
【発明を実施するための形態】
【0018】
以下、本発明の好ましい実施の形態を、添付図面を参照して具体的に説明する。
【0019】
第1実施形態に係る蓄電池容量演算装置1は、所定期間(例えば1日)の各デマンド時限のデマンド値に基づいて、必要になる蓄電池の容量を計算する装置である。「デマンド値」とは、所定時間(例えば、毎時ごとの0分~30分および30分~60分の各30分間)ごとの平均使用電力であり、「デマンド時限」とは、デマンド値を算出するための各所定時間である。蓄電池容量演算装置1は、汎用的なコンピュータに蓄電池容量演算プログラムをインストールすることで実現される。蓄電池容量演算プログラムは、後述する蓄電池容量演算処理を、制御部11に実行させるためのプログラムである。本実施形態では、液晶画面などの表示装置、およびタッチパネルを備えたタブレット型コンピュータに蓄電池容量演算プログラムをインストールしたものを、蓄電池容量演算装置1としている。なお、蓄電池容量演算装置1は、デスクトップ型またはノート型のコンピュータに、蓄電池容量演算プログラムをインストールしたものであってもよいし、コンピュータにあらかじめ蓄電池容量演算プログラムを搭載した専用機であってもよい。
【0020】
図1は、蓄電池容量演算装置1の内部構成の一例を示す機能ブロック図である。
図1に示すように、蓄電池容量演算装置1は、制御部11、記憶部12、操作部13、表示部14、通信部15、および、バス16を備えている。制御部11、記憶部12、操作部13、表示部14および通信部15は、バス16によって相互にデータ伝送可能に接続されている。
【0021】
蓄電池容量演算装置1は、通信回線2を介してサーバ3から蓄電池容量演算プログラムをダウンロードして、記憶部12に読み込んでいる。なお、当該プログラムをフラッシュメモリやCD-ROMなどの他の記録メディアから読み込むようにしてもよい。
【0022】
記憶部12は、各種情報を記憶するものである。記憶部12は、一次記憶部としてのROM(Read Only Memory)およびRAM(Random Access Memory)と、二次記憶部とを備えている。ROMは、読み取り専用の記憶媒体であって、基本プログラムが記憶されている。RAMは、書き換え可能な記憶媒体であって、応用プログラムを格納するエリアとプログラムを処理するためのワークエリアとを提供する。二次記憶部は、例えばフラッシュメモリやハードディスクなどであり、ダウンロードした応用プログラムや各種データを記憶している。本実施形態では、サーバ3からダウンロードされた蓄電池容量演算プログラムが、記憶部12の二次記憶部に記憶されている。また、後述するデマンド値データも二次記憶部に記憶されている。「記憶部12」が、本発明の「デマンド記憶手段」に相当する。
【0023】
操作部13は、操作者からの操作入力を受け付けるものであり、各種操作ボタンおよびタッチパネルを備えている。操作部13は、操作者によって操作ボタンが押下された場合に、対応する操作信号を制御部11に入力する。また、操作部13は、タッチパネルから入力されるタッチ情報(タッチパネルのパネル面に格子状に配置された微小コンデンサまたは微小抵抗の変化情報)に基づいてパネル面における接触位置を算出し、その接触位置の情報を操作信号として制御部11に入力する。タッチパネルは、後述する表示装置の表示画面上に配置されている。
【0024】
表示部14は、例えば液晶表示装置などの表示装置を備えている。表示部14は、制御部11から入力される画像を表示装置に表示させる。
【0025】
通信部15は、通信回線2を介して、外部の装置との間で通信を行うものであり、例えば無線LANモジュールなどの通信手段を備えている。なお、通信部15は、無線通信を行うものに限定されず、有線通信を行うものであってもよい。本実施形態では、通信部15は、サーバ3から蓄電池容量演算プログラムを受信している。また、デマンド値データを、他のコンピュータなどから受信している。
【0026】
制御部11は、蓄電池容量演算装置1が備える各部の動作を統括制御するものであり、CPU(Central Processing Unit)によって実現されている。制御部11は、機能ブロックとして、少なくとも、デマンド値取得部111、目標値設定部112、期間設定部113、積算値算出部114、最大値検出部115、容量演算部116、収支演算部117、および、表示制御部118を備えている。機能ブロックである各部111~118は、制御部11が記憶部12に記憶された蓄電池容量演算プログラムを実行することで実現される。
【0027】
デマンド値取得部111は、記憶部12に記憶されているデマンド値データを取得する。一般的に、30分間の平均使用電力が「デマンド値」(単位は[kW])と呼ばれている。デマンド値データは、0:00~0:30、0:30~1:00、…、23:30~24:00(0:00)のように、それぞれ30分間の各デマンド時限のデマンド値からなるデータである。デマンド値データは、例えば、電力会社のコンピュータからあらかじめ取得されて、記憶部12に記憶されている。なお、デマンド値データは、通信回線2を介して読み込んでもいいし、操作者に直接入力させるようにしてもよい。また、需要家の所持するコンピュータにデマンド値が記憶されているのであれば、当該コンピュータから取得するようにすればよい。
【0028】
図2は、各デマンド時限のデマンド値に基づいて、最大放電量を検出する方法を説明するための図である。
図2(a)においては、デマンド値データを棒グラフで表している。
図2(a)において、横軸は各デマンド時限を示しており、縦軸はデマンド値[kW]を示している。例えば0:00~0:30のデマンド時限においては、デマンド値が約140[kW]であることを示している。すなわち、当該デマンド時限の30分間の平均使用電力(デマンド)が約140[kW]であることを示している。
【0029】
目標値設定部112は、ピークカットの目標値を設定する。目標値設定部112は、表示部14に目標値の入力を促す表示を行い、操作者に入力操作を促す。そして、操作者の操作によって操作部13より入力されれる操作信号に基づいて、目標値を設定し、記憶部12に記憶する。
図2(a)においては、目標値として150[kW]が入力されたとして、目標値を示す直線Refを示している。なお、後述する充電率の上限値、下限値、蓄電池単価、電気料金の基本料金、および検討年数(収支を計算するための蓄電池の使用年数)なども、同様にして、操作者によって入力されて記憶部12に記憶されている。なお、目標値設定部112は、複数の目標値を設定することもできる。また、目標値の上限値、下限値および刻み幅を入力させることで、下限値から刻み幅ずつ増加させた値を上限値になるまで目標値として設定するようにしてもよい。例えば、上限値を150[kW]、下限値を100[kW]、刻み幅を10[kW]とすることで、目標値として、100[kW]、110[kW]、120[kW]、130[kW]、140[kW]、150[kW]を設定するようにしてもよい。
【0030】
期間設定部113は、デマンド値取得部111が取得したデマンド値データと、目標値設定部112が設定した目標値とから、放電が必要な期間である放電期間と、充電が可能な期間である充電期間とを設定する。デマンド時限のデマンド値が目標値以上となる場合、当該デマンド時限において、デマンド値を目標値に抑制しようとすると放電が必要になる。また、デマンド時限のデマンド値が目標値未満となる場合、当該デマンド時限において、デマンド値を目標値まで大きくすれば、充電が可能になる。期間設定部113は、放電が必要になるデマンド時限が継続する期間(デマンド時限が1つだけの期間も含む)を放電期間として設定し、充電が可能になるデマンド時限が継続する期間(デマンド時限が1つだけの期間も含む)を充電期間として設定する。各充電期間および各放電期間は時系列の順に番号が付される。
図2(a)においては、例えば4:00~10:00の期間において、各デマンド時限のデマンド値が目標値未満となるので、当該期間は充電期間として設定されている。また、当該期間は2番目の充電期間であると認識されていることが、「充電(2)(図においては丸の中に数字で記載している。以下同じ)」として示されている。また、期間設定部113は、デマンド時限の最初と最後がともに放電期間に含まれる場合、最初の放電期間と最後の放電期間とを合わせて1つの放電期間とする。また、デマンド時限の最初と最後がともに充電期間に含まれる場合、最初の充電期間と最後の充電期間とを合わせて1つの充電期間とする。本実施形態では、最後のデマンド時限の次は最初のデマンド時限に戻ると考えるので、ともに放電期間(充電期間)であれば、同じ放電期間(充電期間)内において連続していると考える。
図2(a)においては、0:00~1:00が最初の充電期間(充電(1))であり、23:00~24:00(0:00)も充電期間なので、23:00~1:00を最初の充電期間(充電(1))としている。
図2(a)においては、4つの充電期間(充電(1)~充電(4))と、4つの放電期間(放電(1)~放電(4))とが設定されている。
【0031】
積算値算出部114は、各放電期間の放電積算値、および、各充電期間の充電積算値を算出する。放電期間に含まれるデマンド時限のデマンド値から目標値を減算した電力値は、デマンド値を目標値に抑制するために必要な電力であり、これを放電電力としている。また、充電期間に含まれるデマンド時限のデマンド値を目標値から減算した電力値は、デマンド値を目標値まで大きくした場合に充電可能な電力である。充電期間に含まれるデマンド時限のデマンド値から目標値を減算した負の値の電力値を、充電電力としている。「放電電力」および「充電電力」が、本発明の「差分値」に相当する。積算値算出部114は、放電期間ごとに、当該放電期間に含まれるデマンド時限の放電電力を積算した値である放電積算値を算出する。また、積算値算出部114は、充電期間ごとに、当該充電期間に含まれるデマンド時限の充電電力を積算した値である充電積算値を算出する。
図2(b)の下の段(
図2(c)の下の段も同じ)は、各放電期間の放電積算値、および、各充電期間の充電積算値を示している。例えば最初の放電期間(放電(1))の放電積算値は「320」であり、2番目の充電期間(充電(2))の充電積算値は[-300」であることが示されている。
【0032】
最大値検出部115は、時系列をさかのぼりながら、各放電期間の放電積算値、および、各充電期間の充電積算値を加算してゆき、演算過程における加算値の最大値を検出する。
【0033】
図2(b)の上の段は、4番目の放電期間(放電(4))を開始点として、時系列をさかのぼりながら、各放電期間の放電積算値および各充電期間の充電積算値を加算してゆく演算過程を示している。まず、加算値の初期値「0」に放電(4)の放電積算値「340」が加算されて加算値が「340」になっている。次に、充電(4)の充電積算値「-320」が加算されて加算値が「20」になっている。次に、放電(3)の放電積算値「160」が加算されて加算値が「180」になり、充電(3)の充電積算値「-40」が加算されて加算値が「140」になっている。次に、放電(2)の放電積算値「160」が加算されて加算値が「300」になり、充電(2)の充電積算値「-300」が加算されて加算値が「0」になっている。次に、放電(1)の放電積算値「320」が加算されて加算値が「320」になり、充電(1)の充電積算値「-160」が加算されて加算値が「160」になっている。この場合、演算過程における加算値の最大値は「340」である。
【0034】
最大値検出部115は、開始点を各放電期間で変更しながらこの最大値の検出を行い、最大値の中から最も大きい値を検出する。最大値検出部115は、時系列をさかのぼるとき、最初の期間(放電期間または充電期間)の次は、最後の期間(充電期間または放電期間)に戻る。また、最大値検出部115は、演算過程において加算値が負の値になった場合は当該加算値を「0」にする。
【0035】
図2(c)の上の段は、3番目の放電期間(放電(3))を開始点として、時系列をさかのぼりながら、各放電期間の放電積算値および各充電期間の充電積算値を加算してゆく演算過程を示している。まず、加算値の初期値「0」に放電(3)の放電積算値「160」が加算されて加算値が「160」になっている。次に、充電(3)の充電積算値「-40」が加算されて加算値が「120」になっている。次に、放電(2)の放電積算値「160」が加算されて加算値が「280」になり、充電(2)の充電積算値「-300」が加算されて加算値が「-20」になっている。このとき加算値が負の値になっているので、加算値は「0」にされている。次に、放電(1)の放電積算値「320」が加算されて加算値が「320」になり、充電(1)の充電積算値「-160」が加算されて加算値が「160」になっている。次に、放電(4)の放電積算値「340」が加算されて加算値が「500」になり、充電(4)の充電積算値「-320」が加算されて加算値が「180」になっている。この場合、演算過程における加算値の最大値は「500」である。
【0036】
同様にして、2番目の放電期間(放電(2))を開始点とした場合の最大値は「500」となり、1番目の放電期間(放電(1))を開始点とした場合の最大値は「500」となる。したがって、
図2(a)の例の場合、最大値検出部115は、各最大値の中から最も大きい値「500」を検出する。この値は30分単位の放電電力(充電電力)を積算した値なので、この値の半分の値が電力量に相当する。つまり、最大値検出部115が検出した値の半分の値を最大放電量とする蓄電池であれば、各放電期間において、充電量が不足することがない。「最大値検出部115」が、本発明の「最大値検出手段」および「繰り返し手段」に相当する。
【0037】
容量演算部116は、最大値検出部115が検出した最も大きい値に基づいて、必要な蓄電池容量を演算する。蓄電池は、充電率(State Of Charge:SOC)の上限値および下限値が決められており、充電率が当該上限値と下限値と間の値となる範囲でのみ、充電および放電をすることができる。蓄電池容量は、当該上限値と下限値とを考慮して決定される。蓄電池の充電率の上限値および下限値は、操作者によってあらかじめ入力されている。容量演算部116は、最大値検出部115が検出した最も大きい値の半分の値を最大放電量とする蓄電池の容量を演算する。具体的には、最大放電量を、充電率上限値と充電率下限値との差で除算した結果を、必要な蓄電池容量として算出する。例えば、最大値検出部115が検出した最も大きい値が「500」で、最大放電量が250[kWh]であり、充電率上限値が80%、充電率下限値が20%の場合、容量演算部116は、必要な蓄電池容量を416.6(=250÷(0.8-0.2))[kWh]として算出する。
【0038】
収支演算部117は、容量演算部116で演算された蓄電池容量に基づいて、当該蓄電池容量の蓄電池を導入した場合の収支を演算する。収支演算部117は、演算された蓄電池容量と、あらかじめ設定されている蓄電池単価とから、当該蓄電池容量の蓄電池の購入金額を算出する。また、収支演算部117は、ピークカットにより削減される年間の電気料金(年間削減金額)を算出する。年間削減金額は、現在のデマンドピーク値で決定されている電気料金の基本料金と、デマンドピーク値が設定された目標値(本実施形態では目標値を電力量で設定しているので、この目標値を半分にしたデマンドにする必要がある)となった場合の電気料金の基本料金との差額に「12」を乗算することで算出される。電気料金の基本料金はあらかじめ設定されている。電気料金の基本料金がデマンドピーク値に比例している場合は、現在のデマンドピーク値と目標値との差であるピークカット量[kW]に基本料金[円/kW]と「12」を乗算することでも、年間削減金額を算出できる。収支演算部117は、年間削減金額に、あらかじめ設定されている検討年数を乗算することで、蓄電池を導入したことで削減できる電気料金(削減金額)を算出する。そして、削減金額から蓄電池の購入金額を減算することで、蓄電池を導入したことによる収支(正の値の場合は利益、負の値の場合は損失)を算出する。また、収支演算部117は、蓄電池の購入金額を年間削減金額で除算することで、投資回収年数を算出する。
【0039】
目標値設定部112でピークカットの目標値が複数設定された場合は、目標値ごとに、期間設定部113による放電期間および充電期間の設定、積算値算出部114による放電積算値および充電積算値の算出、最大値検出部115による最大値の検出、容量演算部116による蓄電池容量の演算、および、収支演算部117による収支と投資回収年数の演算が行われる。これにより、目標値設定部112で設定された目標値ごとの蓄電池容量、収支および投資回収年数が算出される。
【0040】
表示制御部118は、表示部14の表示装置に表示させる表示画像を生成するものである。表示制御部118は、容量演算部116が算出した蓄電池容量、および、収支演算部117が算出した収支および投資回収年数に基づいて表示画像を生成して、表示部14の表示装置に表示させる。また、目標値設定部112でピークカットの目標値が複数設定された場合は、表示制御部118は、目標値ごとに算出された蓄電池容量、収支および投資回収年数に基づいて、一覧表およびグラフを作成して、表示部14の表示装置に表示させる。一覧表およびグラフは、1つの画面で表示するようにしてもよいし、操作者の操作により、一覧表を表示する画面とグラフを表示する画面とを切り替えるようにしてもよい。
【0041】
図3(a)は、一覧表を表示する表示画像の一例を示す図である。
図3(a)においては、ピークカットの目標値の代わりに、ピークカット量を用いている。
図3(a)は、ピークカット量を0[kW]、10[kW]、20[kW]、30[kW]、40[kW]、50[kW]とした場合に算出された各蓄電池容量に基づいて、蓄電池容量、蓄電池の購入金額(蓄電池料金)、削減金額、蓄電池を導入したことによる収支(利益)、および、投資回収年数を一覧表として表示している。なお、この例では、検討年数を20年としている。
図3(a)に示す一覧表によると、ピークカット量が大きくなるにつれて、蓄電池容量および蓄電池料金が大きくなっている。また、ピークカット量が大きくなるにつれて、削減金額も大きくなっている。しかし、蓄電池料金の増加傾向と削減金額の増加傾向とは異なっており、利益は、ピークカット量が大きくなるにつれて一旦は増加するが、その後減少している。
図3(a)の場合、ピークカット量を10[kW](蓄電池容量を30[kWh])とした場合、または、ピークカット量を20[kW](蓄電池容量を113[kWh])とした場合に、利益が出ることが判る。また、例えばピークカット量を10[kW](蓄電池容量を30[kWh])とする場合は、8.3年以上使用すれば、蓄電池購入の投資を回収できることが判る。
【0042】
図3(b)は、グラフを表示する表示画像の一例を示す図である。
図3(b)は、
図3(a)に示す一覧表の情報をグラフで表したものである。算出されたデータの間のデータは、例えばスプライン補完によって補完されている。なお、データの補完方法は限定されない。当該グラフにおいては、グラフaが蓄電池容量に応じた利益を示しており、グラフbが蓄電池容量に応じたピークカット量を示しており、グラフcが蓄電池容量に応じた投資回収年数を示している。横軸は蓄電池容量を表しており、左側の縦軸は利益を表しており、右側の縦軸はピークカット量および投資回収年数を表している。
図3(b)に示すグラフによると、蓄電池容量を約15[kWh]から約180[kWh]とした場合に利益が出ること、約40[kWh]とした場合に利益が最大になることが判る(グラフa参照)。また、例えば蓄電池容量を300[kWh]とする場合は、約25年以上使用すれば、蓄電池購入の投資を回収できることが判る(グラフc参照)。
【0043】
なお、収支演算部117が最も利益の高くなる蓄電池容量を判断して、表示制御部118が表示画像にその蓄電池容量を推薦する記載を追加するようにしてもよい。例えば、
図3(a)の場合、蓄電池容量を30[kWh]とした場合に利益が最大になるので、30[kWh]の欄にマーカを付して表示するようにしてもよい。また、
図3(b)の場合、蓄電池容量を約40[kWh]とした場合に利益が最大になるので、該当する蓄電池容量の位置に線を追加するようにしてもよい。また、推薦する蓄電池容量を文章で記載するようにしてもよい。「収支演算部117」および「表示制御部118」が、本発明の「判断情報生成手段」に相当する。
【0044】
次に、蓄電池容量演算処理の処理手順について、
図4~
図6に示すフローチャートを参照して説明する。
【0045】
図4は、制御部11が行う蓄電池容量演算処理を説明するためのフローチャートの一例を示す図である。当該蓄電池容量演算処理は、例えば、メニュー画面で操作者が蓄電池容量演算を選択した場合に開始される。なお、蓄電池容量演算処理を開始する前に、デマンド値データが読み込まれて、各種設定値(ピークカットの目標値、充電率の上限値、下限値、蓄電池単価、電気料金の基本料金、および検討年数など)が設定されている必要がある。デマンド値データの読み込みや、各種設定値の設定は、操作者がメニュー画面で該当するメニューを選択して、画面の表示に従って行うようにすればよい。
【0046】
まず、初期設定が行われる(S1)。具体的には、各変数の初期化などが行われる。次に、期間設定処理が行われる(S2)。期間設定処理は、放電期間と充電期間とを設定し、各放電期間の放電積算値、および、各充電期間の充電積算値を算出する処理である。期間設定処理の詳細については後述する。
【0047】
次に、期間設定処理によって設定された放電期間があるか否かが判別される(S3)。放電期間がある場合(S3:YES)、1日の放電電力量が充電電力量より小さいか否かが判別される(S4)。当該判別は、後述する期間設定処理のステップS32(
図5参照)での演算結果に基づいて行われる。1日の放電電力量が充電電力量より小さい場合(S4:YES)、ステップS6に進む。ステップS3において、放電期間がない場合(S3:NO)、つまり、常に充電期間である場合、以降の処理を行うことができないので、処理が失敗したと判断され、エラー表示が行われて(S5)、蓄電池容量演算処理が終了する。また、ステップS4において、1日の放電電力量が充電電力量以上である場合(S4:NO)、蓄電池が使用するにつれ蓄電率が減少してしまうので適切でないと判断され、エラー表示が行われて(S5)、蓄電池容量演算処理が終了する。エラー表示は、処理が失敗した旨を表示するだけでもよいし、エラーの原因も併せて表示するようにしてもよい。例えば、ピークカットの目標値が大きすぎたり、小さすぎたりすることがエラーの原因であれば、ピークカットの目標値の設定を見直すように促す表示を行うようにしてもよい。なお、ステップS3およびS4以外の判別も行うようにしてもよい。
【0048】
ステップS6では、最大値検出処理が行われる(S6)。最大値検出処理は、最大放電量を決定するための最大値を検出する処理である。最大値検出処理の詳細については後述する。
【0049】
次に、必要な蓄電池容量が演算される(S7)。具体的には、容量演算部116によって、最大値検出処理で検出された最大値により決定された最大放電量と、あらかじめ設定されている充電率上限値および充電率下限値とから、蓄電池容量が演算される。次に、演算された蓄電池容量が適切であるかどうかの確認が行われる(S8)。具体的には、演算された蓄電池容量の蓄電池が設けられた状態でシミュレーションを行い、演算された蓄電池容量が適切かどうかを検証する。適切でない場合は、蓄電池容量の微調整が行われる。
【0050】
次に、収支演算が行われる(S9)。具体的には、収支演算部117によって、蓄電池容量と、あらかじめ設定されている蓄電池単価、電気料金の基本料金、および検討年数とに基づいて、収支および投資回収年数が演算される。そして、表示制御部118によって、表示画像が生成され、表示部14の表示装置に表示させて(S10)、蓄電池容量演算処理が終了する。
【0051】
図5は、期間設定処理を説明するためのフローチャートの一例を示す図である。当該期間設定処理は、
図4に示すフローチャートのステップS2に示すサブルーチンである。
【0052】
まず、変数kがデマンド数以下であるか否かが判別される(S21)。デマンド数は、デマンド値データのデータ数、すなわち、デマンド時限の数である。本実施形態では、一日(24時間)が30分間のデマンド時限で区切られているので、デマンド数は「48」である。変数kは、デマンド時限を順にたどっていくための変数であり、「1」からデマンド数「48」まで変化する。変数kには、初期値として「1」が入力されている。変数kがデマンド数以下の場合(S21:YES)、以下の期間判別処理(S22~S33)が行われ、変数kがデマンド数より大きくなった場合(S21:NO)、ステップS34に進んで、期間まとめ処理(S34~S38)が行われる。
【0053】
期間判別処理(S22~S33)においては、まず、k番目のデマンド時限のデマンド値から、目標値設定部112で設定されたピークカットの目標値を減算した差分値が変数tmpに入力される(S22)。次に、変数tmpが「0」以上であるか否かが判別される(S23)。変数tmpが「0」以上である場合(S23:YES)、すなわち、k番目のデマンド時限のデマンド値が目標値以上の場合、k番目のデマンド時限が放電期間に該当すると判断されて、ステップS24に進む。
【0054】
ステップS24では、kが「1」であるか否かが判別される(S24)。すなわち、最初のデマンド時限の処理であるか否かが判別される。kが「1」でない場合(S24:NO)、前回の変数tmpが「0」未満であるか否かが判別される(S25)。前回の変数tmpが「0」未満である場合(S25:YES)、すなわち、(k-1)番目のデマンド時限が充電期間に該当する場合、k番目のデマンド時限から新たな放電期間が開始されるので、放電期間番号を示す変数hが「1」増加され、h番目の放電期間の放電積算値を示す変数h#sum(h)に、k番目のデマンド時限の放電電力を示す変数tmpが入力され(S26)、ステップS32に進む。変数hには、初期値として「0」が入力されている。前回の変数tmpが「0」以上の場合(S25:NO)、すなわち、(k-1)番目のデマンド時限が放電期間に該当する場合、同じ放電期間の放電積算値を示す変数h#sum(h)に、k番目のデマンド時限の放電電力を示す変数tmpが加算され(S27)、ステップS32に進む。ステップS24において、kが「1」である場合(S24:YES)、最初のデマンド時限の処理なので、ステップS26に進み、新たな放電期間の開始として、変数hが「1」増加され(初期値が「0」なので「1」になる)、変数h#sum(1)に、1番目のデマンド時限の放電電力量を示す変数tmpが入力される。
【0055】
ステップS23において、変数tmpが「0」未満である場合(S23:NO)、すなわち、k番目のデマンド時限のデマンド値が目標値未満の場合、k番目のデマンド時限が充電期間に該当すると判断されて、ステップS28に進む。
【0056】
ステップS28では、kが「1」であるか否かが判別される(S28)。すなわち、最初のデマンド時限の処理であるか否かが判別される。kが「1」でない場合(S28:NO)、前回の変数tmpが「0」以上であるか否かが判別される(S29)。前回の変数tmpが「0」以上である場合(S29:YES)、すなわち、(k-1)番目のデマンド時限が放電期間に該当する場合、k番目のデマンド時限から新たな充電期間が開始されるので、充電期間番号を示す変数jが「1」増加され、j番目の充電期間の充電積算値を示す変数j#sum(j)に、k番目のデマンド時限の充電電力を示す変数tmpが入力され(S30)、ステップS32に進む。変数jには、初期値として「0」が入力されている。前回の変数tmpが「0」未満の場合(S29:NO)、すなわち、(k-1)番目のデマンド時限が充電期間に該当する場合、同じ充電期間の充電積算値を示す変数j#sum(j)に、k番目のデマンド時限の充電電力を示す変数tmpが加算され(S31)、ステップS32に進む。ステップS28において、kが「1」である場合(S28:YES)、最初のデマンド時限の処理なので、ステップS30に進み、新たな充電期間の開始として、変数jが「1」増加され(初期値が「0」なので「1」になる)、変数j#sum(1)に、1番目のデマンド時限の放電電力量を示す変数tmpが入力される。
【0057】
ステップS32では、全てのデマンド時限での放電電力および充電電力を積算するための変数sumに、変数tmpが加算される(S32)。変数sumには、初期値として「0」が入力されている。期間設定処理が終了したときには、変数sumは、全てのデマンド時限での放電電力および充電電力を積算した値となっている。変数sumが「0」より小さい場合、1日の放電電力量が充電電力量より大きいと判断できる。変数sumの値は、蓄電池容量演算処理におけるステップS4(
図4参照)での判別に用いられる。そして、変数kが1増加されて、ステップS21に戻る。
【0058】
期間まとめ処理(S34~S38)においては、まず、最後の変数tmpが「0」以上であるか否かが判別される(S34)。最後の変数tmpが「0」以上の場合(S34:YES)、最初の変数tmpが「0」以上であるか否かが判別される(S35)。最初の変数tmpも「0」以上の場合(S35:YES)、最初のデマンド時限および最後のデマンド時限がともに放電期間であると判断され、最初の放電期間と最後の放電期間が1つの放電期間にまとめられて、期間設定処理が終了する。具体的には、最初の放電期間の放電積算値を示す変数h#sum(1)に、最後の放電期間の放電積算値を示す変数h#sum(LAST)が加算され、放電期間番号を示す変数hが「1」減少される(S36)。ステップS35において、最初の変数tmpが「0」未満の場合は(S35:NO)、最後のデマンド時限が放電期間であり、最初のデマンド時限が充電期間なので、放電期間のまとめ処理は行われず、期間設定処理が終了する。
【0059】
S34において、最後の変数tmpが「0」未満の場合(S34:NO)、最初の変数tmpが「0」未満であるか否かが判別される(S37)。最初の変数tmpも「0」未満の場合(S37:YES)、最初のデマンド時限および最後のデマンド時限がともに充電期間であると判断され、最初の充電期間と最後の充電期間が1つの充電期間にまとめられて、期間設定処理が終了する。具体的には、最初の充電期間の充電積算値を示す変数j#sum(1)に、最後の充電期間の充電積算値を示す変数j#sum(LAST)が加算され、充電期間番号を示す変数jが「1」減少される(S38)。ステップS37において、最初の変数tmpが「0」以上の場合は(S37:NO)、最後のデマンド時限が充電期間であり、最初のデマンド時限が放電期間なので、充電期間のまとめ処理は行われず、期間設定処理が終了する。
【0060】
図6は、最大値検出処理を説明するためのフローチャートの一例を示す図である。当該最大値検出処理は、
図4に示すフローチャートのステップS6に示すサブルーチンである。
【0061】
まず、変数iがh#max以下であるか否かが判別される(S41)。h#maxは、放電期間番号を示す変数hの最大値であり、放電期間の数を示している。蓄電池容量演算処理(
図4参照)のステップS2の期間設定処理(
図5参照)の終了時に、変数hが放電期間の数になっているので、変数hの値がh#maxとして設定される。
図2に示す例では、h#max=4になる。変数iは、放電期間を順にたどっていくための変数であり、「1」からh#maxまで変化する。変数iには、初期値として「1」が設定されている。変数iがh#max以下である場合(S41:YES)、i番目の放電期間を開始点として、以下の最大値探索処理(S42~S53)が行われ、変数iがh#maxより大きくなった場合(S41:NO)、最大値検出処理が終了する。つまり、最大値検出処理は、各放電期間を順に開始点に設定しながら、最大値探索処理を行うものである。
【0062】
最大値探索処理(S42~S53)においては、まず、変数mに変数iの値が入力され、変数Xに「0」が入力される(S42)。変数mは、放電期間および充電期間を順にたどっていくための変数であり、「1」からh#maxの間で変化する。変数Xは、放電積算値および充電積算値を積算していくための変数であり、「0」に初期化される。次に、変数Xにm番目の放電期間の放電積算値を示す変数h#sum(m)が加算される(S43)。次に、変数Xが最大値X#maxより大きいか否かが判別される(S44)。最大値X#maxは、変数Xの最大値を示す変数であり、初期値として「0」が設定されている。変数Xが最大値X#maxより大きい場合(S44:YES)、最大値X#maxに変数Xの値が入力される(S45)。一方、変数Xが最大値X#max以下の場合(S44:NO)、ステップS46に進む。つまり、変数Xにh#sum(m)が加算された値が最大値X#maxより大きくなった場合、最大値X#maxを更新する。
【0063】
次に、ステップS46では、変数Xにm番目の充電期間の充電積算値を示す変数j#sum(m)が加算される(S46)。次に、変数Xが「0」より小さいか否かが判別される(S47)。変数Xが「0」より小さい場合(S47:YES)、すなわち、変数Xが負の値になった場合、変数Xに「0」が入力される(S48)。一方、変数Xが「0」以上の場合(S47:NO)、ステップS49に進む。つまり、変数Xにj#sum(m)が加算された値が負の値になった場合、変数Xを「0」にする。これは、当該充電期間の開始時に蓄電池の充電量が負の値になるという現実ではありえない状態を回避するためである。
【0064】
次に、ステップS49では、変数mが「1」であるか否かが判別される(S49)。変数mが「1」でない場合(S49:NO)、変数mから「1」が減じられ(S50)、変数mが「1」である場合(S49:YES)、変数mにh#maxが入力される(S51)。つまり、変数mが、変数iの値から「1」ずつさかのぼってゆき、先頭(m=1)まで来た後は最後(m=h#max)に戻る。
【0065】
次に、ステップS52では、変数mと変数iとが等しいか否かが判別される(S52)。変数mと変数iとが等しくない場合(S52:NO)、ステップS43に戻って、S43~S52が繰り返される。一方、変数mと変数iとが等しい場合(S52:YES)、変数mがひとまわりしたので、S43~S52のループから抜け出して、変数iが1増加されて(S53)、ステップS41に戻る。ステップS41において、変数iがh#maxより大きくなった場合(S41:NO)、最大値検出処理が終了する。このとき、最大値X#maxは、各放電期間を開始点としたときに探索される最大値のうちの最も大きい値になっている。
【0066】
なお、
図6に示すフローチャートは、最初のデマンド時限(0:00~0:30)が充電期間に該当する場合のものである。最初のデマンド時限が放電期間に該当する場合は、ステップS49~S51がステップS46の前に位置するフローチャートになる。最初のデマンド時限が充電期間に該当するか放電期間に該当するかによって、用いるフローチャートを切り替えればよい。
【0067】
なお、
図4~
図6に示すフローチャートは蓄電池容量演算処理の一例であって、制御部11が行う蓄電池容量演算処理は、これに限定されない。
【0068】
図7は、最大値検出処理の変形例を説明するためのフローチャートの一例を示す図である。当該変形例では、変数Xに放電積算値および充電積算値を積算していく代わりに、各デマンド時限のデマンド値からピークカットの目標値を減算した差分値である変数tmpを積算していく。
【0069】
まず、変数kがデマンド数以下であるか否かが判別される(S61)。変数kは、デマンド時限を順にたどっていくための変数であり、「1」からデマンド数(例えば「48」)まで変化する。変数kには、初期値として「1」が入力されている。変数kがデマンド数以下の場合(S61:YES)、k番目のデマンド時限のデマンド値からピークカットの目標値を減算した差分値が変数tmpに入力される(S62)。次に、変数tmpが「0」以上であるか否かが判別される(S63)。変数tmpが「0」以上である場合(S63:YES)、k番目のデマンド時限が放電期間に該当すると判断され、最大値探索処理(S64~S74)が行われて、変数kが1増加されて(S75)、ステップS61に戻る。一方、変数tmpが「0」未満である場合(S63:NO)、k番目のデマンド時限が充電期間に該当すると判断されて、最大値探索処理(S64~S74)が行われずに、変数kが1増加されて(S75)、ステップS61に戻る。これにより、放電期間のデマンド時限のみを開始点として最大値探索処理を行う(充電期間のデマンド時限を開始点とした最大探索処理を行わない)。ステップS61において、変数kがデマンド数より大きくなった場合(S61:NO)、最大値検出処理が終了する。つまり、当該最大値検出処理は、放電期間のデマンド時限を順に開始点に設定しながら、最大値探索処理を行うものである。
【0070】
最大値探索処理(S64~S74)においては、まず、変数mに変数kの値が入力され、変数Xに「0」が入力される(S64)。変数mは、デマンド時限を順にたどっていくための変数であり、「1」からデマンド数の間で変化する。変数Xは、各デマンド時限の変数tmpを積算していくための変数であり、「0」に初期化される。次に、m番目のデマンド時限のデマンド値からピークカットの目標値を減算した差分値が変数tmpに入力され(S65)、変数Xに変数tmpの値が加算される(S66)。変数Xが最大値X#maxより大きい場合(S67:YES)には、最大値X#maxに変数Xの値が入力される(S68)。次に、変数Xが「0」より小さい場合(S69:YES)には、変数Xに「0」が入力される(S70)。次に、変数mが「1」であるか否かが判別される(S71)。変数mが「1」でない場合(S71:NO)、変数mから「1」が減じられ(S72)、変数mが「1」である場合(S71:YES)、変数mにデマンド数が入力される(S73)。ステップS67~S73の各処理は、
図6に示すフローチャートのそれぞれステップS44~S45,S47~S51と同じ処理である。
【0071】
次に、変数mと変数iとが等しいか否かが判別される(S74)。変数mと変数iとが等しくない場合(S74:NO)、ステップS65に戻って、S65~S74が繰り返される。一方、変数mと変数iとが等しい場合(S74:YES)、変数mがひとまわりしたので、S65~S74のループから抜け出して、変数kが1増加されて(S75)、ステップS61に戻る。ステップS61において、変数iがデマンド数より大きくなった場合(S61:NO)、最大値検出処理が終了する。このとき、最大値X#maxは、放電期間の各デマンド時限を開始点としたときに探索される最大値のうちの最も大きい値になっている。
【0072】
なお、放電期間のすべてのデマンド時限を開始点に設定するのではなく、各放電期間の最後のデマンド時限だけを開始点に設定するようにしてもよい。
【0073】
ピークカットの目標値が複数設定されている場合は、蓄電池容量演算処理(
図4参照)において、目標値ごとにステップS1~S9の処理を行って、目標値ごとの蓄電池容量、収支および投資回収年数を算出すればよい。
【0074】
次に、本実施形態に係る蓄電池容量演算装置1の作用および効果について説明する。
【0075】
本実施形態によると、期間設定部113は、デマンド値取得部111が取得したデマンド値データと、目標値設定部112が設定した目標値とから、放電期間および充電期間を設定する。積算値算出部114は、各放電期間の放電積算値、および、各充電期間の充電積算値を算出する。そして、最大値検出部115は、時系列をさかのぼりながら、各放電期間の放電積算値、および、各充電期間の充電積算値を加算してゆき、演算過程における加算値の最大値を検出する。時系列をさかのぼりながら各積算値を加算していくことで、時系列で後の放電期間で必要となる放電電力の積算値である放電積算値を、時系列で先の充電期間で可能になる充電電力の積算値である充電積算値によって打ち消すようにして加算していくことができる。また、最大値検出部115は、開始点を各放電期間で変更しながらこの最大値の検出を行い、最大値の中から最も大きい値を検出する。そして、容量演算部116は、最大値検出部115が検出した最も大きい値に基づいて、必要な蓄電池容量を演算する。蓄電池容量の算出において、放電期間で必要になる放電電力量(放電積算値)を直前の受電期間で可能になる充電電力量(充電積算値)によって打ち消しているので、算出された蓄電池容量が過剰になることを抑制することができ、より最適な蓄電池容量を演算することができる。
【0076】
また、本実施形態によると、目標値設定部112でピークカットの目標値が複数設定された場合は、目標値ごとの蓄電池容量、収支および投資回収年数が算出される。そして、表示制御部118は、これらの算出結果に基づいて、一覧表およびグラフを作成して、表示部14の表示装置に表示させる。表示装置に表示された一覧表またはグラフを見ることで、操作者は、いずれの蓄電池容量とした場合に利益が出るか、投資を回収するには何年かかるかといった情報を認識することができる。これにより、操作者は、蓄電池の導入の判断や、導入する蓄電池の蓄電池容量の判断を行い易くなる。
【0077】
なお、本実施形態では、1日分のデマンド値データを用いる場合について説明したが、これに限られない。例えば、1週間分のデマンド値データを用いるようにしてもよい。例えば工場などでは、1日の各デマンド時限のデマンドの変化が、平日と休日とでは異なる。このような場合には、例えば、月曜日の0:00から日曜日の24:00までの1週間分のデマンド値データを用いるようにすればよい。
【0078】
本実施形態では、まだ蓄電池を導入していない需要家に対して蓄電池を導入する場合の当該蓄電池の蓄電池容量を演算するケースについて説明している。すでに蓄電池を導入している需要家に対して最適な蓄電池容量を提案する場合は、電力会社から取得したデマンドをそのまま用いることはできない。電力会社から取得したデマンドは、現在導入されている蓄電池による充放電が行われた後のデマンドになっているので、デマンド時限ごとの蓄電池による充放電量を用いて、蓄電池による影響を排除したデマンドに変換して用いる必要がある。太陽光発電を行っている場合、太陽光発電により供給される電力の変動の影響を排除するためには、電力会社から取得したデマンドから、デマンド時限ごとの太陽光発電の発電量を削減してから用いるのが望ましい。
【0079】
本実施形態では、蓄電池のCレートを考慮しない場合について説明している。Cレートとは、蓄電池容量に対する放電(充電)電流値の比率である。本実施形態によって演算された蓄電池容量の場合、蓄電池容量としては十分であるが、蓄電池のCレートの制限によっては、放電が間に合わない場合がある。この場合は、蓄電池容量を演算した後に、例えば
図4に示すフローチャートのステップS8の確認処理で、Cレートの制限に合わせても、各デマンド時限で放電が可能となるように、蓄電池容量に微調整すればよい。
【0080】
災害などの緊急事態が発生したときに企業が損害を最小限に抑え、事業の継続や復旧を図るための計画である事業継続計画(Business continuity planning、BCP)に基づいて、蓄電池に常に一定の電力量を残しておく場合は、残しておく電力量を考慮した充電率下限値を設定すればよい。なお、充電率下限値は百分率で設定されるので、蓄電池容量によって電力量が変化する。したがって、蓄電池容量を演算した後に、例えば
図4に示すフローチャートのステップS8の確認処理で、所定の電力量が残せているかを検証し、不足する場合はその不足分を追加した蓄電池容量に微調整すればよい。
【0081】
上記第1実施形態では、期間設定部113が放電期間および充電期間を設定し、積算値算出部114が各放電期間の放電積算値、および、各充電期間の充電積算値を算出する場合について説明したが、これに限られない。放電期間および充電期間を設定せずに、最大値検出手段が、各デマンド時限のデマンド値と目標値との差を差分値として算出し、時系列をさかのぼりながら差分値を加算していくようにしてもよい。この場合について、第2実施形態として、以下に説明する。
【0082】
第2実施形態に係る蓄電池容量演算装置1’の機能ブロック図は、
図1に示す蓄電池容量演算装置1の機能ブロック図において、期間設定部113および積算値算出部114を削除したものとなる。
【0083】
第2実施形態に係る蓄電池容量演算装置1’の最大値検出部115は、放電積算値および充電積算値を加算してゆく代わりに、各デマンド時限のデマンド値から目標値を減算した差分値を加算していく。
【0084】
図8は、第2実施形態に係る蓄電池容量演算処理を説明するためのフローチャートの一例を示す図である。当該蓄電池容量演算処理は、
図4に示す第1実施形態に係る蓄電池容量演算処理のフローチャートにおいて、ステップS2~S5を削除し、ステップS6を
図7に示す最大値検出処理の変形例を示すフローチャート(ステップS61~S75)としたものである。詳細な説明は省略する。
【0085】
本実施形態においては、最大値検出部115は、各デマンド時限のデマンド値と目標値との差を差分値として算出し、時系列をさかのぼりながら差分値を加算してゆき、演算過程における加算値の最大値を検出する。時系列をさかのぼりながら差分値を加算していくことで、時系列で後のデマンド時限で必要となる放電電力量を、時系列で先のデマンド時限で可能になる充電電力量によって打ち消すようにして加算していくことができる。蓄電池容量の算出において、必要になる放電電力量を直前のデマンド時限で可能になる充電電力量によって打ち消しているので、算出された蓄電池容量が過剰になることを抑制することができ、より最適な蓄電池容量を演算することができる。したがって、第1実施形態と同様の効果を奏することができる。また、放電期間および充電期間を設定したり、放電積算値および充電積算値を算出する必要がない。
【0086】
本発明に係る蓄電池容量演算装置およびプログラムは、上述した実施形態に限定されるものではない。本発明に係る蓄電池容量演算装置およびプログラムの各部の具体的な構成は、種々に設計変更自在である。
【符号の説明】
【0087】
1,1' :蓄電池容量演算装置
11 :制御部
111 :デマンド値取得部
112 :目標値設定部
113 :期間設定部
114 :積算値算出部
115 :最大値検出部
116 :容量演算部
117 :収支演算部
118 :表示制御部
12 :記憶部
13 :操作部
14 :表示部
15 :通信部
16 :バス
2 :通信回線
3 :サーバ