(57)【特許請求の範囲】
【請求項１】
複数の太陽電池モジュールの結線パターンを演算することによって太陽光発電を最適化する演算装置であって、
ぞれぞれの前記太陽電池モジュールから、少なくとも電流値を含むパラメータを取得するパラメータ取得部と、
前記パラメータ取得部で取得された前記パラメータに基づいて、前記太陽電池モジュールをクラス分けするクラス分け部と、
前記クラス分け部によるクラス分けに基づいて、前記結線パターンを選択する結線パターン選択部と、を備え、
前記クラス分け部は、前記パラメータが近い前記太陽電池モジュール同士を同じクラスに分け、
前記太陽電池モジュールを直列接続してストリングを形成するストリング形成部を更に備え、
前記クラス分け部は、前記太陽電池モジュールを、少なくとも、第１のクラスと、前記第１のクラスよりパラメータが小さい第２のクラスに分け、
前記ストリング形成部は、前記クラスごとに前記ストリングを形成可能であり、
前記結線パターン選択部は、前記ストリング形成部によって形成された前記ストリングに基づいて、前記結線パターンを選択することを特徴とする太陽光発電を最適化する演算装置。
【請求項２】
前記結線パターン選択部は、
前記太陽電池モジュールの結線によって構成されるアレイの最大出力が最大となるように、前記結線パターンを選択することを特徴とする請求項１記載の太陽光発電を最適化する演算装置。
【請求項３】
前記ストリング形成部は、
前記第１のクラスに属する前記太陽電池モジュールのみを直列接続させた第１のストリングと、
前記第２のクラスに属する前記太陽電池モジュールのみを直列接続させた第２のストリングと、
前記第１のクラスに属する前記太陽電池モジュール、及び前記第２のクラスに属する前記太陽電池モジュールを接続させた第３のストリングと、を形成可能であり、
前記第３のストリングは、
前記第１のクラスに属する前記太陽電池モジュールの前記パラメータに基づいて、前記第２のクラスに属する複数の前記太陽電池モジュール同士を接続することによって形成される擬似モジュールと、
前記第１のクラスに属する前記太陽電池モジュールと、を直列接続することによって形成されることを特徴とする請求項１記載の太陽光発電を最適化する演算装置。
【請求項４】
前記ストリング形成部は、少なくとも前記第１のストリングに対して設定された直列数に基づいて、前記第１のクラスに属する前記太陽電池モジュールを直列接続し、
前記第３のストリングは、前記直列数に満たない数の前記第１のクラスに属する前記太陽電池モジュールを前記擬似モジュールで補うことによって形成されることを特徴とする請求項３記載の太陽光発電を最適化する演算装置。
【請求項５】
前記結線パターン選択部は、複数設定される直列数に対して、少なくとも前記第１のストリング、前記第２のストリング、及び前記第３のストリングの何れかを並列接続することによって形成される各アレイのうち、
前記アレイの最大出力が最も大きくなるときの直列数に係る結線パターンを選択することを特徴とする請求項４記載の太陽光発電を最適化する演算装置。
【請求項６】
前記ストリング形成部は、
前記第１のクラスに属する前記太陽電池モジュールを電流値の順番に並べることによって前記第１のストリング及び前記第３のストリングを形成し、
前記第２のクラスに属する前記太陽電池モジュールのうち、前記第３のストリングに用いられないものを、電流値の順番に並べることによって前記第２のストリングを形成することを特徴とする請求項３〜５の何れか一項記載の太陽光発電を最適化する演算装置。
【請求項７】
前記ストリング形成部は、
前記第１のクラスに属する前記太陽電池モジュールのみを直列接続させた第１のストリングと、
前記第２のクラスに属する前記太陽電池モジュールのみを直列接続させた第２のストリングと、を形成可能であり、
前記第１のストリングによって形成されるアレイの最大出力に基づいて、当該第１のストリングを形成可能であり、
前記第２のストリングによって形成されるアレイの最大出力に基づいて、当該第２のストリングを形成可能であることを特徴とする請求項１記載の太陽光発電を最適化する演算装置。
【請求項８】
前記ストリング形成部は、
前記第１のクラスに属する前記太陽電池モジュールを電流値の順番に並べることによって前記第１のストリングを形成し、
前記第２のクラスに属する前記太陽電池モジュールを電流値の順番に並べることによって前記第２のストリングを形成することを特徴とする請求項７記載の太陽光発電を最適化する演算装置。
【請求項９】
前記結線パターン選択部は、同じクラス内の前記太陽電池モジュールが全て直列に接続される結線パターンを選択することを特徴とする請求項１または２記載の太陽光発電を最適化する演算装置。
【請求項１０】
電流値として、前記太陽電池モジュールの短絡電流、または最大出力動作点における電流値が使用されることを特徴とする請求項１〜９の何れか一項記載の太陽光発電を最適化する演算装置。
【請求項１１】
前記パラメータは、電圧値を更に含むことを特徴とする請求項１〜１０の何れか一項記載の太陽光発電を最適化する演算装置。
【請求項１２】
請求項１〜１１の何れか一項記載の太陽光発電を最適化する演算装置と、複数の太陽電池モジュールと、を備える太陽光発電システム。
【請求項１３】
前記演算装置は、前記パラメータの取得、クラス分け、及び前記結線パターンの選択を定期的に行うことを特徴とする請求項１２記載の太陽光発電システム。
【請求項１４】
請求項１〜１１の何れか一項記載の太陽光発電を最適化する演算装置によって、仮想的に設定された複数の太陽電池モジュールの結線パターンを設定する太陽光発電シミュレーションシステム。
【請求項１５】
複数の太陽電池モジュールの結線パターンを演算することによって太陽光発電を最適化する方法であって、
ぞれぞれの前記太陽電池モジュールから、少なくとも電流値を含むパラメータを取得するパラメータ取得ステップと、
前記パラメータ取得ステップで取得された前記パラメータに基づいて、前記太陽電池モジュールをクラス分けするクラス分けステップと、
前記クラス分けステップによるクラス分けに基づいて、前記結線パターンを選択する結線パターン選択ステップと、
前記太陽電池モジュールを直列接続してストリングを形成するストリング形成ステップと、を備え、
前記クラス分けステップでは、前記パラメータが近い前記太陽電池モジュール同士を同じクラスに分け、
前記クラス分けでは、前記太陽電池モジュールを、少なくとも、第１のクラスと、前記第１のクラスよりパラメータが小さい第２のクラスに分け、
前記ストリング形成ステップでは、前記クラスごとに前記ストリングを形成可能であり、
前記結線パターン選択ステップでは、前記ストリング形成ステップによって形成された前記ストリングに基づいて、前記結線パターンを選択することを特徴とする太陽光発電を最適化する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、太陽光発電を最適化する演算装置、太陽光発電を最適化する方法、太陽光発電システム、及び太陽光発電シミュレーションシステムに関する。
【背景技術】
【０００２】
従来より、複数の太陽電池モジュールを接続することでアレイを形成し、太陽光によって発電する太陽光発電システムが知られている。このような太陽光発電システムにおいて、周囲の木々や建物等により部分的に生じる日影や太陽電池の個体差や入射角度等の影響を考慮しなかった場合、太陽電池モジュールの性能を十分に発揮することができない。これに対し、特許文献１に係る太陽光発電システムでは、太陽電池モジュールのパラメータ（電流値、電圧値）を測定して、当該結果に基づいて結線パターンを最適化している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２１９３４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一方で、近年、太陽光発電システムに含まれる太陽電池モジュールの枚数は増加する傾向にあるが、従来の最適化の方法では、太陽電池モジュールの枚数が多くなった場合に、検討すべき結線パターンが極めて多数になってしまう。その中から最適な結線パターンを選択しようとした場合、演算の負荷が大きくなり、演算の時間がかかり過ぎたり、演算装置に実装されているメモリの量が不足するなどの問題が生じる。
【０００５】
本発明は、このような課題を解決するためになされたものであり、効率よく結線パターンを選択することで演算の負荷を低減しつつ太陽光発電の発電性能を向上できる、太陽光発電を最適化する演算装置、太陽光発電を最適化する方法、太陽光発電システム、及び太陽光発電シミュレーションシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る太陽光発電を最適化する演算装置は、複数の太陽電池モジュールの結線パターンを演算することによって太陽光発電を最適化する演算装置であって、ぞれぞれの太陽電池モジュールから、少なくとも電流値を含むパラメータを取得するパラメータ取得部と、パラメータ取得部で取得されたパラメータに基づいて、太陽電池モジュールをクラス分けするクラス分け部と、クラス分け部によるクラス分けに基づいて、結線パターンを選択する結線パターン選択部と、を備えることを特徴とする。
【０００７】
本発明に係る演算装置によれば、少なくとも各太陽電池モジュールの電流値を含むパラメータに基づいて、クラス分け部が太陽電池モジュールのクラス分けを行っている。すなわち、太陽電池モジュールの数が増加した場合であっても、クラス分けを行うことによって、各クラスでの結線パターンの最適化を行うことが可能であるため、多数の太陽電池モジュールの結線パターンをまとめて演算する場合に比して、演算の負荷を低減することができる。これによって、効率よく結線パターンを選択することで演算の負荷を低減しつつ太陽光発電の発電性能を向上できる。
【０００８】
また、本発明に係る演算装置において、クラス分け部は、パラメータが近い太陽電池モジュール同士を同じクラスに分けることが好ましい。これによって、各クラス内でパラメータが似たもの同士でストリング、アレイを構成することが可能となり、結線パターンの最適化が行い易くなると共に、各太陽電池モジュールの出力を無駄なく有効に利用できる結線パターンを形成し易くなる。
【０００９】
また、本発明に係る演算装置において、太陽電池モジュールを直列接続してストリングを形成するストリング形成部を更に備え、クラス分け部は、太陽電池モジュールを、少なくとも、第１のクラスと、第１のクラスよりパラメータが小さい第２のクラスに分け、ストリング形成部は、クラスごとにストリングを形成可能であり、結線パターン選択部は、ストリング形成部によって形成されたストリングに基づいて、結線パターンを選択することが好ましい。これによりパラメータが大きい太陽電池モジュール同士でストリングを形成し、パラメータが小さい太陽電池モジュール同士でストリングを形成することが可能となる。これにより、パラメータが近いもの同士を直列接続してストリングを形成すればよいのでクラスごとの結線パターンの最適化が行い易くなる。更に、各ストリング内でのモジュール間のパラメータの差（特に電流差）が少ないために、各ストリングを並列接続して形成されるアレイの最大出力を大きくし易くなる（例えば図１３及び図１４参照）。
【００１０】
また、本発明に係る演算装置において、結線パターン選択部は、太陽電池モジュールの結線によって構成されるアレイの最大出力が最大となるように、結線パターンを選択することが好ましい。これによって、太陽光発電に係る発電効率を向上することができる。
【００１１】
また、本発明に係る演算装置では、ストリング形成部は、第１のクラスに属する太陽電池モジュールのみを直列接続させた第１のストリングと、第２のクラスに属する太陽電池モジュールのみを直列接続させた第２のストリングと、第１のクラスに属する太陽電池モジュール、及び第２のクラスに属する太陽電池モジュールを接続させた第３のストリングと、を形成可能であり、第３のストリングは、第１のクラスに属する太陽電池モジュールのパラメータに基づいて、第２のクラスに属する複数の太陽電池モジュール同士を接続することによって形成される擬似モジュールと、第１のクラスに属する太陽電池モジュールと、を直列接続することによって形成されることが好ましい。
【００１２】
本発明に係る演算装置によれば、パラメータが大きい太陽電池モジュールのみで第１のストリングを形成し、パラメータが小さい太陽電池モジュールのみで第２のストリングを形成することが可能となる。これにより、パラメータが近いもの同士を直列接続して各ストリングを形成すればよいのでクラスごとの結線パターンの最適化が行い易くなる。更に、各ストリング内でのモジュール間のパラメータの差（特に電流差）が少ないために、各ストリングを並列接続して形成されるアレイの最大出力を大きくし易くなる。更に、擬似モジュールを用いることによって、第１のストリング相当の電流値を得られる第３のストリングを形成することができるため、全ての太陽電池モジュールを無駄なく利用することができる。
【００１３】
また、本発明に係る演算装置において、ストリング形成部は、少なくとも第１のストリングに対して設定された直列数に基づいて、第１のクラスに属する太陽電池モジュールを直列接続し、第３のストリングは、直列数に満たない数の第１のクラスに属する太陽電池モジュールを擬似モジュールで補うことによって形成されることが好ましい。このように、第１のクラスにおいて直列数に満たないあまりの太陽電池モジュールがあっても、擬似モジュールで補うことができるため、あまりの太陽電池モジュールが無駄になることを防止し、アレイ出力に寄与させることができる。
【００１４】
また、本発明に係る演算装置において、結線パターン選択部は、複数設定される直列数に対して、少なくとも第１のストリング、第２のストリング、及び第３のストリングの何れかを並列接続することによって形成されるアレイのうち、アレイの最大出力が最も大きくなるときの直列数に係る結線パターンを選択することが好ましい。ストリングの直列数を変更するだけで複数パターンの結線パターンの候補を作成でき、その中で最適な直列数を選べばよいだけなので、演算の負荷を極めて低減できる一方、発電効率を向上することができる。
【００１５】
また、本発明に係る演算装置において、ストリング形成部は、第１のクラスに属する太陽電池モジュールを電流値の順番に並べることによって第１のストリング及び第３のストリングを形成し、第２のクラスに属する太陽電池モジュールのうち、第３のストリングに用いられないものを、電流値の順番に並べることによって第２のストリングを形成することが好ましい。単に太陽電池モジュールを電流値の順番に並べればよいだけなので、容易に各ストリングを形成することができる。一方で、順番に並べられることで、各ストリングでは太陽電池モジュール間の電流差が小さくなるため、アレイの最大出力を大きくし易くなる。
【００１６】
また、本発明に係る演算装置では、ストリング形成部は、第１のクラスに属する太陽電池モジュールのみを直列接続させた第１のストリングと、第２のクラスに属する太陽電池モジュールのみを直列接続させた第２のストリングと、を形成可能であり、第１のストリングによって形成されるアレイの最大出力に基づいて、当該第１のストリングを形成可能であり、第２のストリングによって形成されるアレイの最大出力に基づいて、当該第２のストリングを形成可能であることが好ましい。
【００１７】
本発明に係る演算装置によれば、パラメータが大きい太陽電池モジュールのみで第１のストリングを形成し、パラメータが小さい太陽電池モジュールのみで第２のストリングを形成することが可能となる。これにより、電流値が近いもの同士を直列接続して各ストリングを形成すればよいのでクラスごとの結線パターンの最適化が行い易くなる。更に、各ストリング内でのモジュール間のパラメータの差（特に電流差）が少ないために、各ストリングを並列接続して形成されるアレイの最大出力を大きくし易くなる。更に、第１のストリングによって形成されるアレイの最大出力に基づいて、当該第１のストリングを形成し、第２のストリングによって形成されるアレイの最大出力に基づいて、当該第２のストリングを形成するため、それぞれのクラスで独立にアレイの結線パターンを最適化すればよく、演算の負荷を低減することができる。
【００１８】
また、本発明に係る演算装置において、ストリング形成部は、第１のクラスに属する太陽電池モジュールを電流値の順番に並べることによって第１のストリングを形成し、第２のクラスに属する太陽電池モジュールを電流値の順番に並べることによって第２のストリングを形成することが好ましい。単に太陽電池モジュールを電流値の順番に並べればよいだけなので、容易に各ストリングを形成することができる。一方で、順番に並べられることで、各ストリングでは太陽電池モジュール間の電流差が小さくなるため、アレイの最大出力を大きくし易くなる。
【００１９】
また、本発明に係る演算装置において、結線パターン選択部は、同じクラス内の太陽電池モジュールが全て直列に接続される結線パターンを選択することが好ましい。これによって、クラス分けが完了したら直ちに結線パターンも決まるため、演算の負荷を低減することができる。
【００２０】
また、本発明に係る演算装置において、電流値として、例えば、太陽電池モジュールの短絡電流、または最大出力動作点における電流値が使用される。
【００２１】
また、本発明に係る演算装置において、パラメータは、電圧値を更に含むことが好ましい。これによって、太陽電池モジュールの電流値の変化のみならず、電圧値の変化も考慮することができ、より正確な演算が可能となる。
【００２２】
本発明に係る太陽光発電システムは、上述の演算装置と、複数の太陽電池モジュールと、を備えている。上述の演算装置を用いることで、効率よく発電を行うことができる上、結線パターンを決定する場合も演算の負荷を低減することができる。
【００２３】
本発明に係る太陽光発電システムにおいて、演算装置は、パラメータの取得、クラス分け、及び結線パターンの選択を定期的に行うことが好ましい。これによって、環境に合わせて最適に結線パターンを変更することができる。
【００２４】
本発明に係る太陽光発電シュミレーションシステムは、上述の演算装置によって、仮想的に設定された複数の太陽電池モジュールの結線パターンを設定する。上述の演算装置を用いることで、低い演算の負荷にて最適な結線パターンを決定することができる。
【００２５】
本発明に係る太陽光発電を最適化する方法は、複数の太陽電池モジュールの結線パターンを演算することによって太陽光発電を最適化する方法であって、ぞれぞれの太陽電池モジュールから、少なくとも電流値を含むパラメータを取得するパラメータ取得ステップと、パラメータ取得ステップで取得されたパラメータに基づいて、太陽電池モジュールをクラス分けするクラス分けステップと、クラス分けステップによるクラス分けに基づいて、結線パターンを選択する結線パターン選択ステップと、を備える。
【００２６】
本発明に係る方法によれば、少なくとも各太陽電池モジュールの電流値を含むパラメータに基づいて、クラス分け部が太陽電池モジュールがクラス分けを行っている。すなわち、太陽電池モジュールの数が増加した場合であっても、クラス分けを行うことによって、各クラスでの結線パターンの最適化を行うことが可能であるため、多数の太陽電池モジュールの結線パターンをまとめて演算する場合に比して、演算の負荷を低減することができる。これによって、効率よく結線パターンを選択することで演算の負荷を低減しつつ太陽光発電の発電性能を向上できる。
【発明の効果】
【００２７】
本発明によれば、効率よく結線パターンを選択することで演算の負荷を低減しつつ発電性能を向上できる。
【図面の簡単な説明】
【００２８】
【図１】本発明の第１実施形態に係る太陽光発電システムの構成を示すブロック図である。
【図２】本発明の第１実施形態に係る演算装置の処理内容を示すフローチャートである。
【図３】本発明の第１実施形態に係る演算装置の処理内容を示すフローチャートである。
【図４】本発明の第１実施形態に係る演算装置の処理内容を示すフローチャートである。
【図５】本発明の第１実施形態に係る演算装置の処理内容を示すフローチャートである。
【図６】本発明の第１実施形態に係る演算装置の処理内容を示すフローチャートである。
【図７】本発明の第１実施形態に係る演算装置の処理内容を示すフローチャートである。
【図８】本発明の第１実施形態に係る演算装置の処理内容を説明するための概念図である。
【図９】本発明の第１実施形態に係る演算装置の処理内容を説明するための概念図である。
【図１０】本発明の第１実施形態に係る演算装置の処理内容を説明するための概念図である。
【図１１】本発明の第１実施形態に係る演算装置の処理内容を説明するための概念図である。
【図１２】本発明の演算装置の基本概念を説明するための概念図である。
【図１３】本発明の演算装置の基本概念を説明するための概念図である。
【図１４】本発明の演算装置の基本概念を説明するための概念図である。
【図１５】本発明の第２実施形態に係る太陽光発電システムの構成を示すブロック図である。
【図１６】本発明の第２実施形態に係る演算装置の処理内容を示すフローチャートである。
【図１７】本発明の第２実施形態に係る演算装置の処理内容を示すフローチャートである。
【図１８】本発明の第２実施形態に係る演算装置の処理内容を示すフローチャートである。
【図１９】本発明の第２実施形態に係る演算装置の処理内容を示すフローチャートである。
【図２０】本発明の第２実施形態に係る演算装置の処理内容を示すフローチャートである。
【図２１】本発明の第２実施形態に係る演算装置の処理内容を説明するための概念図である。
【図２２】本発明の第２実施形態に係る演算装置の処理内容を説明するための概念図である。
【図２３】本発明の第２実施形態に係る演算装置の処理内容を説明するための概念図である。
【図２４】本発明の第３実施形態に係る太陽光発電システムの構成を示すブロック図である。
【図２５】本発明の第３実施形態に係る演算装置の処理内容を示すフローチャートである。
【図２６】本発明の第３実施形態に係る演算装置の処理内容を示すフローチャートである。
【図２７】本発明の第３実施形態に係る演算装置の処理内容を示すフローチャートである。
【図２８】本発明の第３実施形態に係る演算装置の処理内容を示すフローチャートである。
【図２９】本発明の第３実施形態に係る演算装置の処理内容を説明するための概念図である。
【図３０】本発明の第３実施形態に係る演算装置の処理内容を説明するための概念図である。
【図３１】変形例に係る演算装置の処理内容を示すフローチャートである。
【発明を実施するための形態】
【００２９】
まず、本発明の基本概念について説明する。まず、太陽電池モジュールＭの電流と電圧との関係をグラフにすると、図１２に示すようなＩＶカーブが描かれる。このようなＩＶカーブに対し、太陽電池モジュールＭの出力が最大となる最大出力動作点Ｐｍａｘを設定する。このとき、最大出力動作点Ｐｍａｘに対して長方形を設定すると「長方形の面積＝太陽電池モジュールＭの最大出力」の関係が成り立つ。従ってＩＶカーブを長方形で近似することによって、以降の演算を簡略化することができる。このように近似された長方形を、説明のために以下「出力ブロックＢＬ」と称する。このように近似された出力ブロックＢＬを用いると、複数の太陽電池モジュールＭを直列に接続して、電圧を上げたストリングＳＴの電流と電圧の関係は、図１２（ｂ）のように表される。太陽電池モジュールＭの結合によって形成される出力ブロックＢＬの集合体を以下「出力アセンブリＡＳ」と称する。太陽電池モジュールＭを直列接続したストリングＳＴに対応する出力アセンブリＡＳは、各出力ブロックＢＬを横方向に積むことによって構成される。このストリングＳＴに対する最大出力動作点Ｐｍａｘは、出力アセンブリＡＳの右上の角部に設定される。ストリングＳＴを並列に接続して、電流を上げたアレイＡの電流と電圧の関係は、図１２（ｃ）にように表される。アレイＡに対応する出力アセンブリＡＳは、各ストリングＳＴに対応する出力ブロックＢＬの段を複数段積むことによって構成される。このアレイＡに対する最大出力動作点Ｐｍａｘは、出力アセンブリＡＳの右上の角部に設定される。
【００３０】
図１２（ｃ）のように出力ブロックＢＬの形が全て同じであれば、アレイＡに対応する出力アセンブリＡＳはシンプルな長方形となるため、最大出力動作点Ｐｍａｘを容易に設定できる。しかしながら、図１３（ａ）に示すように、一部の太陽電池モジュールＭが影になる場合がある。このような場合、当該影になっている太陽電池モジュールＭだけ、電流が小さくなり出力ブロックＢＬが低くなる可能性があり、更に、電圧が低くなって出力ブロックＢＬが狭くなる可能性もある。このような場合、図１３（ｂ）の上段に示すように影の部分の太陽電池モジュールＭに対応する出力ブロックＢＬが小さくなる（ここでは、電流のみが小さくなっている）。個々の出力ブロックＢＬが小さくなることで間に空間が開くため、当該空間を埋めるように出力アセンブリＡＳは再構築され、図１３（ｂ）の下段に示すような構成となる。このように歪な出力アセンブリＡＳに対しては、最大出力動作点Ｐｍａｘは一義的に定めることができず、候補点Ｐ１，Ｐ２，Ｐ３のいずれかの点に設定される。しかしながら、候補点Ｐ１を最大出力動作点Ｐｍａｘに設定した場合、実線で示す長方形の範囲内の電力のみが用いられ、それ以外の範囲の電力は無駄になる。候補点Ｐ２を最大出力動作点Ｐｍａｘに設定した場合、点線で示す長方形の範囲内の電力のみが用いられ、それ以外の範囲の電力は無駄になる。候補点Ｐ３を最大出力動作点Ｐｍａｘに設定した場合、一点差線で示す長方形の範囲内の電力のみが用いられ、それ以外の範囲の電力は無駄になる。
【００３１】
ここで、太陽電池モジュールＭの接続の最適化を図り、図１４（ａ）に示すように、影になっていた部分の太陽電池モジュールＭのみでストリングＳＴを構成する。なお、このアレイＡは、太陽電池モジュールＭの位置を物理的に移動しているのではなく、位置はそのままで太陽電池モジュールＭ同士の結線のみを変更することで、このようなアレイＡを形成している。このようなこの場合、図１４（ｂ）に示すように、出力アセンブリＡＳの一段目は、影になるストリングＳＴに対応する出力ブロックＢＬのみで構成されており、高さ（電力）が全て一致している。従って、出力アセンブリＡＳ全体で見ると長方形を描く。このような出力アセンブリＡＳであれば、最大出力動作点Ｐｍａｘを一義的に設定することができ、一部の電力を無駄にすることなく、全ての電力が最大出力に寄与することができる。以上のように、太陽電池モジュールＭの接続関係を最適化することで発電量向上を図ることができる。ここで、太陽電池モジュールＭの枚数が多いと演算量が膨大に増えてしまう。本発明の各実施形態に係る太陽光発電を最適化する演算装置、太陽光発電を最適化する方法、太陽光発電システム及び太陽光発電シミュレーション装置では、太陽電池モジュールＭをクラス分けすることで、少ない演算量にて発電量向上を図ることが可能となる。
【００３２】
［第１実施形態］
図１を参照して、本発明の第１実施形態に係る太陽光発電を最適化する演算装置、太陽光発電システム及び太陽光発電を最適化する方法について詳細に説明する。
【００３３】
図１に示すように、太陽光発電システム１００は、演算装置１と、発電装置２と、パワーコンディショナー３と、を備えている。
【００３４】
発電装置２は、太陽光によって発電する機能を有しており、複数の太陽電池モジュールＭと、検出部４と、結線部６と、を備えている。各太陽電池モジュールＭは平面方向に一間隔で縦横複数列に並べられており、物理的な配置は固定されている。検出部４は、全ての太陽電池モジュールＭのパラメータを検出可能である。検出部４は、パラメータとして、電流値、電圧値を検出することができる。検出部４は、少なくとも電流値を検出する。具体的に、検出部４は、各太陽電池モジュールＭに対して一つずつ設けられた検出センサによって構成されている。検出部４は、検出結果を演算装置１へ出力する機能を有している。結線部６は、演算装置１で選択された結線パターンに基づいて、各太陽電池モジュールＭを結線する機能を有している。結線部６は、物理的な位置によらず、複数の太陽電池モジュールＭをあらゆるパターンにて結線することができる。結線部６は、隣り合っていない太陽電池モジュールＭ同士を直列・並列接続することができる。
【００３５】
パワーコンディショナー３は、発電装置２で発電されたＤＣ電力を変換する機能を有しており、ＤＣ／ＤＣコンバータを備えている。本実施形態においては、発電装置２に対して（すなわち太陽電池モジュールＭのアレイＡに対して）一個のパワーコンディショナー３が設けられていればよい。
【００３６】
演算装置１は、太陽光発電を最適化する機能を有すると共に、太陽光発電システム１００全体の制御を行う機能を有しており、例えば電子制御を行うデバイス（例えばＣＰＵ（Central  Processing  Unit）、ＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）、および入出力インターフェイスを含んで構成されたデバイス）によって構成されている。演算装置１は、複数の太陽電池モジュールＭの最適な結線パターンを演算し、選択する機能を有している。演算装置１は、発電装置２との間で信号の送受信を行う機能を有している。この信号の送受信は無線通信であっても有線通信であってもよい。演算装置１は、パラメータ取得部１１と、クラス分け部１２と、ストリング形成部１３と、擬似モジュール形成部１４と、結線パターン選択部１７と、処理部１８と、記憶部１９と、を備えている。
【００３７】
パラメータ取得部１１は、検出部４の出力を受信することにより、各太陽電池モジュールＭから少なくとも電流値及び電圧値を含むパラメータを取得する機能を有している。
【００３８】
クラス分け部１２は、パラメータに基づいて、各太陽電池モジュールＭをクラス分けする機能を有している。また、クラス分け部１２は、パラメータが近い太陽電池モジュールＭ同士を同じクラスに分ける機能を有し、具体的には、電流値が高いクラスと、電流値が低いクラスとに分ける機能を有している。本実施形態では日向クラスと、当該日向クラスより電圧が低い日影クラスの二クラスに分けているが、更に多数のクラスに分けてよい。なお、クラス分けにあたって、クラスの数に予め制約を設けておいてもよく、クラス内の太陽電池モジュールＭの数に予め制約を設けておいてもよい。それにより、クラス内に含まれる太陽電池モジュールＭの枚数を一定範囲内に収めることができ、演算の負荷を低減できる。
【００３９】
ストリング形成部１３は、クラスごとに太陽電池モジュールＭのストリングＳＴを形成する機能を有している。ストリング形成部１３は、日向クラスに属する太陽電池モジュールＭのみを直列接続させた日向クラスのストリングＳＴ（第１のストリング）と、日影クラスに属する太陽電池モジュールＭのみを直列接続させた日影クラスのストリングＳＴ（第２のストリング）と、日向クラスに属する太陽電池モジュールのあまりモジュールＥＭ、及び日影クラスに属する太陽電池モジュールＭによって構成される擬似モジュールＶＭを直列接続させたストリングＳＴ（第３のストリング）と、を形成可能である。なお、ストリング形成部１３は、各クラスの太陽電池モジュールＭの枚数によって、三種類のストリングＳＴを全て形成する場合もあれば、三つのうちの何れか二つのみのストリングを形成する場合、三つのうちの何れか一つのみのストリングを形成する場合もある。ストリング形成部１３は、設定された直列数に基づいて、日向クラス及び日影クラスに属する太陽電池モジュールＭを直列接続し、あまりモジュールＥＭを含むストリングＳＴについては、直列数に満たない数のあまりモジュールＥＭを擬似モジュールＶＭで補うことによって形成される。この直列数は、パワーコンディショナー３の許容電圧などによって一定範囲の数（例えば５〜７）を設定することが可能であり、ストリング形成部１３は、各直列数に応じたストリングＳＴを形成できる。また、ストリング形成部１３は、日向クラスに属する太陽電池モジュールＭを電流値の順番に並べることによって各ストリングＳＴを形成し、日影クラスに属する太陽電池モジュールＭのうち、擬似モジュールＶＭに用いられないものを、電流値の順番に並べることによってストリングＳＴを形成する機能を有している。
【００４０】
擬似モジュール形成部１４は、日向のクラスに属する太陽電池モジュールＭのパラメータ（本実施形態では電流値）に基づいて、日影のクラスに属する複数の太陽電池モジュールＭを並列接続することによって擬似モジュールＶＭを形成する機能を有している。
【００４１】
結線パターン選択部１７は、クラス分けに基づいて、結線パターンを選択する機能を有しており、太陽電池モジュールＭの結線によって構成されるアレイＡの最大出力が最大となるように、結線パターンを選択する機能を有している。
【００４２】
処理部１８は、上述の各部１１〜１７で行われる処理以外の処理を実行する機能を有している。記憶部１９は、各種情報を記憶する機能を有している。
【００４３】
クラス分けにあたっては、所定の条件、例えばセル温度２５℃、日射強度１ｋＷ／ｍ２、スペクトルＡＭ１．５における太陽電池の最大出力動作電流を使用することも可能であるし、同条件における短絡電流を使用することも可能であるし、他の条件、例えばＮＯＣＴでの電流値を使用することもできる。また、太陽電池の設置角度がモジュールによって異なる場合や、モジュールに発生する影の影響がモジュールによって相違する場合は、各モジュールの電流の予想値を、所定の単数または複数の日時について計算によって求めておき、その結果によって太陽電池モジュール間の結線を最適化してもよい。更に、そのクラス分けを、日時に応じて複数行い、それぞれに対して最適な結線を求めておき、日時によって結線を変更することも可能である。この場合、日時によって変化する最適な結線パターンをきめ細かに実現できるため、設置工事の時にのみ最適化を行うよりも優れた発電量向上効果が得られる。更に、最大出力動作電流または短絡電流を定期的に実測し、その結果に基づいて太陽電池モジュールＭのクラス分け、結線パターンの最適化を定期的に実施してもよい。この場合、実際のパラメータを使用するため、更に優れた発電量向上効果が得られる。
【００４４】
次に、図２〜図１１を参照して、演算装置１の具体的な演算処理の内容について説明する。図２は、演算装置１が太陽電池モジュールの最適な結線パターンを選択する際に実行される処理内容を示すフローチャートである。図２の処理は、結線パターンを選択する際に、所定のタイミングで実行される。図３〜図７は、図２の各処理の具体的な内容を示すフローチャートである。
【００４５】
日影になることによる太陽電池モジュールＭの出力は、電流の変化に比して電圧の変化の方が小さい。本実施形態に係る制御処理では、日影の太陽電池モジュールＭの電圧は変化せず、電流のみが変化するものと近似して演算を行う。図２に示すように、パラメータ取得部１１は、各太陽電池モジュールＭの電流値を取得する（ステップＳ１００）。電流値として、例えば、太陽電池モジュールＭの短絡電流、または最大出力動作点における電流値を使用することができる。次に、クラス分け部１２は、Ｓ１００で取得された電流値に基づいて、各太陽電池モジュールＭのクラス分け処理を実行する（ステップＳ１０２）。クラス分け部１２は、複数の太陽電池モジュールＭを、「日向クラス」と「日影クラス」とに分ける。日影クラスは、日向クラスよりも電流値が低いクラスである。
【００４６】
ここで、図３を参照してＳ１０２のクラス分け処理の詳細について説明する。図３において、クラス分け部１２は、あらゆるパターンで暫定的に「日向クラス」と「日影クラス」とに分けて、最適なパターンを求め、当該組み合わせをクラス分けとして採用する。まず、クラス分け部１２は、各太陽電池モジュールＭを電流値の降順にソートし、電流値の低い方から順に１〜ｎの番号を付す（ステップＳ１３０）。具体的には、図８に示すように、電流値が低い方から順（出力ブロックＢＬの高さが低いものから順に）に太陽電池モジュールＭ１，Ｍ２，…，Ｍｉ，…Ｍｎと番号が付されて並べられる。なお、図８では、理解を容易とするため、太陽電池モジュールＭを出力ブロックＢＬに置き換えて示される。すなわち、日影となる太陽電池モジュールＭは、電流が小さくなって出力ブロックＢＬの高さが低くなるため、薄く示される。以下の図面においても同様である。
【００４７】
次に、クラス分け部１２は、最も電流値が低い一番目の太陽電池モジュールＭ１を日影クラスに加え、その他の全ての太陽電池モジュールＭ２〜Ｍｎを日向クラスに加える（ステップＳ１３２）。また、クラス分け部１２は、パターン番号ｉとして「１」を設定する（ステップＳ１３４）。
【００４８】
次に、クラス分け部１２は、各クラスの乖離度算出処理を実行する（ステップＳ１３６，Ｓ１３８）。具体的な乖離度の演算では、図４に示すように、クラス分け部１２は、同一クラスに属する太陽電池モジュールＭの電流値の平均値を演算する（ステップＳ１５０）。その次に、クラス分け部１２は、クラス内の各太陽電池モジュールＭについて、電流値の平均値からの差の二乗の値をそれぞれ算出し、全ての太陽電池モジュールＭについての当該二乗の値を合計する。クラス分け部１２は、その二乗の値の合計値を、パターン番号ｉでのクラスの乖離度と設定する（ステップＳ１５２）。図４に示す方法にて、クラス分け部１２は、日影クラスの乖離度を算出し（ステップＳ１３６）、日向クラスの乖離度を算出する（ステップＳ１３８）。次に、クラス分け部１２は、Ｓ１３６で算出した日影クラスの乖離度とＳ１３８で算出した日向クラスの乖離度とを合計し、パターン番号ｉでのクラス分け乖離度として設定し、記憶部１９へ記憶させる（ステップＳ１４０）。
【００４９】
次に、クラス分け部１２は、パターン番号ｉがｎ−１まで至ったか否かを判定する（ステップＳ１４２）。Ｓ１４２において、パターン番号ｉがｎ−１まで至っていないと判定された場合、すなわちクラス分け乖離度を算出していないパターンが残っている場合、クラス分け部１２は、パターン番号ｉに１を加算する（ステップＳ１４４）。クラス分け部１２は、新たに設定されたパターン番号ｉにて、ｉ番目の太陽電池モジュールＭｉ（すなわち、前回の演算で日向クラスに分けられていたものの中で最も電流値が低いもの）を日向クラスから日影クラスへ移動させる（ステップＳ１４６）。その後、クラス分け部１２は、Ｓ１３６〜Ｓ１４６の処理を、パターン番号ｉ＝ｎ−１のクラス分け乖離度を算出するまで繰り返し実行する。これにより、パターン番号ｉ＝１〜ｎ−１の全てのクラス分け乖離度が算出される。
【００５０】
パターン番号ｉ＝ｎ−１のクラス分け乖離度が算出されると、Ｓ１４２においてパターン番号ｉがｎ−１になったと判定され、Ｓ１４８の処理へ移行する。クラス分け部１２は、パターン番号ｉ＝１〜ｎ−１のクラスの組み合わせのうち、最もクラス分け乖離度が低くなるパターンを選択する（ステップＳ１４８）。これによって、日向クラスと日影クラスのクラス分け処理が完了し、図３に示す処理が終了する。
【００５１】
図２に戻り、処理部１８は、直列数Ｓとして、予め設定しておいた直列数の中の最低値を設定する（ステップＳ１０４）。直列数Ｓは、太陽電池モジュールＭのアレイＡを構成する際の、ストリングＳＴの直列数であり、パワーコンディショナー３が許容する電圧値で定められる。直列数が大きすぎる時は電圧値が高くなりすぎ、パワーコンディショナー３がダメージを受け、直列数が小さすぎる時は電圧値が低くなりすぎ、パワーコンディショナー３が起動しない可能性がある。本実施形態では、直列数Ｓ＝５〜７に設定されている。従って、Ｓ１０４では、直列数Ｓ＝５が設定される。次に、ストリング形成部１３は、日向クラスのストリング形成処理を実行する（ステップＳ１０６）。なお、以降の説明において、日向クラスの太陽電池モジュールＭ（その出力ブロックＢＬ）を「太陽電池モジュールＭＳ（出力ブロックＢＬＳ）」とし、日影クラスの太陽電池モジュールＭ（その出力ブロックＢＬ）を「太陽電池モジュールＭＤ（出力ブロックＢＬＤ）」として説明する。
【００５２】
ここで、図５を参照して、日向クラスのストリング形成処理の詳細について説明する。図５に示すように、ストリング形成部１３は、日向クラスの太陽電池モジュールＭＳを電流値の高い順に直列数Ｓ枚ずつ組み合わせ、日向ストリングＳＴＳを形成する（ステップＳ１６０）。例えば、図９（ａ）に示すように、図中ＤＲで示すような順番で電流値の高い太陽電池モジュールＭＳから並べられる。直列数Ｓ枚の日向ストリングＳＴＳが形成され、それぞれの日向ストリングＳＴＳは並列に接続される。なお、図９では、厳密には各太陽電池モジュールＭＳ（出力ブロックＢＬＳ）の高さは徐々に低くなるものであるが、後述の日影の「太陽電池モジュールＭＤ（出力ブロックＢＬＤ）」との区別を明確にすべく、全て同じ形状にしている。
【００５３】
次に、ストリング形成部１３は、太陽電池モジュールＭＳの数が直列数Ｓに満たない日向ストリングＳＴＳがあるか否かを判定する（ステップＳ１６２）。図９の例では、最下段の日向ストリングＳＴＳで太陽電池モジュールＭＳが三つ不足している。Ｓ１６２において、直列数Ｓに満たない日向ストリングＳＴＳがあると判定された場合、ストリング形成部１３は、当該日向ストリングＳＴＳの太陽電池モジュールＭＳをｆ個の「あまりモジュールＥＭ」として設定する（ステップＳ１６４）。その後、ストリング形成部１３は、設定した日向ストリングＳＴＳと、あまりモジュールＥＭとを、記憶部１９に記憶させる（ステップＳ１６６）。一方、Ｓ１６２において、直列数Ｓに満たない日向ストリングＳＴＳがないと判定された場合、ストリング形成部１３は、設定した日向ストリングＳＴＳを、記憶部１９に記憶させる（ステップＳ１６６）。
【００５４】
図２に戻り、処理部１８は、あまりモジュールＥＭがあるか否かを判定する（ステップＳ１０８）。具体的には、処理部１８は、図５のＳ１６６において記憶部１９に格納された情報を参照することによって、判定する。Ｓ１０８において、あまりモジュールＥＭが無いと判定された場合、演算処理は、日影クラスのストリング形成処理へ移行する（ステップＳ１１４）。一方、Ｓ１６６において、あまりモジュールＥＭが有ると判定された場合、擬似モジュール形成部１４は、擬似モジュール形成処理を実行する（ステップＳ１１０）。擬似モジュール形成部１４は、あまりモジュールＥＭを有している日向ストリングＳＴＳに対して、日影の太陽電池モジュールＭＤで擬似的に形成されたモジュール（以下、擬似モジュールＶＭとする）を追加することで、不足分の太陽電池モジュールＭＳを補う。
【００５５】
ここで、図６を参照して、擬似モジュール形成処理の詳細について説明する。まず、擬似モジュール形成部１４は、日向ストリングＳＴＳのあまりモジュールの数ｆと、直列数Ｓとから、形成すべき擬似モジュールＶＭの数（Ｓ−ｆ）を演算する（ステップＳ１７０）。図９の例では、あまりモジュールＥＭのモジュール数ｆ＝２で直列数Ｓ＝５であるため、擬似モジュールＶＭは、３つと算出される。
【００５６】
次に、擬似モジュール形成部１４は、日影クラスとして分けられた太陽電池モジュールＭＤの数で、必要とされる擬似モジュールＶＭの数をまかなえるか否かを判定する。具体的には、擬似モジュール形成部１４は、日影クラスとして分けられた太陽電池モジュールＭＤの数をｋとし（ステップＳ１７２）、当該モジュール数ｋが擬似モジュール数（Ｓ−ｆ）以上であるか否かを判定する（ステップＳ１７４）。Ｓ１７４において、擬似モジュール数（Ｓ−ｆ）が日影クラスの太陽電池モジュールＭＤのモジュール数ｋより多いと判定された場合、擬似モジュールＶＭを作成することができないため、擬似モジュールＶＭを形成することなく図６の処理を終了する。
【００５７】
一方、Ｓ１７４において、太陽電池モジュールＭＤのモジュール数ｋが擬似モジュール数（Ｓ−ｆ）以上であると判定された場合、擬似モジュール形成部１４は、日向クラスのあまりモジュールＥＭの平均電流値ＩＯを算出する（ステップＳ１７６）。当該平均電流値ＩＯは、擬似モジュールＶＭを形成する際の、目標電流値として設定される。擬似モジュール形成部１４は、日影クラスの太陽電池モジュールＭＤのうち、電流値の高いものから順に、（Ｓ−ｆ）枚を一並列擬似モジュールＶＭとして割り当てる（ステップＳ１７８）。また、擬似モジュール形成部１４は、割り当てた太陽電池モジュールＭＤを日影クラスから取り除く（ステップＳ１８０）。図１０（ａ）の例では、三つの擬似モジュールＶＭのそれぞれに対して、電流値の高い太陽電池モジュールＭＤから順に一つずつ割り当てられる。このときの割り当て順序も、図９（ａ）に示すＤＲに示す順序に従う。また、割り当てられた三つの太陽電池モジュールＭＤは、日影クラスから除かれている。
【００５８】
次に、擬似モジュール形成部１４は、各擬似モジュールＶＭに対し、日影クラスに残存する太陽電池モジュールＭＤを割り当てて並列接続する。これによって、擬似モジュール形成部１４は、各擬似モジュールＶＭについて、平均電流値ＩＯに近くなる組み合わせを選定する（ステップＳ１８２）。擬似モジュール形成部１４は、選定した太陽電池モジュールＭＤを日影クラスから取り除く（ステップＳ１８４）。また、擬似モジュール形成部１４は、選定した（Ｓ−ｆ）組の擬似モジュールＶＭ（並列接続された太陽電池モジュールＭＤの組み合わせ）を、記憶部１９に記憶させる（ステップＳ１８６）。図１０（ｂ）の例では、既に各擬似モジュールＶＭに割り当てられた太陽電池モジュールＭＤの電流値を補うように、低い電流値の太陽電池モジュールＭＤ中から選定して、擬似モジュールＶＭに割り当てる。また、割り当てられた太陽電池モジュールＭＤは、それぞれの擬似モジュールＶＭの中で並列接続される。Ｓ１８６の処理が完了したら、擬似モジュールＶＭの形成処理が終了し、図６の処理が終了する。
【００５９】
図２に戻り、ストリング形成部１３は、日向クラスのあまりモジュールＥＭと、Ｓ１１０で形成された擬似モジュールＶＭとでストリングＳＴＳを形成する（ステップＳ１１２）。具体的には、ストリング形成部１３は、図９（ｂ）に示すように、各擬似モジュールＶＭ内の太陽電池モジュールＭＤを並列接続し、あまりモジュールＥＭと擬似モジュールＶＭとを直列接続して、一つの日向ストリングＳＴＳを形成する。次に、ストリング形成部１３は、日影クラスのストリングＳＴＤを形成する日影クラスのストリング形成処理を実行する（ステップＳ１１４）。
【００６０】
ここで、図７を参照して、日影クラスのストリング形成処理の詳細について説明する。なお、図６の擬似モジュール形成処理において、擬似モジュールＶＭ作成のために太陽電池モジュールＭＤが使用された場合、図７の処理は、使用された太陽電池モジュールＭＤが日影クラスから除かれた状態にて実行される。まず、ストリング形成部１３は、日影クラス内の太陽電池モジュールＭＤを電流値の高い順に、直列数Ｓ枚ずつ組み合わせ、ストリングＳＴＤを形成する（ステップＳ１９０）。図１１に示す例では、図中ＤＲに示す方向に従って、電流値の高いものから順に太陽電池モジュールＭＤが並べられる。次に、ストリング形成部１３は、モジュール数がＳ枚に満たないストリングＳＴＤが有るか否かを判定する（ステップＳ１９２）。Ｓ１９２において「有る」と判定された場合、ストリング形成部１３は、当該ストリングＳＴＤの太陽電池モジュールＭＤをあまりモジュールＥＭとして認定する（ステップＳ１９４）。一方、Ｓ１９２において「無い」と判定された場合、あまりモジュールＥＭは無いとして、Ｓ１９４の処理がスキップされる。ストリング形成部１３は、日影クラスの太陽電池モジュールＭＤの組み合わせ（ストリングＳＴＤ）と、あまりモジュールＥＭを記憶する（ステップＳ１９６）。Ｓ１９６の処理が完了したら、日影クラスのストリング形成処理が終了し、図７の処理が終了する。
【００６１】
図２に戻り、処理部１８は、日影クラスのあまりモジュールＥＭがあるか否かを判定する（ステップＳ１１６）。具体的には、処理部１８は、図７のＳ１９６において記憶部１９に格納された情報を参照することによって、判定する。Ｓ１１６において、あまりモジュールＥＭが有ると判定された場合、処理部１８は、当該あまりモジュールＥＭは使用しないものと認定する（ステップＳ１１８）。Ｓ１１６において、あまりモジュールＥＭが無いと判定された場合、Ｓ１１８の処理はスキップされる。
【００６２】
次に、ストリング形成部１３は、Ｓ１１０、Ｓ１１２、及びＳ１１４にて形成した日向クラスのストリングＳＴＳ及び日影クラスのストリングＳＴＤを並列に接続し、アレイＡを形成する。更に、ストリング形成部１３は、当該アレイＡでの最大出力動作点Ｐｍａｘを算出し、直列数ＳでのアレイＡとして記憶部１９に記憶させる（ステップＳ１２０）。例えば、図１１の例では、ストリング形成部１３は、日向クラスのストリングＳＴＳ及び日影クラスのストリングＳＴＤを並列接続してアレイＡを構成する。このとき、日影クラスのあまりモジュールＥＭは使用されない。更に、ストリング形成部１３は、作成したアレイＡの出力ブロックＢＬを用いて、図１４（ｂ）に示すものと同趣旨の出力アセンブリＡＳを作成し、最大出力動作点Ｐｍａｘを認定する。
【００６３】
次に、処理部１８は、直列数Ｓが７であるか否かを判定する（ステップＳ１２２）。直列数Ｓが７でない（すなわち５か６）と判定された場合、処理部１８は直列数Ｓに１を加算する（ステップＳ１２４）。また、新たに設定した直列数Ｓにて、Ｓ１０６〜Ｓ１２２の処理を繰返す。これにより、直列数Ｓを一つ増やした場合のアレイＡにおける最大出力動作点Ｐｍａｘを求めることができる。
【００６４】
Ｓ１２２にて直列数Ｓが７であると判定された場合、全ての直列数についてのアレイ形成が終了したとし、結線パターン選択部１７は、直列数Ｓ＝５〜７のそれぞれのアレイＡの最大出力動作点Ｐｍａｘを記憶部１９から読み出すと共に比較し、最もＰｍａｘが大きくなるときのアレイＡの構成を選択する（ステップＳ１２６）。すなわち、結線パターン選択部１７は、当該アレイＡを構成できるような結線パターンを選択する。Ｓ１２６の処理が完了したら、採用すべき結線パターンが決定し、図２の処理が終了する。
【００６５】
次に、本実施形態の作用・効果について説明する。
【００６６】
演算装置１によれば、各太陽電池モジュールＭの電流値を含むパラメータに基づいて、クラス分け部１２が太陽電池モジュールＭのクラス分けを行っている。すなわち、太陽電池モジュールＭの数が増加した場合であっても、クラス分けを行うことによって、各クラスでの結線パターンの最適化を行うことが可能であるため、多数の太陽電池モジュールの結線パターンをまとめて演算する場合に比して、演算の負荷を低減することができる。これによって、効率よく結線パターンを選択することで演算の負荷を低減しつつ発電性能を向上できる。
【００６７】
また、クラス分け部１２は、パラメータが近い太陽電池モジュールＭ同士を同じクラスに分ける。これによって、各クラス内で特性が似たもの同士でストリングＳＴ、アレイＡを構成することが可能となり、結線パターンの最適化が行い易くなると共に、各太陽電池モジュールＭの出力も無駄なく有効に利用できる結線パターンを形成し易くなる。
【００６８】
また、演算装置１によれば、電流値が高い太陽電池モジュールＭのみで日向クラスのストリングＳＴを形成し、電流値が低い太陽電池モジュールＭのみで日影クラスのストリングＳＴを形成することが可能となる。これにより、電流値が近いもの同士を直列接続して各ストリングＳＴを形成すればよいのでクラスごとの結線パターンの最適化が行い易くなる。更に、各ストリングＳＴ内でのモジュール間の電流差が少ないために、各ストリングを並列接続して形成されるアレイの最大出力を大きくし易くなる。すなわち、例えば図１３に示すような歪な出力アセンブリＡＬではなく、四角形に近い出力アセンブリＡＬを形成し易くなり、最大出力動作点Ｐｍａｘを大きくし易くなる。更に、擬似モジュールＶＭを用いることによって、日向クラスのストリングＳＴ相当の電流値を得られるストリングＳＴを形成することができるため、全ての太陽電池モジュールＭを無駄なく利用することができる。
【００６９】
また、本実施形態では、電流値のみに基づいてクラス分けした後で、直列数が揃うようにクラスごとにサブアレイが形成され、各サブアレイを並列に接続して一つのアレイが構成される。電圧は変化しないものと近似して、クラスごとにアレイを形成することで、クラス同士の電圧の差を考慮する必要がなく、簡単に結線パターンを選択することができる。また、本実施形態では、パワーコンディショナー３が発電装置２に対して一個でよい。
【００７０】
また、ストリング形成部１３は、少なくとも日向クラスのストリングＳＴに対して設定された直列数Ｓに基づいて、日向クラスに属する太陽電池モジュールＭを直列接続し、あまりモジュールＥＭを含むストリングＳＴは、直列数Ｓに満たない数のあまりモジュールＥＭを擬似モジュールＶＭで補うことによって形成される。このように、日向クラスにおいて直列数Ｓに満たないあまりモジュールＥＭがあっても、擬似モジュールＶＭで補うことができるため、あまりモジュールＥＭが無駄になることを防止し、アレイ出力に寄与させることができる。
【００７１】
また、結線パターン選択部１７は、複数設定された直列数に対して、各ストリングＳＴを並列接続させて形成される各アレイのうち、アレイの最大出力が最も大きくなるときの直列数に係る結線パターンを選択する。ストリングＳＴの直列数Ｓを変更するだけで複数パターンの結線パターンの候補を作成でき、その中で最適な直列数Ｓを選べばよいだけなので、演算の負荷を極めて低減できる一方、発電効率を向上することができる。
【００７２】
また、ストリング形成部１３は、日向クラスに属する太陽電池モジュールＭを電流値の順番に並べることによって各ストリングＳＴを形成し、日影クラスに属する太陽電池モジュールＭのうち、擬似モジュールＶＭに用いられないものを、電流値の順番に並べることによって日影クラスのストリングＳＴを形成することが好ましい。単に太陽電池モジュールＭを電流値の順番に並べればよいだけなので、容易に各ストリングＳＴを形成することができる。一方で、順番に並べられることで、各ストリングＳＴ内では太陽電池モジュールＭ間の電流差が小さくなるため、アレイＡの最大出力を大きくし易くなる。
【００７３】
［第２実施形態］
第２実施形態に係る演算装置、太陽光発電システム及び太陽光発電を最適化する方法について説明する。第２実施形態では、日影の影響による各太陽電池モジュールの電流値のみならず電圧値の変化も考慮している点、各クラスごとの最大出力を考慮して結線パターンを選択する点で、主に第１実施形態と異なっている。図１５に示すように、太陽光発電システム２００は、演算装置２０と、発電装置２と、パワーコンディショナー３と、を備えている。発電装置２の構成は第１実施形態と同様である。パワーコンディショナー３は、クラスの数に応じて複数設けられている。
【００７４】
演算装置２０は、パラメータ取得部２１と、クラス分け部２２と、ストリング形成部２３と、モジュール調整部２４と、結線パターン選択部２７と、結線パターン選択部２７と、処理部２８と、記憶部２９と、を備えている。
【００７５】
パラメータ取得部２１は、検出部４の出力を受信することにより、各太陽電池モジュールＭから少なくとも電流値及び電圧値を含むパラメータを取得する機能を有している。
【００７６】
クラス分け部２２は、パラメータに基づいて、各太陽電池モジュールＭをクラス分けする機能を有している。また、クラス分け部２２は、パラメータが近い太陽電池モジュールＭ同士を同じクラスに分ける機能を有し、具体的には、パラメータが大きいクラスと、パラメータが小さいクラスとに分ける機能を有している。本実施形態では最もパラメータが大きいクラスα１と、中間のクラスα２と、パラメータが小さいクラスα３の三クラスに分けているが、更に多数のクラスに分けてよい。なお、クラス分けにあたって、クラスの数に予め制約を設けておいてもよく、クラス内の太陽電池モジュールＭの数に予め制約を設けておいてもよい。それにより、クラス内に含まれる太陽電池モジュールＭの枚数を一定範囲内に収めることができ、演算の負荷を低減できる。
【００７７】
ストリング形成部２３は、クラスごとに太陽電池モジュールＭのストリングを形成する機能を有している。ストリング形成部２３は、一のクラスに属する太陽電池モジュールＭのみを直列接続させたストリングＳＴ（第１のストリング）と、それより一つ下位のクラスに属する太陽電池モジュールＭのみを直列接続させたストリングＳＴ（第２のストリング）と、を形成可能である。また、ストリング形成部２３は、各クラスのストリングによって形成されるアレイの最大出力に基づいて、それぞれのクラスのストリングを形成する機能を有している。なお、ストリング形成部２３は、各クラスの太陽電池モジュールＭの枚数によって、二種類のストリングＳＴを全て形成する場合もあれば、二つのうちの何れか一つのみのストリングを形成する場合もある。ストリング形成部２３は、それぞれのクラスについて設定された直列数に基づいて、各クラスに属する太陽電池モジュールＭをそれぞれ直列接続する。この直列数は、パワーコンディショナー３の許容電圧などによって一定範囲の数（例えば５〜７）を設定することが可能であり、ストリング形成部２３は、各直列数に応じたストリングＳＴを形成できる。また、ストリング形成部２３は、一のクラスに属する太陽電池モジュールＭを電流値の順番に並べることによって当該クラスに対応するストリングを形成し、一つ下位のクラスに属する太陽電池モジュールＭを電流値の順番に並べることによって当該クラスに対応するストリングＳＴを形成する機能を有している。
【００７８】
モジュール調整部２４は、各クラス間で太陽電池モジュールの調整を行う機能を有している。具体的には、モジュール調整部２４は、各クラスでのストリングのあまりモジュールＥＭの発生状況に応じて、一つ下位のクラスから太陽電池モジュールＭを移動し、あるいは一つ下位のクラスへ太陽電池モジュールＭを移動させる機能を有する。
【００７９】
結線パターン選択部２７は、クラス分けに基づいて、結線パターンを選択する機能を有しており、太陽電池モジュールＭの結線によって構成されるアレイＡの最大出力が最大となるように、結線パターンを選択する機能を有している。
【００８０】
処理部２８は、上述の各部２１〜２７で行われる処理以外の処理を実行する機能を有している。記憶部２９は、各種情報を記憶する機能を有している。
【００８１】
次に、図１６〜図２３を参照して、演算装置２０の具体的な演算処理の内容について説明する。図１６は、演算装置２０が太陽電池モジュールの最適な結線パターンを選択する際に実行される処理内容を示すフローチャートである。図１６の処理は、図２と同様に、結線パターンを選択する際に、所定のタイミングで実行される。図１７〜図２０は、図１６の各処理の具体的内容を示すフローチャートである。
【００８２】
本実施形態に係る制御処理では、日影の太陽電池モジュールＭは、電流・電圧共に変化するものとして演算を行う。また、図１６に示す制御処理の例では、各太陽電池モジュールＭを三つのクラス（α＝１,２,３）に分けるものとする。図１６に示すように、パラメータ取得部２１は、各太陽電池モジュールＭの電流値及び電圧値を取得する（ステップＳ２００）。次に、クラス分け部２２は、Ｓ２００で取得された電流値・電圧値に基づいて、各太陽電池モジュールＭのクラス分け処理を実行する（ステップＳ２０２）。クラス分け部２２は、複数の太陽電池モジュールＭを、「クラスα＝１（最も日向のクラス）」と「クラスα＝２（中間のクラス）」と「クラスα＝３（最も日影のクラス）」とに分ける。
【００８３】
ここで、図１７を参照してＳ２０２のクラス分け処理の詳細について説明する。図１７では、クラス分け部２２は、各太陽電池モジュールＭの出力ブロックＢＬの右上側の点（パラメータの大きさを示している。以下「右上点」という）を考慮することでクラス分けを行っている（Ｋ−ｍｅａｎｓ法）。クラス分け部２２は、各太陽電池モジュールＭをランダムにクラスα１,α２,α３に分ける（ステップＳ２２０）。後にクラス間で調整を行うので、この段階では、各クラスのモジュール数も暫定的に決めてよい。また、この段階では、クラスα１,α２,α３の電流・電圧の大小は考慮せずにクラス分けがなされている。次に、クラス分け部２２は、電流値−電圧値の座標中における各クラスの重心Ｃ１,Ｃ２,Ｃ３を算出する（ステップＳ２２２）。図２１（ａ）に示す例では、暫定的に分けられたクラスα１の中の太陽電池モジュールＭの出力ブロックＢＬを一つずつ座標中に挿入し、他の太陽電池モジュールＭの出力ブロックＢＬとの平均値から重心位置を算出する。当該演算をクラスα１中の全ての太陽電池モジュールＭについて行うことで、図２１（ａ）に示すＣ１が、クラスα１の重心として設定される。クラスα２,α３についても同様に演算することで、重心Ｃ２,Ｃ３が設定される。
【００８４】
次に、クラス分け部２２は、クラス分けとは関係無しに、全ての太陽電池モジュールＭについて、その右上点Ｇと、各クラスの重心Ｃ１,Ｃ２,Ｃ３との距離を演算する（ステップＳ２２４）。また、クラス分け部２２は、全ての太陽電池モジュールＭについて、クラスα１,α２,α３のうち、最も距離の近い重心が属するクラスに割り当て直す（ステップＳ２２６）。図２１（ａ）の例では、座標に挿入された太陽電池モジュールＭの出力ブロックＢＬの右上点Ｇは、重心Ｃ２との距離が最も短くなる。従って、当該太陽電池モジュールＭは、クラスα２に割り当て直される。Ｓ２２６で割り当て直した各太陽電池モジュールＭの右上点Ｇに基づいて、各クラスα１,α２,α３の重心Ｃ１,Ｃ２,Ｃ３を再度算出する（ステップＳ２２８）。前回のクラス分けでのクラス分けが十分でない場合、Ｓ２２８で再設定された重心Ｃ１,Ｃ２,Ｃ３は、前回設定されたものと異なるものとなる。クラス分け部２２は、再度算出された重心Ｃ１,Ｃ２,Ｃ３が、前回のものから変化したか否かを判定する（ステップＳ２３０）。当該判定は、完全に前回の重心Ｃ１,Ｃ２,Ｃ３した場合に「変化なし」と判定されてもよく、変化量が所定の範囲内となった場合に「変化なし」と判定されてもよい。Ｓ２３０において変化ありと判定された場合、更に好適にクラス分けをするため、Ｓ２２４〜Ｓ２３０を再び繰返す。
【００８５】
一方、Ｓ２３０において変化なしと判定された場合、クラス分け部２２は、クラスの重心の絶対値の大きいものから順に、各クラスに属する太陽電池モジュールＭの集合を、クラスα１、クラスα２、クラスα３として、記憶部２９に記憶する（ステップＳ２３２）。すなわち、クラス分け部２２は、暫定的クラス名が付された各クラスα１,α２,α３の重心Ｃ１,Ｃ２,Ｃ３のうち、最も絶対値が大きくなるクラスを、「クラスα１」というクラス名に決定する。また、クラス分け部２２は、暫定的クラス名が付された各クラスα１,α２,α３の重心Ｃ１,Ｃ２,Ｃ３のうち、次に絶対値が大きくなるクラスを、「クラスα２」というクラス名に決定する。また、クラス分け部２２は、暫定的クラス名が付された各クラスα１,α２,α３の重心Ｃ１,Ｃ２,Ｃ３のうち、最も絶対値が小さくなるクラスを、「クラスα３」というクラス名に決定する。なお、ここでの重心Ｃ１の絶対値とは、座標の原点（電流値＝０,電圧値＝０の点）と重心Ｃ１との距離である。重心Ｃ２,Ｃ３についても同様である。図２１に示す例では、Ｓ２２２〜Ｓ２３０の処理中では、暫定的クラス名としてクラスα２の重心Ｃ２の絶対値が一番大きく、クラスα１の重心Ｃ１が次に大きいものとして、調整がなされていた。しかし、Ｓ２３２の処理により、図２１（ｂ）に示すように、元々重心Ｃ２を有する「クラスα２」とされていたクラスのクラス名は、「クラスα１」に決定され、重心Ｃ１を有する「クラスα１」とされていたクラスのクラス名は、「クラスα２」に決定される。これにより、「クラスα１」には最も出力が大きくなる太陽電池モジュールＭが属し、「クラスα３」には最も出力が小さくなる太陽電池モジュールＭが属し、「クラスα２」には中間の出力の太陽電池モジュールＭが属することとなる。
【００８６】
図１６に戻り、モジュール調整部２４は、クラス間のモジュール調整処理を実行する（ステップＳ２０４）。当該調整処理では、各クラスで形成されるストリングの直列数を考慮して、各クラスのクラス分けの微調整が行われる。なお、以降の説明において、クラスα１の太陽電池モジュールＭ（その出力ブロックＢＬ）を「太陽電池モジュールＭ１（出力ブロックＢＬ１）」とし、クラスα２の太陽電池モジュールＭ（その出力ブロックＢＬ）を「太陽電池モジュールＭ２（出力ブロックＢＬ２）」とし、クラスα３の太陽電池モジュールＭ（その出力ブロックＢＬ）を「太陽電池モジュールＭ３（出力ブロックＢＬ３）」として説明する。なお、本実施形態でも、直列数Ｓ＝５〜７に設定されている。また、クラスα１内のモジュール数をｍ１とし、クラスα２内のモジュール数をｍ２とし、クラスα３内のモジュール数をｍ３とする。
【００８７】
ここで、図１８を参照して、クラス間のモジュール調整処理の詳細について説明する。図１８に示すように、モジュール調整部２４は、記憶部１９から、クラス分け処理によって割り振られた各クラスα１,α２,α３の太陽電池モジュールＭの集合を読み出す（ステップＳ２４０）。モジュール調整部２４は、クラスα１の直列数Ｓ１の初期値として５を設定する（ステップＳ２４２）。次に、モジュール調整部２４は、「モジュール数ｍ１／直列数Ｓ１」の余りａ１を算出する（ステップＳ２４４）。また、モジュール調整部２４は、余りａ１が直列数Ｓ１の半分よりも小さいか否かを判定する（ステップＳ２４６）。
【００８８】
Ｓ２４６において、余りａ１がＳ１／２より小さいと判定された場合、モジュール調整部２４は、余りａ１枚分の太陽電池モジュールＭ１をクラスα１からクラスα２に移動させ、他己相反度Ｒ１を求める処理を実行する（ステップＳ２４８）。この場合は、クラスα１での余りが少なく、ストリングを形成するには、一つ下のクラスα２から多くの太陽電池モジュールＭ２を持ってくる必要があるため、余りをクラスα２へ移動しようとするものである。ここで、図１９（ａ）及び図２２を参照して、当該他己相反度Ｒ１を求める処理について説明する。なお「他己相反度」とは、あるクラスに割り振られた太陽電池モジュールを他のクラスに移動する場合に、当該移動モジュールが移動先の他の太陽電池モジュール（または移動元の他の太陽電池モジュール）からどの程度かけ離れているかを示すパラメータである。すなわち、当該移動によって移動先のクラスまたは移動元のクラスがどの程度影響を受けるかを示すパラメータである。ここでは、図１９（ａ）中の記号には、「枚数ｘ＝余りａ１」、「ｉ＝１」、「ｊ＝２」が代入される。
【００８９】
図１９（ａ）に示すように、モジュール調整部２４は、モジュール数ｍ１枚の太陽電池モジュールＭ１の全て（ｋ＝１,２,…ｍ１）の重心に対し、「ｄ１ｆｆ（ｋ）＝クラスα２の重心Ｃ２からの距離ｄ２―クラスα１の重心Ｃ１からの距離ｄ１」を計算する（ステップＳ３００）。なお、図１７でのクラス分け方法より、クラスα１の太陽電池モジュールＭ１の重心は、重心Ｃ２よりも重心Ｃ１に近くなるので、ｄ１ｆｆ（ｋ）は正の値となる。次に、モジュール調整部２４は、ｄ１ｆｆ（ｋ）の小さなものから、「余りａ１」枚分の太陽電池モジュールＭ１をクラスα１からクラスα２へ移動させる移動モジュールＴＭとして、記憶部２９に記憶させる（ステップＳ３０２）。図２２の例では、出力が小さくて重心Ｃ２寄りになるものが、移動モジュールＴＭとして認定される。次に、モジュール調整部２４は、移動モジュールＴＭとして記憶された「余りａ１」枚のモジュールについて、ｄ１ｆｆ（ｋ）の合計値を計算し、当該合計値を他己相反度Ｒ１として取得する（ステップＳ３０４）。
【００９０】
一方、Ｓ２４６において、余りａ１がＳ１／２以上であると判定された場合、モジュール調整部２４は、「直列数Ｓ１−余りａ１」枚分の太陽電池モジュールＭ２をクラスα２からクラスα１に移動させ、他己相反度Ｒ１を求める処理を実行する（ステップＳ２５０）。この場合は、クラスα１での余りが多く、一つ下のクラスα２から少しの太陽電池モジュールＭ２を持ってくれば、ストリングを形成できるため、不足分をクラスα２からクラスα１へ移動しようとするものである。ここでは、図１９（ａ）中の記号には、「枚数ｘ＝直列数Ｓ１−余りａ１」、「ｉ＝２」、「ｊ＝１」が代入される。演算の手順はＳ２４８と同様である。
【００９１】
次に、モジュール調整部２４は、Ｓ２４８またはＳ２５０での処理結果に基づいて、クラスα１及びクラスα２のモジュールの再編成を行う（ステップＳ２５２）。モジュール調整部２４は、Ｓ２４８で移動モジュールＴＭと認定された太陽電池モジュールＭ１を、クラスα１からクラスα２へ移動させる。または、モジュール調整部２４は、Ｓ２５０で移動モジュールＴＭと認定された太陽電池モジュールＭ２を、クラスα２からクラスα１へ移動させる。
【００９２】
次に、モジュール調整部２４は、クラスα２の直列数Ｓ２の初期値として５を設定する（ステップＳ２５４）。次に、モジュール調整部２４は、「モジュール数ｍ２／直列数Ｓ２」の余りａ２を算出する（ステップＳ２５６）。また、モジュール調整部２４は、余りａ２が直列数Ｓ２の半分よりも小さいか否かを判定する（ステップＳ２５８）。
【００９３】
Ｓ２５８において、余りａ２がＳ２／２より小さいと判定された場合、モジュール調整部２４は、余りａ２枚分の太陽電池モジュールＭ２をクラスα２からクラスα３に移動させ、他己相反度Ｒ２を求める処理を実行する（ステップＳ２６０）。この場合は、クラスα２での余りが少なく、ストリングを形成するには、一つ下のクラスα３から多くの太陽電池モジュールＭ３を持ってくる必要があるため、余りをクラスα３へ移動しようとするものである。ここでは、図１９（ａ）中の記号には、「枚数ｘ＝余りａ２」、「ｉ＝２」、「ｊ＝３」が代入される。演算の手順はＳ２４８と同様である。
【００９４】
一方、Ｓ２５８において、余りａ２がＳ２／２以上であると判定された場合、モジュール調整部２４は、「直列数Ｓ２−余りａ２」枚分の太陽電池モジュールＭ３をクラスα３からクラスα２に移動させ、他己相反度Ｒ２を求める処理を実行する（ステップＳ２６２）。この場合は、クラスα２での余りが多く、一つ下のクラスα３から少しの太陽電池モジュールＭ３を持ってくれば、ストリングを形成できるため、不足分をクラスα３からクラスα２へ移動しようとするものである。ここでは、図１９（ａ）中の記号には、「枚数ｘ＝直列数Ｓ２−余りａ２」、「ｉ＝３」、「ｊ＝２」が代入される。演算の手順はＳ２４８と同様である。
【００９５】
次に、モジュール調整部２４は、Ｓ２６０またはＳ２６２での処理結果に基づいて、クラスα２及びクラスα３のモジュールの再編成を行う（ステップＳ２６４）。モジュール調整部２４は、Ｓ２６０で移動モジュールＴＭと認定された太陽電池モジュールＭ２を、クラスα２からクラスα３へ移動させる。または、モジュール調整部２４は、Ｓ２６２で移動モジュールＴＭと認定された太陽電池モジュールＭ３を、クラスα３からクラスα２へ移動させる。
【００９６】
次に、モジュール調整部２４は、クラスα３の直列数Ｓ３の初期値として５を設定する（ステップＳ２６６）。次に、モジュール調整部２４は、「モジュール数ｍ３／直列数Ｓ３」の余りａ３を算出する（ステップＳ２６８）。また、モジュール調整部２４は、余りａ３枚分の太陽電池モジュールＭ３をクラスα３（モジュール数ｍ３）から除く場合の、自己相反度Ｒ３を求める処理を実行する（ステップＳ２７０）。クラスα３では、それより下のクラスが存在しないため、余ったモジュールは直ちに除かれる。
【００９７】
ここで、図１９（ｂ）を参照して、当該自己相反度Ｒ３を求める処理について説明する。なお「自己相反度」とは、クラスα３からモジュールを取り除く場合に、当該モジュールを取り除くことによってクラスα３がどの程度影響を受けるかを示すパラメータである。図１９（ｂ）中の記号には、「枚数ｘ＝余りａ３」が代入される。
【００９８】
図１９（ｂ）に示すように、モジュール調整部２４は、クラスα３に属する太陽電池モジュールＭ３のうち、パラメータの絶対値（例えば図２２に示すように、太陽電池モジュールＭ３の右上点Ｇと、電流値＝０、電圧値＝０の原点との距離）が最も小さい「余りａ３」枚を、クラスα３から取り除く移動モジュールＴＭとして、記憶部２９に記憶させる（ステップＳ３０６）。次に、モジュール調整部２４は、余り３ａ枚分の移動モジュールＴＭについて、パラメータの絶対値の合計を算出し、自己相反度Ｒ３として取得する（ステップＳ３０８）。
【００９９】
図１８に戻り、モジュール調整部２４は、直列数Ｓ１,Ｓ２,Ｓ３に対する相反度Ｒ（＝Ｒ１＋Ｒ２＋Ｒ３）を演算し、当該相反度Ｒと共にそのときの各クラスのモジュール数ｍ１,ｍ２,ｍ３を記憶部２９に記憶させる（ステップＳ２７２）。次に、モジュール調整部２４は、クラスα３の直列数Ｓ３に１を加算する（ステップＳ２７４）。また、モジュール調整部２４は、直列数Ｓ３が７より大きくなったか否かを判定する（ステップＳ２７６）。直列数Ｓ３が７以下の場合は、再びＳ２６８〜Ｓ２７６の処理が繰返される。これにより、直列数Ｓ１＝５、直列数Ｓ２＝５であって、直列数Ｓ３＝５,６,７の全てのパターンでの相反度Ｒとモジュール数ｍ１,ｍ２,ｍ３が記憶される。直列数Ｓ３が７より大きい場合は、モジュール調整部２４は、クラスα２の直列数Ｓ２に１を加算する（ステップＳ２７８）。また、モジュール調整部２４は、直列数Ｓ２が７より大きくなったか否かを判定する（ステップＳ２８０）。直列数Ｓ２が７以下の場合、モジュール調整部２４は、クラスα２,α３のモジュール構成をＳ２５２のものにリセットする（ステップＳ２８２）。その後、再びＳ２５６〜Ｓ２８０の処理が繰返される。これにより、直列数Ｓ１＝５であって、直列数Ｓ２＝５,６,７、直列数Ｓ３＝５,６,７の全てのパターンでの相反度Ｒとモジュール数ｍ１,ｍ２,ｍ３が記憶される。直列数Ｓ１が７より大きい場合は、モジュール調整部２４は、クラスα１の直列数Ｓ１に１を加算する（ステップＳ２８４）。また、モジュール調整部２４は、直列数Ｓ１が７より大きくなったか否かを判定する（ステップＳ２８６）。直列数Ｓ２が７以下の場合、モジュール調整部２４は、クラスα１,α２,α３のモジュール構成をクラス分け処理時のもの（すなわち図１８の処理の開始時のもの）にリセットする（ステップＳ２８８）。その後、再びＳ２４４〜Ｓ２８６の処理が繰返される。これにより、直列数Ｓ１＝５,６,７、直列数Ｓ２＝５,６,７、直列数Ｓ３＝５,６,７の全てのパターンでの相反度Ｒとモジュール数ｍ１,ｍ２,ｍ３が記憶される。
【０１００】
直列数Ｓ１,Ｓ２,Ｓ３の全てのパターンでの演算が終了すると、モジュール調整部２４は、相反度Ｒが最小となっているときの、直列数Ｓ１,Ｓ２,Ｓ３及び各クラスα１,α２,α３のモジュールの集合をストリング形成のための条件として取得し、当該結果を返す。（ステップＳ２９０）。
【０１０１】
図１６に戻り、処理部２８は、ストリングを形成するクラスをα＝１に設定する（ステップＳ２０６）。ストリング形成部２３は、１番目のクラス、すなわちクラスα１についてのストリング形成処理を実行する（ステップＳ２０８）。
【０１０２】
図２０を参照して、所定のクラスのストリング形成処理の詳細について説明する。図２０に示すように、ストリング形成部２３は、クラスα１の直列数Ｓ１と、当該クラスα１の太陽電池モジュールＭ１の集合（図１８のＳ２９０で記憶させた結果）を、記憶部２９から読み出す（ステップＳ３１０）。ストリング形成部２３は、クラスα１に属する太陽電池モジュールＭ１を電流値の降順にソートする（ステップＳ３１２）。ここでは、電圧値は考慮せず、電流値のみを考慮する。ストリング形成部２３は、電流値の大きい方から順に太陽電池モジュールＭ１を選択し、直列数Ｓ１のストリングを形成する（ステップＳ３１４）。また、ストリング形成部２３は、クラスα１内のストリングＳＴのストリング数βを算出する（ステップＳ３１６）。また、ストリング形成部２３は、各ストリングＳＴを電流値の昇順にソートする（ステップＳ３１８）。これによって、図２３（ａ）に示すようなアレイＡ１が形成され、図２３（ｂ）に示すような出力アセンブリＡＬ１が形成される。図２３（ａ）に示すアレイＡ１は、図中にＤＲで示す矢印の方向に向かって、電流値の高いものから順に太陽電池モジュールＭ１が並べられている。電流値の低いものから順に、直列数Ｓ１のストリングＳＴ１,ＳＴ２…ＳＴβ―１,ＳＴβが形成される。また、図２３（ｂ）に示すように、下からのストリングＳＴ１,ＳＴ２…ＳＴβ―１,ＳＴβ順で出力ブロックＢＬ１が積まれ、出力アセンブリＡＬ１が形成される。なお、この段階では、電流値のみを考慮し電圧値が考慮されていないため、各ストリングＳＴの合計電圧値は揃っていない。
【０１０３】
次に、ストリング形成部２３は、最も電流値の低いストリングＳＴ１を読み出す（ステップＳ３２０）。ストリング形成部２３は、ストリングＳＴ１の各太陽電池モジュールＭ１（出力ブロックＢＬ１）を、他のストリングＳＴ２〜ＳＴβの太陽電池モジュールＭ１（出力ブロックＢＬ１）と入れ替えた後、クラスα１内の各ストリングＳＴを並列接続した場合のアレイＡ１の出力を算出し、出力が最大化されたかどうかの判断を行う（ステップＳ３２２）。例えば図２３に示すように、ストリングＳＴ１の何れかの太陽電池モジュールＭ１（出力ブロックＢＬ１）を他のストリングＳＴの何れかの太陽電池モジュールＭ１（出力ブロックＢＬ１）と交換し、再構成されたアレイＡ１での出力を算出する。また、当該再構築によって最大出力が向上したかの判断を行う。次に、ストリング形成部２３は、モジュール入れ替えの効果が無くなったか否かを判定する（ステップＳ３２４）。すなわち、あらゆるパターンでモジュール入れ替えを行い、これ以上再構築してもアレイＡ１の出力を大きくすることができないと判断された場合に、モジュール入れ替えの効果が無くなったと判定される。Ｓ３２４において、モジュール入れ替えにより出力の向上が見られた場合は、再びＳ３２２にて他の入れ替えパターンを実行し、より出力を大きくできる組み合わせを形成する。一方、Ｓ３２４において、モジュール入れ替えの効果が無くなったと判定された場合、ストリング形成部２３は、クラスα１のストリングＳＴ１に属する太陽電池モジュールＭ１を確定し、記憶部２９に記憶させる。
【０１０４】
その後、ストリング形成部２３は、ストリング番号ｉがβ―１になったか否かを判定する（ステップＳ３２８）。すなわち、ストリング形成部２３は、全てのストリングＳＴについて太陽電池モジュールＭ１が確定したかを判定する（なお、電流値が一番大きいストリングＳＴβについては、入れ替える対象となるストリングがないため、モジュール入れ替えを行わない）。Ｓ３２８においてストリング番号ｉがβ―１になっていないと判定されると、ストリング形成部２３は、ストリングの番号ｉに１を加算し（ステップＳ３３０）、Ｓ３２２〜Ｓ３２８の処理を繰返す。このとき、既に確定したストリングＳＴの太陽電池モジュールＭ１（出力ブロックＢＬ１）は、モジュール入れ替えに用いられない。Ｓ３２８においてストリング番号ｉがβ―１になったと判定されたら、全てのストリングＳＴの太陽電池モジュールＭ１の構成が確定したとして、図２０の処理が終了する。
【０１０５】
図１６に戻り、処理部２８は、クラスがα＝３であるか否かを判定する（ステップＳ２１０）。すなわち、全てのクラスについてストリング形成処理が完了したか否かを判定する。Ｓ２１０においてα＝３でないと判定されると、αに１を加算し、Ｓ２０８を繰り返し、次のクラスについてストリング形成処理を行う。これによって、クラスα２及びクラスα３についてのストリングＳＴが形成される。以上のように、各クラスのそれぞれについて、最大出力を大きくできるような結線パターンが形成される。
【０１０６】
結線パターン選択部２７は、各クラスα１,α２,α３の太陽電池モジュールＭの接続形態を採用すべきアレイＡの結線パターンとして選択し、記憶部２９に記憶させる（ステップＳ２１４）。結線パターン選択部２７は、クラスα１について確定された各ストリングＳＴと、クラスα２について確定された各ストリングＳＴと、クラスα３について確定された各ストリングＳＴと、を並列に接続したものを、アレイＡの結線パターンとして選択する。Ｓ２１４の処理が完了したら、採用すべき結線パターンが決定し、図１６の処理が終了する。
【０１０７】
次に、本実施形態の作用・効果について説明する。
【０１０８】
演算装置２０によれば、各太陽電池モジュールＭの電流値を含むパラメータに基づいて、クラス分け部２２が太陽電池モジュールＭのクラス分けを行っている。すなわち、太陽電池モジュールＭの数が増加した場合であっても、クラス分けを行うことによって、各クラスでの結線パターンの最適化を行うことが可能であるため、多数の太陽電池モジュールの結線パターンをまとめて演算する場合に比して、演算の負荷を低減することができる。これによって、効率よく結線パターンを選択することで演算の負荷を低減しつつ発電性能を向上できる。
【０１０９】
また、クラス分け部２２は、パラメータが近い太陽電池モジュールＭ同士を同じクラスに分ける。これによって、各クラス内で特性が似たもの同士でストリングＳＴ、アレイＡを構成することが可能となり、結線パターンの最適化が行い易くなると共に、各太陽電池モジュールＭの出力も無駄なく有効に利用できる結線パターンを形成し易くなる。
【０１１０】
演算装置２０によれば、パラメータの大きい太陽電池モジュールＭのみでクラスα１のストリングＳＴを形成し、パラメータの小さい太陽電池モジュールのみで下位のクラスα２,α３のストリングＳＴを形成することが可能となる。これにより、パラメータが近いもの同士を直列接続して各ストリングＳＴを形成すればよいのでクラスごとの結線パターンの最適化が行い易くなる。更に、各ストリングＳＴ内でのモジュール間の電流差が少ないために、各ストリングＳＴを並列接続して形成されるアレイの最大出力を大きくし易くなる。すなわち、例えば図１３に示すような歪な出力アセンブリＡＬではなく、四角形に近い出力アセンブリＡＬを形成し易くなり、最大出力動作点Ｐｍａｘを大きくし易くなる。更に、クラスα１のストリングＳＴによって形成されるアレイ（クラスα１の出力アセンブリＡＬ）の最大出力に基づいて、当該クラスα１のストリングＳＴを形成し、クラスα２のストリングＳＴによって形成されるアレイ（クラスα２の出力アセンブリＡＬ）の最大出力に基づいて、当該クラスα２のストリングＳＴを形成し、クラスα３のストリングＳＴによって形成されるアレイ（クラスα３の出力アセンブリＡＬ）の最大出力に基づいて、当該クラスα３のストリングＳＴを形成するため、それぞれのクラスで独立にアレイの結線パターンを最適化すればよく、演算の負荷を低減することができる。
【０１１１】
また、本実施形態では、電流値に基づいてクラス分けした後で、クラスごとにアレイが構成される。クラスごとにパワーコンディショナー３を設け、クラスごとにアレイを形成することで、クラス同士の電圧の差を考慮する必要がなく、簡単に結線パターンを選択することができる。
【０１１２】
また、ストリング形成部２３は、クラスα１に属する太陽電池モジュールＭ１を電流値の順番に並べることによってクラスα１のストリングＳＴを形成し、クラスα２に属する太陽電池モジュールＭ２を電流値の順番に並べることによってクラスα２のストリングＳＴを形成し、クラスα３に属する太陽電池モジュールＭ３を電流値の順番に並べることによってクラスα３のストリングＳＴを形成している。単に太陽電池モジュールＭを電流値の順番に並べればよいだけなので、容易に各ストリングＳＴを形成することができる。一方で、順番に並べられることで、各ストリングＳＴでは太陽電池モジュールＭ間の電流差が小さくなるため、アレイＡの最大出力を大きくし易くなる。
【０１１３】
［第３実施形態］
第３実施形態に係る演算装置、太陽光発電システム及び太陽光発電を最適化する方法について説明する。第３実施形態では、日影の影響による各太陽電池モジュールの電流値のみならず電圧値の変化も考慮している点、擬似モジュールＶＭを並列接続のみならず直列接続も用いて形成する点で、主に第１実施形態と異なっている。図２４に示すように、太陽光発電システム３００は、演算装置３０と、発電装置２と、パワーコンディショナー３と、を備えている。発電装置２の構成は第１実施形態と同様である。パワーコンディショナー３は、発電装置２に対して一個設けられている。
【０１１４】
演算装置３０は、パラメータ取得部３１と、クラス分け部３２と、ストリング形成部３３と、擬似モジュール形成部３４と、結線パターン選択部３７と、処理部３８と、記憶部３９と、を備えている。
【０１１５】
パラメータ取得部３１は、検出部４の出力を受信することにより、各太陽電池モジュールＭから少なくとも電流値及び電圧値を含むパラメータを取得する機能を有している。
【０１１６】
クラス分け部３２は、パラメータに基づいて、各太陽電池モジュールＭをクラス分けする機能を有している。また、クラス分け部３２は、パラメータが近い太陽電池モジュールＭ同士を同じクラスに分ける機能を有し、具体的には、電流値が高いクラスと、電流値が低いクラスとに分ける機能を有している。本実施形態では最も電流が高いクラスα１と、中間のクラスα２と、電流が最も低いクラスα３の三クラスに分けているが、更に多数のクラスに分けてよい。なお、クラス分けにあたって、クラスの数に予め制約を設けておいてもよく、クラス内の太陽電池モジュールＭの数に予め制約を設けておいてもよい。それにより、クラス内に含まれる太陽電池モジュールＭの枚数を一定範囲内に収めることができ、演算の負荷を低減できる。
【０１１７】
ストリング形成部３３は、クラスごとに太陽電池モジュールＭのストリングを形成する機能を有している。ストリング形成部３３は、一のクラスに属する太陽電池モジュールＭのみを直列接続させたストリングＳＴ（第１のストリング）と、それより一つ下位のクラスに属する太陽電池モジュールＭのみを直列接続させたストリングＳＴ（第２のストリング）と、上位のクラスに属する太陽電池モジュールのあまりモジュールＥＭ、及び一つ下位のクラスに属する太陽電池モジュールＭによって構成される擬似モジュールＶＭを直列接続させたストリングＳＴ（第３のストリング）と、を形成可能である。なお、ストリング形成部３３は、各クラスの太陽電池モジュールＭの枚数によって、三種類のストリングＳＴを全て形成する場合もあれば、三つのうちの何れか二つのみのストリングを形成する場合、三つのうちの何れか一つのみのストリングを形成する場合もある。ストリング形成部３３は、クラスα１について設定された直列数に基づいて、クラスα１に属する太陽電池モジュールＭを直列接続し、あまりモジュールＥＭを含むストリングＳＴについては、直列数に満たない数のあまりモジュールＥＭを擬似モジュールＶＭで補うことによって形成される。この直列数は、パワーコンディショナー３の許容電圧などによって一定範囲の数（例えば５〜７）を設定することが可能であり、ストリング形成部３３は、各直列数に応じたストリングＳＴを形成できる。下位のクラスα２,α３については、クラスα１のストリングＳＴの合計電圧に基づいてストリングＳＴが形成される。また、ストリング形成部３３は、一のクラスに属する太陽電池モジュールＭを電流値の順番に並べることによって各ストリングを形成し、一つ下位のクラスに属する太陽電池モジュールＭのうち、擬似モジュールＶＭに用いられないものを、電流値の順番に並べることによってストリングＳＴを形成する機能を有している。
【０１１８】
擬似モジュール形成部３４は、一のクラスに属する太陽電池モジュールＭのパラメータ（電流値及び電圧値）に基づいて、一つ下位のクラスに属する複数の太陽電池モジュールＭを並列接続（また、必要に応じて直列接続）することによって擬似モジュールＶＭを形成する機能を有している。
【０１１９】
結線パターン選択部３７は、クラス分けに基づいて、結線パターンを選択する機能を有しており、太陽電池モジュールＭの結線によって構成されるアレイＡの最大出力が最大となるように、結線パターンを選択する機能を有している。
【０１２０】
処理部３８は、上述の各部３１〜３７で行われる処理以外の処理を実行する機能を有している。記憶部３９は、各種情報を記憶する機能を有している。
【０１２１】
次に、図２５〜図３１を参照して、演算装置３０の具体的な演算処理の内容について説明する。図２５は、演算装置３０が太陽電池モジュールの最適な結線パターンを選択する際に実行される処理内容を示すフローチャートである。図２５の処理は、図２と同様に、結線パターンを選択する際に、所定のタイミングで実行される。図２６〜図２８は、図２５の各処理の具体的内容を示すフローチャートである。
【０１２２】
本実施形態に係る制御処理では、日影の太陽電池モジュールＭが、電流・電圧共に変化するものとして演算を行う。また、図２５に示す制御処理の例では、各太陽電池モジュールＭを三つのクラス（α＝１,２,３）に分けるものとする。図２５に示すように、パラメータ取得部３１は、各太陽電池モジュールＭの電流値及び電圧値を取得する（ステップＳ４００）。次に、クラス分け部３２は、Ｓ４００で取得された電流値・電圧値に基づいて、各太陽電池モジュールＭのクラス分け処理を実行する（ステップＳ４０２）。クラス分け部３２は、複数の太陽電池モジュールＭを、「クラスα＝１（最も日向のクラス）」と「クラスα＝２（中間のクラス）」と「クラスα＝３（最も日影のクラス）」とに分ける。Ｓ４０２のクラス分けでは、例えば第２実施形態の図１７で説明したようなＫ−ｍｅａｎｓ法を用いてクラス分けすることができる。Ｓ４０２で三つにクラス分けした後、クラス内の太陽電池モジュールＭの平均出力（Ｗ）が高いものから順に、クラスα１、クラスα２、クラスα３とする（ステップＳ４０４）。
【０１２３】
次に、処理部３８は、クラスα１の平均電圧値と、パワーコンディショナー３の許容電圧に基づいて、クラスα１の許容直列数Ｓ１を決定する（ステップＳ４０６）。ここでは、Ｓ１＝５〜７に設定されるものとする。次に、処理部３８は、クラスα１の直列数Ｓ１として初期値である５を設定する（ステップＳ４０８）。次に、ストリング形成部３３は、クラスα１のストリング形成処理を実行する（ステップＳ４１０）。
【０１２４】
図２６を参照して、クラスα１のストリング形成処理の詳細について説明する。図２６に示すように、ストリング形成部３３は、クラスα１の直列数Ｓ１と、当該クラスα１の太陽電池モジュールＭ１の集合を、記憶部３９から読み出す（ステップＳ４５０）。ストリング形成部３３は、クラスα１に属する太陽電池モジュールＭ１を電流値の降順にソートする（ステップＳ４５２）。ここでは、電圧値は考慮せず、電流値のみを考慮する。ストリング形成部３３は、電流値の大きい方から順に太陽電池モジュールＭ１を選択し、直列数Ｓ１のストリングを形成する（ステップＳ４５４）。ここで、あまりモジュールがあった場合、ストリング形成部３３は、当該モジュールをあまりモジュールＥＭとして記憶部３９に記憶させ、クラスα１から除く（ステップＳ４５６）。また、ストリング形成部２３は、クラスα１内のストリングＳＴのストリング数βを算出する（ステップＳ４５８）。また、ストリング形成部３３は、各ストリングＳＴを電流値の昇順にソートする（ステップＳ４６０）。これによって、第２実施形態でのストリング形成処理と同様に、図２３（ａ）に示すようなアレイＡ１が形成され、図２３（ｂ）に示すような出力アセンブリＡＬ１が形成される。
【０１２５】
次に、ストリング形成部３３は、最も電流値の低いストリングＳＴ１を読み出す（ステップＳ４６２）。ストリング形成部３３は、ストリングＳＴ１の各太陽電池モジュールＭ１（出力ブロックＢＬ１）を、他のストリングＳＴ２〜ＳＴβの太陽電池モジュールＭ１（出力ブロックＢＬ１）と入れ替えた後、クラスα１内の各ストリングを並列接続した場合のアレイＡ１の出力を算出し、出力が最大化されたかどうかの判断を行う（ステップＳ４６４）。例えば図２３に示すように、ストリングＳＴ１の何れかの太陽電池モジュールＭ１（出力ブロックＢＬ１）を他のストリングＳＴの何れかの太陽電池モジュールＭ１（出力ブロックＢＬ１）と交換し、再構成されたアレイＡ１での出力を算出する。また、当該再構築によって最大出力が向上したかの判断を行う。次に、ストリング形成部２３は、モジュール入れ替えの効果が無くなったか否かを判定する（ステップＳ４６６）。すなわち、あらゆるパターンでモジュール入れ替えを行い、これ以上再構築してもアレイＡ１の出力を大きくすることができないと判断された場合に、モジュール入れ替えの効果が無くなったと判定される。Ｓ４６６において、モジュール入れ替えにより出力の向上が見られた場合は、再びＳ４６４にて他の入れ替えパターンを実行し、より出力を大きくできる組み合わせを形成する。一方、Ｓ４６６において、モジュール入れ替えの効果が無くなったと判定された場合、ストリング形成部３３は、当該組み合わせに係るストリングＳＴを、クラスα１における完成ストリングＳＴＣＰとして確定し、記憶部３９に記憶させる（ステップＳ４６８）。
【０１２６】
その後、ストリング形成部３３は、ストリング番号ｉがβ―１になったか否かを判定する（ステップＳ４７０）。すなわち、ストリング形成部３３は、全てのストリングＳＴについて太陽電池モジュールＭ１が確定したかを判定する（なお、電流値が一番大きいストリングＳＴβについては、入れ替える対象となるストリングがないため、モジュール入れ替えを行わない）。Ｓ４７０においてストリング番号ｉがβ―１になっていないと判定されると、ストリング形成部２３は、ストリングの番号ｉに１を加算し（ステップＳ４７２）、Ｓ４６４〜Ｓ４７０の処理を繰返す。このとき、既に確定したストリングＳＴの太陽電池モジュールＭ１（出力ブロックＢＬ１）は、モジュール入れ替えに用いられない。Ｓ４７０においてストリング番号ｉがβ―１になったと判定されたら、全てのストリングＳＴの太陽電池モジュールＭ１の構成が確定したとして、図２６の処理が終了する。
【０１２７】
図２５に戻り、処理部３８は、クラスα１においてストリングＳＴが最低一本でも形成できたか否かを判定する（ステップＳ４１２）。クラスα１に属する太陽電池モジュールＭ１が少なすぎることで、ストリングＳＴが一本も形成できず、Ｓ４１２において形成できないと判定されると、処理部３８は、クラスα２に属する全ての太陽電池モジュールＭ２をクラスα１に移動する（ステップＳ４１４）。また、処理部３８は、クラスα３に属する全ての太陽電池モジュールＭ３をクラスα２に移動する（ステップＳ４１６）。その後、再びＳ４１０及びＳ４１２の処理が実行される。処理部３８は、クラスα１の全てのストリングＳＴの電圧（ストリングＳＴ中の各出力ブロックＢＬの電圧値の合計）のうち、最低電圧をストリング最低電圧Ｖｍｉｎとして、記憶部３９に記憶させる（ステップＳ４１８）。処理部３８は、図２６のＳ４５６で記憶された情報を参照し、クラスα１にあまりモジュールＥＭがあるか否かを判定する（ステップＳ４２０）。Ｓ４２０においてあまりモジュールＥＭがあると判定された場合、擬似モジュール形成部３４は擬似モジュール形成処理を実行し（ステップＳ４２２）、あまりモジュールＥＭが無いと判定された場合、Ｓ４２２の処理はスキップされてＳ４２４の処理へ移行する。
【０１２８】
図２８を参照して、擬似モジュール形成処理の詳細な内容について説明する。擬似モジュール形成部３４は、図２５のＳ４１８にて記憶された最低電圧Ｖｍｉｎと、クラスα１のあまりモジュールＥＭの合計電圧との差として、最低補電圧Ｖｃｏｍを算出する（ステップＳ５００）。この最低補電圧Ｖｃｏｍは、あまりモジュールＥＭを用いてストリングを形成する場合に、少なくとも最低電圧Ｖｍｉｎまで電圧を確保するのに最低限度補うべき電圧である。擬似モジュール形成部３４は、クラスα１におけるあまりモジュールＥＭの平均電流Ｉｏを算出する（ステップＳ５０２）。
【０１２９】
次に、擬似モジュール形成部３４は、クラスα１の下位のクラスα２の太陽電池モジュールＭ２の合計電圧が最低補電圧Ｖｃｏｍ以上であるか否かを判定する（ステップＳ５０４）。一段下位のクラスα２の太陽電池モジュールＭ２では、そもそも最低補電圧Ｖｃｏｍを確保することができず、Ｓ５０４において合計電圧が最低補電圧Ｖｃｏｍより小さいと判定されたら、擬似モジュールＶＭを形成することなく図２８の処理は終了する。なお、擬似モジュールＶＭを形成できない場合、あまりモジュールＥＭは、下位のクラスα２へ移動する。一方、Ｓ５０４において合計電圧が最低補電圧Ｖｃｏｍ以上であると判定されると、擬似モジュール形成部３４は、クラスα２の太陽電池モジュールＭ２を用いて擬似モジュールＶＭを形成する（ステップＳ５０６）。
【０１３０】
具体的には、擬似モジュール形成部３４は、クラスα２の中から太陽電池モジュールＭ２（出力ブロックＢＬ２）を選択し、直列、並列に組み合わせて次の条件を満たす組み合わせを探索する。探索すべき組み合わせの条件は、「最低補電圧Ｖｃｏｍ≦擬似モジュールの電圧Ｖ」を満たすと共に、「（Ｖｃｏｍ,Ｉｏ）からの距離が最短となるような頂点（Ｖ,Ｉ）を持つ」を満たすことである。例えば図３０（ａ）に示すように、太陽電池モジュールＭ２（出力ブロックＢＬ２）の組み合わせによって形成される擬似モジュールＶＭは右上角部に頂点（Ｖ,Ｉ）を持っている。この擬似モジュールＶＭの電圧Ｖは、最低補電圧Ｖｃｏｍ以上となっており、頂点（Ｖ,Ｉ）は出来る限り（Ｖｃｏｍ,Ｉｏ）に近くに設定される。なお、図３０（ｂ）に示すように、（Ｖｃｏｍ,Ｉｏ）と一致するような頂点（Ｖ,Ｉ）を持つ組み合わせがあった場合は、当該組み合わせが直ちに採用される。擬似モジュール形成部３４は、組み合わせが見つかったら当該結果を記憶部３９に記憶させる。このようにして形成された擬似モジュールＶＭは、あまりモジュールＥＭと直列接続され（例えば図２９参照）、一つの完成ストリングＳＴＣＰとして記憶される。
【０１３１】
擬似モジュール形成部３４は、擬似モジュールの作成に用いられた太陽電池モジュールＭ２を、下位のクラスα２から取り除く（ステップＳ５０８）。Ｓ５０８の処理が完了すると、図２８に示す処理が終了する。
【０１３２】
図２５に戻り、Ｓ４１０〜Ｓ４２２の処理が完了すると、直列数Ｓ１＝５におけるクラスα１の完成ストリングＳＴＣＰが確定する。その後、クラスα２における完成ストリングＳＴＣＰの形成がなされる。ストリング形成部３３は、クラスα２のストリング形成処理を実行する（ステップＳ４２４）。
【０１３３】
図２７を参照して、クラスα２のストリング形成処理の詳細な内容を説明する。クラスα２では、ストリングＳＴの直列数を設定するのではなく、クラスα１の完成ストリングＳＴＣＰの最低電圧Ｖｍｉｎに基づいて、ストリングＳＴが形成される。すなわち、図２９に示すように、ストリング形成部３３は、太陽電池モジュールＭ（出力ブロックＢＬ）の集合の中から一つずつワークスペースの座標に積んで完成ストリングＳＴＣＰを形成する。また、ストリング形成部２３は、あまりモジュールＥＭがある場合は、クラスα３の太陽電池モジュールＭで擬似モジュールＶＭを形成し、完成ストリングＳＴＣＰを完成させる。まず、ストリング形成部３３は、クラスα２内の完成ストリングＳＴＣＰを０本の初期化し（ステップＳ４８０）、途上ストリングＳＴＤＰのモジュールを０枚に初期化する（ステップＳ４８２）。次に、ストリング形成部３３は、クラスα２に太陽電池モジュールＭ２が無く、空になっているか否かを判定する（ステップＳ４８４）。空になっている場合は、Ｓ４９２の処理へ移行する。
【０１３４】
一方、Ｓ４８４において空になっていないと判定されると、ストリング形成部３３は、クラスα２の中の太陽電池モジュールＭ２のうち、電流値が最も高いものを途上ストリングＳＴＤＰに移動する（ステップＳ４８６）。図２９に示すように、ストリング形成部３３は、クラスα２に残っている太陽電池モジュールＭ２の中から一番電流値が高いものをワークスペースへ移動し、座標上で作成途中にある途上ストリングＳＴＤＰに直列に接続する。ストリング形成部３３は、途上ストリングＳＴＤＰの合計電圧が最低電圧Ｖｍｉｎより小さいか否かを判定する（ステップＳ４８８）。すなわち、図２９に示すように、途上ストリングＳＴＤＰの電圧が最低電圧Ｖｍｉｎのラインを超えているか否かを判定する。Ｓ４８８において合計電圧が最低電圧Ｖｍｉｎより小さいと判定されると、再びＳ４８４〜Ｓ４８８の処理が繰返され、途上ストリングＳＴＤＰに新たな太陽電池モジュールＭ２が追加される。一方、Ｓ４８８において合計電圧が最低電圧Ｖｍｉｎ以上になったと判定されると、ストリング形成部３３は、ワークスペース中の途上ストリングＳＴＤＰを、完成ストリングＳＴＣＰの記憶エリア（図２９参照）に追加する（ステップＳ４９０）。その後、Ｓ４８２が実行されてワークスペースが初期化された後、Ｓ４８４〜Ｓ４９０の処理が繰返されて、複数の完成ストリングＳＴＣＰが形成される。
【０１３５】
ある程度の本数の完成ストリングＳＴＣＰが形成されると、クラスα２の残りの太陽電池モジュールＭ２が少なくなる。この場合、最後の一本の完成ストリングＳＴＣＰを形成した直後にクラスα２が空になる（Ｓ４９０→Ｓ４８４：ＹＥＳ）か、あるいは途上ストリングＳＴＤＰの合計電圧が最低電圧Ｖｍｉｎを超える前にクラスα２が空になる（Ｓ４８８→Ｓ４８４：ＹＥＳ）。
【０１３６】
クラスα２が空になった後、ストリング形成部３３は、途上ストリングＳＴＤＰ中の太陽電池モジュールＭが０枚であるか否かを判定する（ステップＳ４９２）。すなわち、ワークスペースに太陽電池モジュールＭを残した状態でクラスα２が空になったのか、ワークスペースに何も残さずにクラスα２が空になったのかが判定される。Ｓ４９２において０枚であると判定された場合、ストリング形成部３３は、クラスα２にはあまりモジュールＥＭが無いとして、あまりモジュールの記憶エリア（図２９参照）を空にする（ステップＳ４９４）。一方、Ｓ４９２において０枚でないと判定された場合、途上ストリングＳＴＤＰに含まれる太陽電池モジュールＭを、あまりモジュールＥＭとして記憶部３９に記憶させる（ステップＳ４９６）。以上により、ストリング形成部３３は、全ての完成ストリングＳＴＣＰ（モジュールの組み合わせ）と、あまりモジュールＥＭを返す（ステップＳ４９８）。Ｓ４９８の処理が完了すると、図２７の処理が終了する。
【０１３７】
図２５に戻り、ストリング形成部３３は、あまりモジュールＥＭがあるか否かを判定する（ステップＳ４２６）。Ｓ４２６においてあまりモジュールＥＭがあると判定された場合、擬似モジュール形成部３４は擬似モジュール形成処理を実行し（ステップＳ４２８）、あまりモジュールＥＭが無いと判定された場合、Ｓ４２８の処理はスキップされてＳ４３０の処理へ移行する。クラスα２における擬似モジュール形成処理は、前述のクラスα１における擬似モジュール形成処理と同様の処理がなされる。ここでは、クラスα３の太陽電池モジュールＭ３を用いて擬似モジュールＶＭが形成される。擬似モジュールＶＭは、あまりモジュールＥＭと直列接続され、一つの完成ストリングＳＴＣＰとして記憶される。
【０１３８】
Ｓ４２４〜Ｓ４２８の処理が完了すると、直列数Ｓ１＝５におけるクラスα２の完成ストリングＳＴＣＰが確定する。その後、クラスα３における完成ストリングＳＴＣＰの形成がなされる。ストリング形成部３３は、クラスα３のストリング形成処理を実行する（ステップＳ４３０）。クラスα３におけるストリング形成処理は、前述のクラスα２におけるストリング形成処理と同様の処理がなされる。ストリング形成部３３は、あまりモジュールＥＭがあるか否かを判定する（ステップＳ４３２）。Ｓ４３２においてあまりモジュールＥＭがあると判定された場合、ストリング形成部３３は、クラスα３よりも下位のクラスが無く、擬似モジュールを形成することができないので、クラスα３のあまりモジュールＥＭを不使用とし（ステップＳ４３４）、あまりモジュールＥＭが無いと判定された場合、Ｓ４３４の処理はスキップされてＳ４３６の処理へ移行する。Ｓ４３０〜Ｓ４３４の処理が完了すると、直列数Ｓ１＝５におけるクラスα３の完成ストリングＳＴＣＰが確定する。
【０１３９】
ストリング形成部３３は、クラスα１,α２,α３の各完成ストリングＳＴＣＰを全て並列に接続してアレイＡを形成し、当該直列数Ｓ１における最大出力動作点Ｐｍａｘを算出し、全ての完成ストリングＳＴＣＰと共に記憶部３９に記憶させる（ステップＳ４３６）。次に、処理部３８は、直列数Ｓ１が７であるか否かを判定する（ステップＳ４３８）。Ｓ４３８において直列数Ｓ１が７でないと判定されると、直列数Ｓ１に１が加算され（ステップＳ４４０）、新たな直列数Ｓ１にてＳ４１０〜Ｓ４３８の処理が繰返される。これによって、直列数Ｓ１＝６,７における最大出力動作点Ｐｍａｘと、その時の完成ストリングＳＴＣＰが記憶部３９に記憶される。一方、Ｓ４３８において直列数Ｓ１が７であると判定されると、結線パターン選択部３７は、直列数Ｓ１＝５,６,７のそれぞれの最大出力動作点Ｐｍａｘを比較し、最大出力動作点Ｐｍａｘが最大となるときの直列数Ｓ１での全ての完成ストリングＳＴＣＰを返す（ステップＳ４４２）。結線パターン選択部３７は、当該直列数Ｓ１での各クラスの完成ストリングＳＴＣＰを並列接続したものを、採用すべきアレイＡの結線パターンとして選択する。Ｓ４４２の処理が完了したら、採用すべき結線パターンが決定し、図２５の処理が終了する。
【０１４０】
次に、本実施形態の作用・効果について説明する。
【０１４１】
演算装置３０によれば、各太陽電池モジュールＭの電流値及び電圧値を含むパラメータに基づいて、クラス分け部３２が太陽電池モジュールＭのクラス分けを行っている。すなわち、太陽電池モジュールＭの数が増加した場合であっても、クラス分けを行うことによって、各クラスでの結線パターンの最適化を行うことが可能であるため、多数の太陽電池モジュールの結線パターンをまとめて演算する場合に比して、演算の負荷を低減することができる。これによって、効率よく結線パターンを選択することで演算の負荷を低減しつつ発電性能を向上できる。
【０１４２】
また、クラス分け部３２は、パラメータが近い太陽電池モジュールＭ同士を同じクラスに分ける。これによって、各クラス内で特性が似たもの同士でストリングＳＴ、アレイＡを構成することが可能となり、結線パターンの最適化が行い易くなると共に、各太陽電池モジュールＭの出力も無駄なく有効に利用できる結線パターンを形成し易くなる。
【０１４３】
また、演算装置３０によれば、パラメータが大きい太陽電池モジュールＭのみでクラスα１のストリングＳＴを形成し、パラメータが小さい太陽電池モジュールＭのみでクラスα２,α３のストリングＳＴを形成することが可能となる。これにより、パラメータが近いもの同士を直列接続して各ストリングＳＴを形成すればよいのでクラスごとの結線パターンの最適化が行い易くなる。更に、各ストリングＳＴ内でのモジュール間の電流差が少ないために、各ストリングを並列接続して形成されるアレイの最大出力を大きくし易くなる。すなわち、例えば図１３に示すような歪な出力アセンブリＡＬではなく、四角形に近い出力アセンブリＡＬを形成し易くなり、最大出力動作点Ｐｍａｘを大きくし易くなる。更に、擬似モジュールＶＭを用いることによって、日向クラスのストリングＳＴ相当の電流値を得られるストリングＳＴを形成することができるため、全ての太陽電池モジュールＭを無駄なく利用することができる。
【０１４４】
また、本実施形態では、パラメータ（電流、電圧）に基づいてクラス分けした後で、電圧が揃うようにクラスごとにサブアレイが形成され、各サブアレイを並列に接続して一つのアレイが構成される。各ストリングの電圧を近づけるようにクラスごとにアレイを形成することで、簡単に結線パターンを選択することができる。また、本実施形態では、パワーコンディショナー３が発電装置２に対して一個でよい。
【０１４５】
また、ストリング形成部３３は、クラスα１のストリングＳＴに対して設定された直列数Ｓ１に基づいて、クラスα１に属する太陽電池モジュールＭを直列接続し、あまりモジュールＥＭを含むストリングＳＴは、直列数Ｓに満たない数のあまりモジュールＥＭを擬似モジュールＶＭで補うことによって形成される。クラスα２のあまりモジュールＥＭもクラスα３からの擬似モジュールＶＭで補うことができる。このように、あまりモジュールＥＭがあっても、擬似モジュールＶＭで補うことができるため、あまりモジュールＥＭが無駄になることを防止し、アレイ出力に寄与させることができる。
【０１４６】
また、結線パターン選択部２７は、各直列数Ｓ１において各ストリングＳＴを並列接続させて形成されるアレイＡのうち、アレイＡの最大出力が最も大きくなるときの直列数Ｓ１に係る結線パターンを選択する。ストリングＳＴの直列数Ｓ１を変更するだけで複数パターンの結線パターンの候補を作成でき、その中で最適な直列数Ｓ１を選べばよいだけなので、演算の負荷を極めて低減できる一方、発電効率を向上することができる。
【０１４７】
また、ストリング形成部３３は、クラスα１に属する太陽電池モジュールＭを電流値の順番に並べることによって各ストリングＳＴを形成し、クラスα２に属する太陽電池モジュールＭのうち、擬似モジュールＶＭに用いられないものを、電流値の順番に並べることによってクラスα２のストリングＳＴを形成し、クラスα３に属する太陽電池モジュールＭのうち、擬似モジュールＶＭに用いられないものを、電流値の順番に並べることによってクラスα３のストリングＳＴを形成する。単に太陽電池モジュールＭを電流値の順番に並べればよいだけなので、容易に各ストリングＳＴを形成することができる。一方で、順番に並べられることで、各ストリングＳＴでは太陽電池モジュールＭ間の電流差が小さくなるため、アレイＡの最大出力を大きくし易くなる。
【０１４８】
［第４実施形態］
第４実施形態に係る発明は、図１に示すように、演算装置１を備えた太陽光発電シミュレーションシステム１０１である。太陽光発電シミュレーションシステム１０１では、発電装置２は、演算装置１（または別の演算装置）の内部で生成される仮想的に設定された装置である。すなわち、太陽電池モジュールＭは、ソフト上で仮想的に設定されるものである。太陽光発電シミュレーションシステム１０１の演算装置１は、第１の実施形態に係る演算装置１と同様な構成を有し、同様な演算処理を行うことができる。当該太陽光発電シミュレーションシステム１０１で最適な結線パターンを選択し、実際の太陽光発電システムの太陽電池モジュールを結線する作業に際し、当該最適化された結線パターンを採用することができる。
【０１４９】
［第５実施形態］
第５実施形態に係る発明は、図１５に示すように、演算装置２０を備えた太陽光発電シミュレーションシステム２０１である。太陽光発電シミュレーションシステム２０１では、発電装置２は、演算装置２０（または別の演算装置）の内部で生成される仮想的に設定された装置である。すなわち、太陽電池モジュールＭは、ソフト上で仮想的に設定されるものである。太陽光発電シミュレーションシステム２０１の演算装置２０は、第２の実施形態に係る演算装置２０と同様な構成を有し、同様な演算処理を行うことができる。当該太陽光発電シミュレーションシステム２０１で最適な結線パターンを選択し、実際の太陽光発電システムの太陽電池モジュールを結線する作業に際し、当該最適化された結線パターンを採用することができる。
【０１５０】
［第６実施形態］
第６実施形態に係る発明は、図２４に示すように、演算装置３０を備えた太陽光発電シミュレーションシステム３０１である。太陽光発電シミュレーションシステム３０１では、発電装置２は、演算装置３０（または別の演算装置）の内部で生成される仮想的に設定された装置である。すなわち、太陽電池モジュールＭは、ソフト上で仮想的に設定されるものである。太陽光発電シミュレーションシステム３０１の演算装置３０は、第３の実施形態に係る演算装置３０と同様な構成を有し、同様な演算処理を行うことができる。当該太陽光発電シミュレーションシステム３０１で最適な結線パターンを選択し、実際の太陽光発電システムの太陽電池モジュールを結線する作業に際し、当該最適化された結線パターンを採用することができる。
【０１５１】
本発明は上述の実施形態に限定されるものではない。
【０１５２】
例えば第１実施形態では２つのクラスに分け、第２実施形態及び第３実施形態では、３つのクラスに分ける場合を例にして説明したが、クラス分けの数は特に限定されず、より多く（第２,３実施形態を２つのクラスとしてもよい）のクラスに分けてもよい。また、好適なクラス数を決定するための処理を行ってもよい。例えば、図３１に示すような処理を行ってもよい。まず、クラス分け部は、全ての太陽電池モジュールＭの出力ブロックＢＬの重心（電流、電圧）を算出する（ステップＳ６００）。次に、クラス分け部は、前記重心からの距離を全ての太陽電池モジュールＭの重心について演算し、当該距離の和を求め、Ｄ１として記憶部に記憶させる（ステップＳ６０２）。次に、クラス分け部は、クラス数ＣＮの初期値として２を設定する（ステップＳ６０４）。クラス分け部は、ＣＮ（＝２）個のクラスにクラス分け処理をする（ステップＳ６０６）。次に、クラス分け部は、全ての太陽電池モジュールＭについて、当該太陽電池モジュールＭの重心と所属するクラスの重心との距離を算出し、当該距離を全モジュールに亘って合計し、当該合計値をＤＣＮとして記憶する（ステップＳ６０８）。クラス分け部は、ＣＮが太陽電池モジュールＭのモジュール数Ｎに至ったか否かを判定する（ステップＳ６１０）。Ｓ６１０で至っていないと判定されると、ＣＮに１を加算し、Ｓ６０６〜Ｓ６１０の処理を繰返す。
【０１５３】
Ｓ６１０で至ったと判定されると、クラス分け部は、Ｄ１−Ｄ２、Ｄ２−Ｄ３、Ｄ３−Ｄ４、…Ｄｉ−１−Ｄｉ,…ＤＮ−１−ＤＮの中で最大のものを求め、そのときのｉを採用すべきクラス数として返す（ステップＳ６１４）。
【０１５４】
各太陽電池モジュールの出力ブロックの重心（電流、電圧）の、クラスの重心からの距離は、クラス数を増加させることによって減少する。他方、適切な数を超えて多数のクラスに分離しても、演算負荷は大きくなるのに対して、距離はあまり減少しなくなる。図３１の処理では、重心からの距離（ズレ）を縦軸に設定し、クラス数を縦軸に設定したときに、最も大幅にズレが減少したときのクラス数を（Ｄ１−Ｄ２、Ｄ２−Ｄ３、Ｄ３−Ｄ４、…Ｄｉ−１−Ｄｉ,…ＤＮ−１−ＤＮの中で、値が最大となるものにおけるクラス数ｉ）、適切なクラス数として採用することができる。
【０１５５】
また、上述の実施形態では、パワーコンディショナー３の許容電圧から、直列数Ｓ＝５〜７を例示したが、当該直列数は特に限定されず、状況に合わせて適宜変更してもよい。あるいは、直列数Ｓを変化させず、一つの値に設定して結線パターンを決定してもよい。
【０１５６】
また、クラス分けの方法として、Ｋ−ｍｅａｎｓ法を例示したが、これに限られず、最短距離法や、最長距離法、群平均法、ウォード法など、あらゆるクラス分け方法と採用してもよい。
【０１５７】
クラス内での結線パターンの最適化は、予め所定の直列数の制約条件の下で、可能性のある結線パターンを予め登録しておき、その中からアレイの最大出力が最大となるパターンを選択する方法や、自動的に結線パターンを逐次生成しながら最適な結線パターンを選択する方法でもよい。後者の方法としては、予め初期値となる結線状態をいくつか生成した後、遺伝的アルゴリズム、ニューラルネットワークによって最適な結線パターンを見出す手法などがある。
【０１５８】
また、結線パターン選択部は、同じクラス内の太陽電池モジュールが全て直列に接続される結線パターンを選択してもよい。この方法では、クラス分けが終了した時点で、結線の最適化も完了しているため、演算が容易であるというメリットがある。
【０１５９】
また、クラス分け部は、第１のクラスにおける太陽電池モジュールＭのパラメータの標準偏差と、第２のクラスにおける太陽電池モジュールＭのパラメータの標準偏差との合計値が、クラス分けを実施しないときの全太陽電池モジュールＭの標準偏差を下回るようにクラス分けをしてもよい。
【符号の説明】
【０１６０】
１，２０,３０…演算装置、２…発電装置、３…パワーコンディショナー、４…検出部、６…結線部、１１,２１,３１…パラメータ取得部、１２,２２,３２…クラス分け部、１３,２３,３３…ストリング形成部、１４,３４…擬似モジュール形成部、１７,２７,３７…結線パターン選択部、１００,２００,３００…太陽光発電システム、１０１,２０１,３０１…太陽光発電シミュレーションシステム、Ｍ…太陽電池モジュール、ＳＴ…ストリング、Ａ…アレイ。
【図１】
0005747742.tif 000002
【図２】
0005747742.tif 000003
【図３】
0005747742.tif 000004
【図４】
0005747742.tif 000005
【図５】
0005747742.tif 000006
【図６】
0005747742.tif 000007
【図７】
0005747742.tif 000008
【図８】
0005747742.tif 000009
【図９】
0005747742.tif 000010
【図１０】
0005747742.tif 000011
【図１１】
0005747742.tif 000012
【図１２】
0005747742.tif 000013
【図１３】
0005747742.tif 000014
【図１４】
0005747742.tif 000015
【図１５】
0005747742.tif 000016
【図１６】
0005747742.tif 000017
【図１７】
0005747742.tif 000018
【図１８】
0005747742.tif 000019
【図１９】
0005747742.tif 000020
【図２０】
0005747742.tif 000021
【図２１】
0005747742.tif 000022
【図２２】
0005747742.tif 000023
【図２３】
0005747742.tif 000024
【図２４】
0005747742.tif 000025
【図２５】
0005747742.tif 000026
【図２６】
0005747742.tif 000027
【図２７】
0005747742.tif 000028
【図２８】
0005747742.tif 000029
【図２９】
0005747742.tif 000030
【図３０】
0005747742.tif 000031
【図３１】
0005747742.tif 000032