(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-04
(45)【発行日】2022-11-14
(54)【発明の名称】保護制御装置
(51)【国際特許分類】
H02H 3/02 20060101AFI20221107BHJP
H02H 3/05 20060101ALI20221107BHJP
【FI】
H02H3/02 G
H02H3/05 F
(21)【出願番号】P 2020000504
(22)【出願日】2020-01-06
【審査請求日】2021-04-27
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】317015294
【氏名又は名称】東芝エネルギーシステムズ株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】庄野 貴也
(72)【発明者】
【氏名】岡井 誠
【審査官】佐藤 卓馬
(56)【参考文献】
【文献】特開2000-113796(JP,A)
【文献】特開2005-151697(JP,A)
【文献】特開2014-131449(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H02H 3/02
H02H 3/05
(57)【特許請求の範囲】
【請求項1】
供給される動作クロックに同期した演算を実行するプロセッサが、プログラムを実行することにより、電力系統の状態を示すアナログ情報をデジタル情報に変換した情報に基づ
く前記電力系統の変化に応じた演算処理を行うプロセッサ演算部と、
前記プロセッサが実行する処理
が増大する特定条件であって、前記電力系統の変化に関する条件を含む特定条件が充足される場合、前記プロセッサに供給される前記動作クロックの周波数を
高くするクロック制御部と、
を備える保護制御装置。
【請求項2】
前記プロセッサの演算負荷を測定する演算負荷測定部を更に備え、
前記クロック制御部は、前記演算負荷測定部によって測定された前記演算負荷
が閾値より大きくなった場合に前記特定条件が充足されたと判定して前記プロセッサに供給される前記動作クロックの周波数を
高くする、
請求項1に記載の保護制御装置。
【請求項3】
外部から外部情報を取得する外部情報取得部を更に備え、
前記クロック制御部は、前記外部情報取得部によって前記外部情報が取得された場合に
前記特定条件が充足されたと判定して前記プロセッサに供給される前記動作クロックの周波数を
高くする、
請求項1又は請求項2に記載の保護制御装置。
【請求項4】
前記外部情報取得部は、HMI(Human Machine Interface)から操作入力された操作情報を取得するHMI部、又は、当該保護制御装置と通信可能に接続される外部機器と通信を行う通信部の少なくともいずれかである、
請求項3に記載の保護制御装置。
【請求項5】
前記プロセッサは、CPU(Central Processing Unit)と、FPGA(Field-Programmable Gate Array)を含み、
前記CPUの演算負荷を測定する演算負荷測定部と、
前記CPUの演算負荷が第1閾値より大きい場合、前記CPUによって実行される予定の第1演算処理における少なくとも一部の第2演算処理を、前記FPGAに実行させ、前記FPGAによって実行された前記第2演算処理の実行結果を前記CPUに取得させる演算制御部を、更に備える、
請求項1から請求項4の何れか一項に記載の保護制御装置。
【請求項6】
前記プロセッサは、CPUと、FPGAを含み、
前記FPGAの演算負荷を測定する演算負荷測定部と、
前記FPGAの演算負荷が第2閾値より大きい場合、前記FPGAによって実行される予定の第3演算処理における少なくとも一部の第4演算処理を、前記CPUに実行させ、前記CPUによって実行された前記第4演算処理の実行結果を前記FPGAに取得させる演算制御部を、更に備える、
請求項1から請求項5の何れか一項に記載の保護制御装置。
【請求項7】
前記プロセッサの演算負荷を測定する演算負荷測定部と、
前記プロセッサの演算負荷が第3閾値よりも大きい場合、前記プロセッサによって実行される予定の第5演算処理における少なくとも一部の第6演算処理を、当該保護制御装置と接続される外部装置に実行させ、前記外部装置によって実行された前記第6演算処理の実行結果を前記プロセッサに取得させる演算制御部を、更に備える、
請求項1から請求項6の何れか一項に記載の保護制御装置。
【請求項8】
前記プロセッサ演算部は、メイン部とフェールセーフ部とを有する冗長構成であり、
前記メイン部と前記フェールセーフ部のいずれか一方に搭載されたプロセッサの演算負荷を測定する演算負荷測定部と、
前記一方に搭載されたプロセッサの演算負荷が第4閾値よりも大きい場合、前記一方に搭載されたプロセッサによって実行される予定の第7演算処理における少なくとも一部の第8演算処理を、他方に実行させ、前記他方によって実行された前記第8演算処理の実行結果を前記一方に搭載されたプロセッサに取得させる演算制御部を、更に備える、
請求項1から請求項7の何れか一項に記載の保護制御装置。
【請求項9】
前記アナログ情報、又は前記アナログ情報をデジタル情報に変換した情報に基づいて、前記電力系統の状態変化を検出する状態変化検出部を更に備え、
前記クロック制御部は、前記状態変化検出部によって前記状態変化が検出された場合
に前記特定条件が充足されたと判定して前記プロセッサに供給される前記動作クロックの周波数を
高くする、
請求項1から請求項8の何れか一項に記載の保護制御装置。
【請求項10】
前記プロセッサが設けられる環境の温度を測定する温度測定部と、
前記温度測定部によって測定された温度に基づいて、前記プロセッサによって実行される予定の第9演算処理における少なくとも一部の第10演算処理を実行させない演算制御部を、更に備える、
請求項1から請求項9の何れか一項に記載の保護制御装置。
【請求項11】
前記プロセッサが設けられる環境の温度を測定する温度測定部を、更に備え、
前記クロック制御部は、前記温度測定部によって測定された温度に基づいて、前記測定された温度が所定の閾値を超えた場合に、前記動作クロックの周波数を変更前の周波数より小さい値に変更する、
請求項1から請求項10の何れか一項に記載の保護制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、保護制御装置に関する。
【背景技術】
【0002】
発電所から供給される電力を需要家に分配するための電力系統がある。電力系統には、電力系統の諸設備の保護のための遮断器が設けられ、保護制御装置によって制御される。保護制御装置は、電力系統の電力状態を監視し、系統事故が発生した場合に遮断器を開路状態とする。また、保護制御装置に求められる機能、および所定の性能が担保されない場合には、系統事故が拡大する恐れがあることから、保護制御装置には長期運用と高い信頼性が求められている。一方、一般に、CPUの駆動クロック周波数が上がれば演算能力を向上させることが可能であるが、発熱が大きくなる傾向にある。演算能力を向上させるために高性能のCPUを使用すれば、保護制御装置が高温となりプロセッサが故障し易くなってしまうという問題もあった。しかし、保護制御装置は屋外に設置され、粉塵や雨水の侵入を防止するために、密閉されたた外箱に収容されることも多い。このため、保護制御装置が高温となり易く、しかも高温となった場合に熱を逃がすことが困難であった。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明が解決しようとする課題は、密閉された空間内において高性能のCPUを使用するような高温となり得る状況、及び強制空冷を適用することが構成上困難な状況であっても、その装置構成要素の主要部分であるプロセッサおよびその周辺回路の故障を抑制し、信頼性および可用性を向上させることができる保護制御装置を提供することである。
【課題を解決するための手段】
【0005】
実施形態の保護制御装置は、プロセッサ演算部と、クロック制御部とを持つ。前記プロセッサ演算部は、供給される動作クロックに同期した演算を実行するプロセッサが、プログラムを実行することにより、電力系統の状態を示すアナログ情報をデジタル情報に変換した情報に基づいて、系統事故の有無を判定し、前記判定した結果を用いて、前記電力系統に設けられた遮断器を制御する。前記クロック制御部は、前記プロセッサが実行する処理に応じて、前記プロセッサに供給される前記動作クロックの周波数を変更する。
【0006】
すなわち、演算性能を電力系統上の事故発生など必要時にのみ極大化し、その他定常時はむしろ抑制制御することで、周辺回路の発熱抑制により、より最大負荷時の演算性能の高いCPUまたはFPGAの適用を可能とし、一方で発熱抑制により組込みデバイスにありがちな発熱による経年劣化を抑制し、より当該装置およびシステムの信頼性と使用率の向上に寄与することにある。
【0007】
したがって、クロック周波数を上昇させてその演算性能を電力系統上の事故発生など必要時にのみ極大化し、その他定常時はむしろ抑制制御することで、周辺回路の発熱抑制により、より最大負荷時の演算性能の高いCPUまたはFPGAの適用を可能とし、一方で発熱抑制により組込みデバイスにありがちな発熱による経年劣化を抑制し、より当該装置およびシステムの信頼性と可用率の向上に寄与し、かつ演算処理機能を有効に利用して装置の小形化および信頼性の向上を図ることができる。
【図面の簡単な説明】
【0008】
【
図1】第1の実施形態の保護制御装置10の機能構成の例を示すブロック図。
【
図2】第1の実施形態の保護制御装置10のハードウェア構成の例を示す図。
【
図3】第1の実施形態のリアルタイム処理を説明する図。
【
図4】第1の実施形態の保護制御装置10が行う処理の流れを示すフローチャート。
【
図5】第2の実施形態の保護制御装置10Aに冗長構成が適用された例を示す図。
【
図6】第3の実施形態の保護制御装置10Cが適用される電力系統保護制御システム100の構成の例を示す図。
【発明を実施するための形態】
【0009】
以下、実施形態の保護制御装置を、図面を参照して説明する。
【0010】
(第1の実施形態)
第1の実施形態の保護制御装置10を、
図1、及び
図2を用いて説明する。
図1は、第1の実施形態の保護制御装置10の機能構成の例を示すブロック図である。保護制御装置10は、発電所から供給される電力を需要家に分配するための電力系統に設けられる諸設備、例えば、遮断器や断路器を制御する。保護制御装置10は、電力系統の状態に基づいて、送電線やその他電力設備に発生する地絡などの系統事故が発生したと判断される場合に、遮断器を遮断状態に制御する。また、保護制御装置10は、常時の系統切換えなどを行う際に、オペレータなどの操作に応じて断路器を遮断(断路)状態と通電状態とに制御する。
【0011】
保護制御装置10は、機能構成として、例えば、アナログ回路部11と、AD変換部12と、CPU演算部13と、FPGA演算部14と、周辺処理部15とを備える。保護制御装置10には、電力系統に設けられた計器用変成器により計測された電力に関するアナログ電気信号が入力される。アナログ電気信号は、例えば、電圧、電流、及び種々センサ情報などをアナログ値により示す信号である。保護制御装置10は、遮断器制御信号を遮断器(不図示)に出力する。遮断器制御信号は、例えば、遮断器を遮断するように指令する信号である。
【0012】
図2は、第1の実施形態の保護制御装置10のハードウェア構成の例を示す図である。保護制御装置10は、ハードウェア構成として、例えば、AFC20と、ADC21と、CPU22と、FPGA(Field-Programmable Gate Array)23と、MEMORY24と、HMI25と、通信I/F26とを備える。保護制御装置10のハードウェア構成のそれぞれは、内部バスBを介して接続される。保護制御装置10には、例えば、保護制御装置10のハードウェア構成がワンチップに組み込まれたSOC(System On Chip)が実装されている。
【0013】
AFC20は、アナログ回路部11の機能を実現するハードウェアである。ADC21は、AD変換部12の機能を実現するハードウェアである。MEMORY24は、保護制御装置10の各種の処理を実行するためのプログラムや、当該プログラムに用いられる変数やデータを記憶する。HMI25は、MEMORY24に記憶されているプログラムを実行して、周辺処理部15のHMI部150の機能を実現するハードウェアである。通信I/F26は、MEMORY24に記憶されているプログラムを実行して、周辺処理部15の通信部154の機能を実現するハードウェアである。
【0014】
CPU22は、MEMORY24に記憶されているプログラムを実行して、CPU演算部13の機能を実現するハードウェアである。すなわち、CPU演算部13は、保護制御装置10がハードウェアとして備えるCPU20がプログラムメモリに格納されたプログラムを実行することにより実現される。
【0015】
FPGA23は、MEMORY24に記憶されているプログラムを実行してFPGA演算部14の機能を実現するハードウェアである。すなわち、FPGA演算部14は、保護制御装置10がハードウェアとして備えるFPGA23がプログラムロジック(プログラムメモリ)に格納されたプログラムを実行することにより実現される。
【0016】
なお、以下では、周辺処理部15の、HMI部150及び通信部154以外の機能部(演算負荷測定部151、クロック制御部152、演算制御部153、状態変化検出部155、及び温度測定部156)が、CPU22によって処理が実行される場合を例示して説明する。しかしながら、これに限定されない。これらの機能部のうち一部または全部は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、またはFPGA23などのハードウェアにより実現されてもよい。
【0017】
アナログ回路部11は、保護制御装置10に入力されたアナログ電気信号をアナログ処理する。ここで行うアナログ処理は、後段のAD変換部12による離散化に伴う折り返し誤差(エイリアシング)を防止するために、アナログ電気信号に含まれる高周波成分を除去する処理である。
【0018】
AD変換部12は、アナログ情報を取得し、取得したアナログ情報をデジタル情報に変換する。アナログ情報は、アナログ回路部11によるアナログ処理後のアナログ電気信号である。AD変換部12には、一定の周期で動作する動作クロックが供給される。動作クロックは、例えば、クロック生成部(不図示)により生成され、後述するクロック制御部152を介して供給される。クロック生成部は、例えば、水晶振動子などの発振回路と、PLL(Phase Locked Loop)などの位相同期回路などにより構成される。
【0019】
AD変換部12は、供給される動作クロックに同期して、アナログ情報を取得する。AD変換部12は、アナログ情報を取得してから、次の動作クロックに同期して次のアナログ情報を取得前までの一定の時間内に、取得したアナログ情報をデジタル情報に変換する。
【0020】
CPU演算部13は、保護制御装置10が行う処理に用いられる各種の演算処理のうち少なくとも一部を行う。
【0021】
ここでの各種の演算処理は、保護制御装置10が、遮断器を制御するために行う演算処理であって、例えば、リレー演算処理、FEP(Front End Processor)演算処理、通信処理、HMI(Human Machine Interface)処理などである。リレー演算処理は、電力系統における系統事故などの状態の変化(以下、状変ともいう)を検出する処理であって、電力系統における周波数が適切か、電圧や電流に急激な変化が発生していないか等を判定するための処理である。また、電力系統に状変が検出された場合には、事故記録を記憶する処理、外部装置に事故を通知する処理、事故時のアナログ電気信号を保護制御装置内のメモリや外部装置への転送する処理などが行なわれる。
【0022】
FEP演算処理は、保護制御装置10が外部の機器(外部装置)と通信する際に通信前や、通信後に行う処理である。通信前に行う処理とは、例えば、保護制御装置10が外部装置に送信する情報を、通信に用いる通信プロトコルに応じた信号フォーマットに変換する処理である。通信後に行う処理とは、例えば、保護制御装置10が外部装置から受信した信号から、通信に用いた信号フォーマットに従って、ヘッダやフッタを取り除く等して、主要な情報(データ部)を抽出する処理である。通信処理は、外部装置と通信を行う処理である。HMI処理は、保護制御装置10に操作入力される信号(操作入力信号)に対応する処理である。操作入力信号は、「操作情報」の一例である。
【0023】
CPU演算部13は、例えば、保護制御装置10が行う処理に用いられる各種の演算処理のうち、リレー演算処理を行う。この場合、リレー演算処理を行うプログラムは、保護制御装置10が備えるCPU22のプログラムメモリに格納される。CPU演算部13が行うリレー演算処理は、CPU22が当該リレー演算処理を行うプログラムを実行することにより実現される。
【0024】
FPGA演算部14は、保護制御装置10が行う処理に用いられる各種の演算処理のうち、少なくともCPU演算部13により行われる一部を除く、他の処理を行う。FPGA演算部14は、例えば、FEP演算処理を行う。この場合、FEP演算処理を行うプログラムは、保護制御装置10が備えるFPGA23のプログラムメモリに格納される。FPGA演算部14が行うFEP演算処理は、FPGA23が当該リレー演算処理を行うプログラムを実行することにより実現される。
【0025】
周辺処理部15は、保護制御装置10の周辺処理、例えば、通信処理、HMI処理を行う。また、周辺処理部15は、CPU22及びFPGA23が行う処理を制御する。具体的に、周辺処理部15は、CPU22及びFPGA23が行う処理が過負荷とならないように、かつ、予め定めた時間内に行われるように制御する。これにより、CPUなどの発熱量を抑え、保護制御装置10の長期運用を可能とすると共に、保護制御装置10の故障や誤動作を抑制することができる。
【0026】
周辺処理部15は、HMI部150と、演算負荷測定部151と、クロック制御部152と、演算制御部153と、通信部154と、状態変化検出部155と、温度測定部156と、を備える。
【0027】
HMI部150は、保護制御装置10と接続されるタッチパネルや入力操作ボタンなどの入力装置(不図示)からの操作入力信号を取得する。操作入力信号は、例えば、オペレータが手動で電力系統の状況を確認したり、遮断器や断路器を操作したりする信号である。HMI部150は、取得した信号を、例えば、CPU演算部13に渡す。この場合、CPU演算部13は、HMI部150によって取得された操作入力信号に応じた処理を行う機能部を備える。
【0028】
通信部154は、外部装置と通信を行う。外部装置は、例えば、保護制御装置10が保護・制御の監視対象とする領域の電力系統の状態(いわゆる、系統情報)を通知する。また、外部装置は、遮断器の遮断を指示したり、断路器の断路を指示したりする信号を通知する場合もある。通信部154は、取得した信号を、FPGA演算部14に出力する。
【0029】
状態変化検出部155は、アナログ情報、又はアナログ情報をデジタル情報に変換した情報(以下、アナログ情報等という)に基づいて、電力系統の状態変化を検出する。状態変化検出部155は、例えば、アナログ情報等が、急激に変化した場合に電力系統の状態が変化したと判定する。具体的に、状態変化検出部155は、アナログ情報等にフィルタリング処理を行う。演算制御部153は、例えば、アナログ情報等に、所定の電流値以上、所定の電圧以下の信号、若しくは所定の周波数の信号が、所定の信号強度以上含まれている場合に、電力系統の状態が変化したと判定する。
【0030】
温度測定部156は、プロセッサが設けられる環境の温度を測定する。温度測定部156は、例えば、プロセッサと同一チップ内に組み込まれた温度センサである。温度測定部156は、保護制御装置10の基板(例えば、CPUやメモリで構成されたプリント基板)に設けられた温度センサによって計測された温度を示す情報を取得してもよい。温度測定部156は、保護制御装置10が収容される外箱に設けられた温度センサによって計測された温度を示す情報を取得してもよい。
【0031】
演算負荷測定部151は、プロセッサ(CPU22及びFPGA23)の演算負荷を測定する。演算負荷は、プロセッサの処理能力に対して、今実行中の演算処理がどの程度影響を与えているかを示す指標であって、例えば、プロセッサ使用率である。プロセッサ使用率は、ある所定時間に対してプロセッサが演算処理を行っている時間の割合である。CPUに搭載されるオペレーティングシステム(OS)には、CPU使用率を定期的に取得するしくみが予め実装されているものが多く、演算負荷測定部151は、この仕組みを用いてCPU使用率を取得することが可能である。
【0032】
あるいは、演算負荷測定部151は、CPU演算部13が行うリレー演算処理の進捗状況を、演算負荷として測定してもよい。この場合、例えば、CPU演算部13は、リレー演算処理を行う際に、主要な処理が終了する度に割り込みを発生させる。割り込みを発生させるとは、例えば、CPU演算部13から書込み可能であって、演算負荷測定部151から読取可能な変数(割り込みフラグ)に、CPU演算部13が所定の値(1)を書込むことである。リレー演算処理を行う際の主要な処理とは、例えば、デジタル情報を取得する処理、電流値や電圧値、及び周波数などを算出する処理、電流値等の変化量を算出する処理、変化量に基づいて遮断器を判定するか否かを判定する処理などである。
【0033】
演算負荷測定部151は、定期的に割り込みフラグの値を参照し、割り込みフラグが所定の値(1)に変化した時刻を、割り込みが発生した時刻、すなわち主要な処理が終了した時刻を取得する。これにより、演算負荷測定部151は、例えば、デジタル情報を取得する処理が終了した時刻、電流値などを算出する処理が終了した時刻などを取得する。演算負荷測定部151は、デジタル情報を取得する処理が終了した時刻から、電流値などを算出する処理が終了した時刻までを、電流値などを算出する処理に要した時間とする。演算負荷測定部151は、この様にしてリレー演算処理を行う際の主要な処理のそれぞれに要した時間を算出する。演算負荷測定部151は、予め想定した処理時間に対する、実際に要した時間の割合をCPU22の演算負荷とする。
【0034】
演算負荷測定部151は、上述した演算処理に要する時間を算出する方法を、FPGA演算部14の処理に適用して、FPGA23の演算負荷を算出するようにしてもよい。この場合、FPGA23の演算負荷は、予め想定した処理時間に対する、実際に要した時間の割合となる。
【0035】
クロック制御部152は、プロセッサに供給される動作クロックの周波数を制御する。クロック制御部152は、周波数が異なる複数の動作クロックを生成し、特定条件をトリガとして、プロセッサに供給する動作クロックの周波数を切り替える。
【0036】
以下の説明では、クロック制御部152が、CPU22及びFPGA23に供給する動作クロックを制御する場合を例示して説明するが、これに限定されない。クロック制御部152は、他のプロセッサ(例えば、AFC20、ADC21、MEMORY24、HMI25、通信I/F26など)に供給される動作クロックの周波数を制御するようにしてもよい。
【0037】
クロック制御部152には、クロック生成部(不図示)により生成された所定の第1周波数の動作クロックが入力される。クロック制御部152は、入力される第1周波数の動作クロックを間引くことにより、第1周波数を分周した第2周波数の動作クロックを生成する。例えば、クロック制御部152は、入力された第1周波数の動作クロックの4クロックのうち、1クロックのみ選択し、他の3クロックを非選択とする間引きを行うことにより、第1周波数の1/4の周波数の動作クロックを生成する。クロック制御部152は、同様にして、第1周波数の1/3、1/8、1/32…など、複数の互いに異なる周波数の動作クロックをそれぞれ生成することが可能である。クロック制御部152は、特定条件に対応する周波数の動作クロックを生成し、生成した動作クロックをプロセッサに供給する。これにより、クロック制御部152は、プロセッサに供給される動作クロックの周波数を制御する。
【0038】
保護制御装置10は、電力系統の状態に基づいて、地絡などの系統事故が発生したと判断される場合に、遮断器を遮断状態に制御する。つまり、電力系統の状態が変化しない通常時において、保護制御装置10は、遮断器を遮断せず、通電状態を継続させる。通常状態においては、電力系統の状態が変化した状変時と比較して、処理すべき演算量は少ない傾向にある。一方、電力系統の状態が変化した状変時において、処理すべき演算量が増加する傾向にある。また、保護制御装置10は、系統切換えなどを行う際に、オペレータなどの操作に応じて断路器を遮断(断路)状態と通電状態とに制御する。つまり、保護制御装置10は、系統切換えなどを行う場合、通常時と比較して、処理すべき演算量が増加する傾向にある。
【0039】
このような状況を鑑み、クロック制御部152は、通常時において、プロセッサに供給し得る複数の動作クロックのうち、予め定めた比較的低速な周波数の動作クロックを、プロセッサに供給する。ここで、通常時において、最も低速な周波数の動作クロックを、プロセッサに供給しないことが望ましい。保護制御装置10が高温になりすぎた場合、通常時よりも更に低い周波数の動作クロックをプロセッサに供給して、いわゆる縮退運転を行う余地を残すためである。そして、クロック制御部152は、保護制御装置10の処理状態が、通常状態から変化して特定条件が満たされた場合、プロセッサに供給し得る複数の動作クロックのうち、通常時に供給する動作クロックの周波数と比較して、より高速な(より大きな)周波数の動作クロックを、プロセッサに供給する。
【0040】
クロック制御部152は、より高速な周波数の動作クロックをプロセッサに供給した後、当該プロセッサの演算負荷が所定の閾値より大きくなった場合、当該プロセッサに供給する動作クロックの周波数を、変更前の周波数よりも低速(小さく)にする。変更後の周波数は、通常時の周波数と同じであってもよいし、通常時の周波数と、変更前の高速な周波数との間の値であってもよい。或いは、クロック制御部152は、より高速な周波数の動作クロックをプロセッサに供給した後、一定時間が経過した場合、当該プロセッサに供給する動作クロックの周波数を通常時の周波数に戻す。なお、上記では、クロック制御部152がプロセッサの演算負荷に応じて動作クロックの周波数を切り替える場合を例示して説明した。しかしながら、これに限定されない。クロック制御部152は、例えば、温度に応じて動作クロックの周波数を切り替えるようにしてもよい。ここでの温度は、保護制御装置10の基板(例えば、CPUやメモリで構成されたプリント基板)の温度や、保護制御装置10が収容される外箱の内部の温度である。また、クロック制御部152は、演算負荷と、温度との両方を用いて動作クロックの周波数を切り替えるようにしてもよい。この場合において、クロック制御部152は、演算負荷と温度とをそれぞれ異なる係数で重みづけした指標により動作クロックの周波数を切り替えるようにしてもよい。
【0041】
ここで、クロック制御部152が、プロセッサに供給する動作クロックの周波数を、変更前の周波数より大きい値に変更するトリガとなる特定条件について、説明する。特定条件として、1)状変時、2)制御機能動作時、3)HMI操作時、3)通信時、4)その他の処理を実行時、が考えられる。
【0042】
1)状変時においては、リレー演算処理に加え、事故記録を記憶する処理、外部装置に事故を通知する処理、事故時のアナログ電気信号を転送する処理など、通常時と比較して多くの処理を行う必要がある。このため、クロック制御部152は、状変時において、プロセッサに供給する動作クロックの周波数を、変更前の周波数より高速な周波数とする。クロック制御部152は、任意の方法で状変が発生したか否かを判定してよい。例えば、クロック制御部152は、CPU演算部13によって、遮断器を遮断すると判定された場合に、状変が発生したと判定する。或いは、クロック制御部152は、後述する状態変化検出部155によって状態が変化したことが検出された場合に、状変が発生したと判定するようにしてもよい。状態変化検出部155が、アナログ情報等に基づいて状変を検出した結果を用いることで、より早期に、状変時の対応を開始させることが可能となる。
【0043】
2)制御機能動作時とは、保護制御装置10による制御機能が動作した時を示す。ここでの制御とは、保護制御装置10の制御機能をつかって電力系統における系統構成の切換えなどをすること、具体的には、保護制御装置10を介して遮断器や断路器を遮断(断路)状態又は通電状態に制御することである。クロック制御部152は、例えば、HMIが操作され、断路器を制御する旨の操作入力信号が入力された場合、プロセッサに供給する動作クロックの周波数を、より高速な周波数とする。或いは、クロック制御部152は、外部装置から断路器を制御する旨の指令が受信された場合、プロセッサに供給する動作クロックの周波数を、変更前の周波数より高速な周波数とする。
【0044】
3)HMI操作時においては、操作入力信号に応じた処理を行う必要がある。このため、クロック制御部152は、HMI部150から操作入力信号が入力された場合、プロセッサに供給する動作クロックの周波数を、変更前の周波数より高速な周波数とする。なお、クロック制御部152は、操作入力信号の種別に応じて、プロセッサに供給する動作クロックの周波数を制御するようにしてもよい。例えば、クロック制御部152は、断路器を制御する旨の操作入力信号が入力された場合、その他の操作入力信号が入力された場合よりも、高速な周波数の動作クロックをプロセッサに供給するようにしてもよい。
【0045】
4)通信時においては、受信信号を復調し、通知された内容に応じた処理を行う必要がある。また、応答を行うための変調処理、及び送信処理を行う必要がある。このため、クロック制御部152は、通信部154から受信信号が受信された場合、プロセッサに供給する動作クロックの周波数を、変更前の周波数より高速な周波数とする。なお、クロック制御部152は、受信信号の種別に応じて、プロセッサに供給する動作クロックの周波数を制御するようにしてもよい。例えば、クロック制御部152は、断路器を制御する旨の受信信号が受信された場合、その他の受信信号が受信された場合よりも、高速な周波数の動作クロックをプロセッサに供給するようにしてもよい。
【0046】
5)その他の処理とは、通常時には行わない処理であって、例えば、整定値の変更や、保守点検、初期化などの処理である。このような処理は、例えば、HMI部150に操作入力信号が入力されること、又は、通信部154に受信信号が受信されることに伴い、保護制御装置10にて処理が行われる。クロック制御部152は、HMI部150にその他の処理の実行を示す操作入力信号が入力された場合に、プロセッサに供給する動作クロックの周波数を、より高速な周波数とする。或いは、クロック制御部152は、通信部154にその他の処理の実行を示す受信信号が入力された場合に、プロセッサに供給する動作クロックの周波数を、変更前の周波数より高速な周波数とする。
【0047】
演算制御部153は、プロセッサ(CPU22及びFPGA23)が行う演算処理を制御する。上述したように、本実施形態では、特定条件が満たされる場合、プロセッサに供給する動作クロックの周波数を、変更前の周波数より大きい値に変更する。特定条件が発生した場合、通常時と比較してCPU22及びFPGA23にて行う処理が増大するためである。演算制御部153は、特定条件が発生した場合に、CPU22及びFPGA23にて行われるべき処理が、リアルタイムに処理できるように制御する。
【0048】
ここで、リアルタイム処理について、
図3を用いて説明する。
図3は、第1の実施形態のリアルタイム処理を説明する図である。
図3における円Rは、周波数50[Hz]で一周する交流電力の周期をイメージした図である。
図3では、円Rを30度ごとに分割している。0~90度の円弧は、位相が90度進んだことを示している。
【0049】
本実施形態では、保護制御装置10は、電力系統における交流の電流・電圧をサンプリングして、デジタルフィルタ処理や実効値演算などにより、状変が発生した場合に、その系統事故の事象や現象を捉えて遮断器への開路指令により、素早く遮断器を制御して当該事故点を系統から切り離す必要がある。前述のデジタルフィルタや実効値演算、および遮断器に遮断器制御信号が取得されてから、実際に遮断器が遮断状態になるまでの時間などを考慮して、CPU22及びFPGA23で演算処理に使うことが可能な処理時間の上限が決定される。この上限を超過してしまうと、デジタルフィルタや実効値演算にかかる処理が遅れ、リアルタイム処理が破綻する。このため、CPU22及びFPGA23は、演算処理に使うことが可能な処理時間の上限を超過しないように、高速に処理を行う必要がある。
【0050】
例えば、保護制御装置10は、電力系統の周波数50[Hz]に対して位相が30度進むまでの間に演算処理を終了させる必要があると決定されている場合を考える。この場合、
図3のαに相当する時間の間に、CPU22及びFPGA23の演算処理を終了させる必要がある。50[Hz]の周期は20[ms]である。30度位相が進までの時間は、20[ms]の30/360、約1.66[ms]程度である。この場合、保護制御装置10は、CPU22及びFPGA23に実行させる処理を、約1.66[ms]以内に終了させる必要がある。
【0051】
一方、本実施形態では、より高速な周波数の動作クロックをプロセッサに供給した後、当該プロセッサの演算負荷もしくは温度が所定の閾値より大きくなった場合、当該プロセッサに供給する動作クロックの周波数を、変更前の周波数よりも低速に変更する。処理負荷が大きくなると、CPU22及びFPGA23の発熱量が増大し、故障や誤動作の要因となるためである。
【0052】
特定条件が発生した場合において、一旦、動作クロックの周波数を大きくした後、処理負荷が大きくなったために動作クロックの周波数が低速に変更される場合があり得る。このような場合、CPU22及びFPGA23にて行う必要がある処理を、リアルタイムに処理できなくなる可能性がある。
【0053】
この対策として、演算制御部153は、CPU22の演算負荷もしくは温度が所定の閾値より大きくなった場合、CPU22が行う予定であった処理の全部又は一部の処理をFPGA23に実行させる(再割り当てする)。演算制御部153は、FPGA23に実行させた処理の演算結果をCPU22に取得させる。これにより、CPU22が行う処理がリアルタイムに処理できるようにする。
【0054】
この場合、予め、MEMORY24には、CPU22が実行するプログラムの全部又は一部のプログラム(以下、第1プログラム)が、FPGA23が実行するプログラムを書込む領域に記憶されている。また、MEMORY24のメモリ領域のうち、CPU22が書込可能で、FPGA23が読取可能な領域に、第1指示フラグが記憶される。この第1指示フラグは、第1プログラムをFPGA23に実行させる指示の有無が書込まれるフラグである。第1指示フラグは、例えば、0が指示なし、1が指示あり、を示し、初期状態として0が書込まれている。また、MEMORY24のメモリ領域のうち、CPU22が読取可能で、FPGA23が書込可能な領域に、第1完了フラグが記憶される。この第1完了フラグは、第1プログラムの実行が完了したか否かが書込まれるフラグである。第1完了フラグは、例えば、0が未完了、1が完了、を示し、初期状態として0が書込まれている。また、MEMORY24のメモリ領域のうち、CPU22が読取可能で、FPGA23が書込可能な領域に、FPGA23が実行した第1プログラムの演算結果が記憶される。
【0055】
例えば、演算制御部153は、演算負荷測定部151により計測されたCPU22の演算負荷を定期的に取得する。また、演算制御部153は、温度測定部156により計測された温度を定期的に取得する。演算制御部153は、CPU22の演算負荷もしくは温度が所定の閾値より大きい場合、CPU22が実行予定であった所定の第1プログラムを実行させず、第1指示フラグに1を書込む。
【0056】
FPGA23は、第1指示フラグを定期的に参照し、第1指示フラグが1となった場合、第1プログラムを実行し、第1指示フラグを0にクリアする。FPGA23は、実行した第1プログラムが終了すると、第1完了フラグに1を書込み、演算結果を書込んで記憶させる。演算制御部153は、定期的に第1完了フラグを参照し、第1完了フラグが1となった場合、処理結果を取得し、第1完了フラグを0にクリアする。これにより、演算制御部153は、CPU22が行う予定であった処理の全部又は一部の処理をFPGA23に実行させ、その演算結果をCPU22に取得させる。
【0057】
なお、上記では、演算制御部153が、FPGA23に実行させた処理の演算結果をCPU22が取得する場合を説明した。これに限定されることはない。演算制御部153は、FPGA23に実行させた処理の演算結果を、そのままFPGA23が処理するようにしてもよい。
【0058】
或いは、演算制御部153は、FPGA23の演算負荷もしくは温度が所定の閾値より大きくなった場合、FPGA23が行う予定であった処理の全部又は一部の処理をCPU22に実行させる(再割り当てする)ようにしてもよい。演算制御部153は、CPU22に実行させた処理の演算結果をFPGA23に取得させる。これにより、FPGA23が行う処理がリアルタイムに処理できるようにする。
【0059】
この場合、予め、MEMORY24には、FPGA23が実行するプログラムの全部又は一部のプログラム(以下、第2プログラムという)が、CPU22が実行するプログラムを書込む領域に記憶されている。また、MEMORY24のメモリ領域のうち、FPGA23が書込可能で、CPU22が読取可能な領域に、第2指示フラグが記憶される。この第2指示フラグは、第2プログラムをCPU22に実行させる指示の有無が書込まれるフラグである。第2指示フラグは、例えば、0が指示なし、1が指示あり、を示し、初期状態として0が書込まれている。また、MEMORY24のメモリ領域のうち、FPGA23が読取可能で、CPU22が書込可能な領域に、第2完了フラグが記憶される。この第2完了フラグは、第2プログラムの実行が完了したか否かが書込まれるフラグである。第2完了フラグは、例えば、0が未完了、1が完了、を示し、初期状態として0が書込まれている。また、MEMORY24のメモリ領域のうち、FPGA23が読取可能で、CPU22が書込可能な領域に、CPU22が実行した第2プログラムの演算結果が記憶される。
【0060】
例えば、演算制御部153は、演算負荷測定部151により計測されたFPGA23の演算負荷を定期的に取得する。また、演算制御部153は、温度測定部156により計測された温度を定期的に取得する。演算制御部153は、FPGA23の演算負荷もしくは温度が所定の閾値より大きい場合、FPGA23に第2プログラムの実行を行わずに、第2指示フラグに1を書込む。
【0061】
CPU22は、第2指示フラグを定期的に参照し、第2指示フラグが1となった場合、第2プログラムを実行し、第2指示フラグを0にクリアする。CPU22は、実行した第2プログラムが終了すると、第2完了フラグに1を書込み、その演算結果を書込んで記憶させる。演算制御部153は、定期的に第2完了フラグを参照し、第2完了フラグが1となった場合、処理結果をFPGA23に取得させ、第2完了フラグを0にクリアする。これにより、演算制御部153は、FPGA23が行う予定であった処理の全部又は一部の処理をCPU22に実行させ、その演算結果をCPU22に取得させる。
【0062】
なお、上記では、演算制御部153が、CPU22に実行させた処理の演算結果をFPGA23が取得する場合を説明した。これに限定されることはない。演算制御部153は、CPU22に実行させた処理の演算結果を、そのままCPU22が処理するようにしてもよい。
【0063】
また、演算制御部153は、温度測定部156により測定された温度が所定の温度閾値より大きくなった場合、CPU22が行う予定であった処理の全部又は一部の処理を省略する縮退運転をする。処理を省略する対象は、任意に決定されてよい。例えば、保護制御装置10において、CPU演算部13が行う各種の処理それぞれに、予め優先度を記憶させておく。演算制御部153は、温度測定部156により測定された温度が所定の温度閾値より大きくなった場合、その温度に応じて、優先度の低い処理をCPU22に実行させないようにする。
【0064】
演算制御部153は、温度測定部156が測定した領域に応じて、CPU22に実行させない処理を制御するようにしてもよい。例えば、演算制御部153は、プロセッサが組み込まれたチップ内の温度が所定の温度閾値より大きくなった場合、優先度の最も低い一つの処理をCPU22に実行させないようにする。演算制御部153は、保護制御装置10の基板の温度が所定の温度閾値より大きくなった場合、優先度の低い処理から順に複数(例えば二つ)の処理をCPU22に実行させないようにする。演算制御部153は、保護制御装置10が収容される外箱内の温度が所定の温度閾値より大きくなった場合、優先度の低い処理から順に、更に多い(例えば5つ)の処理をCPU22に実行させないようにする。
【0065】
演算制御部153は、温度測定部156により測定された温度が所定の温度閾値より大きくなった場合、FPGA23が行う予定であった処理の全部又は一部の処理を省略する縮退運転をするようにしてもよい。処理を省略する対象は、任意に決定されてよく、例えば、演算制御部153がCPU22に縮退運転をさせる方法と同様の方法を適用することができる。
【0066】
図4は、第1の実施形態の保護制御装置10が行う処理の流れを示すフローチャートである。以下では、CPU22の演算負荷に応じて処理を行う場合について説明する。FPGA23の演算負荷に応じて処理を行う場合についても、同様な流れで処理を行うことができる。また、保護制御装置10の温度に応じて処理を行う場合についても、同様な流れで処理を行うことができる。
【0067】
まず、保護制御装置10は、保護制御装置10の処理状態が特定条件を満たすか否かを判定する(ステップS10)。保護制御装置10は、例えば、保護制御装置10は、状態変化検出部155によって電力系統における状変が検出された場合、特定条件が満たされたと判定する。保護制御装置10は、HMI部150に操作入力信号が入力された場合、特定条件が満たされたと判定する。保護制御装置10は、通信部154に外部装置からの通知が受信された場合、特定条件が満たされたと判定する。
【0068】
保護制御装置10は、保護制御装置10の処理状態が特定条件を満たすと判定した場合、クロック制御部152によって、CPU22及びFPGA23に供給する動作クロックの周波数を、通常時の周波数よりも高速な周波数に変更する(ステップS11)。
【0069】
保護制御装置10は、演算負荷測定部151によってCPU22の演算負荷を測定し(ステップS12)、測定したCPU22の演算負荷が所定の閾値以下であるか否かを判定する(ステップS13)。
【0070】
保護制御装置10は、CPU22の演算負荷が所定の閾値以下である場合、所定の終了条件を満たすか否かを判定する(ステップS14)。ここでの所定の終了条件とは、例えば、CPU22及びFPGA23に供給する動作クロックの周波数を変更してから所定時間が経過した、又は、特定条件の発生に伴って行われた演算処理が完了したか等である。保護制御装置10は、所定の終了条件が満たされた場合、CPU22及びFPGA23に供給する動作クロックの周波数を、通常時の周波数に戻す(ステップS15)。
【0071】
一方、保護制御装置10は、ステップS13において、CPU22の演算負荷が所定の閾値より大きい場合、CPU22に供給する動作クロックの周波数を、より低速な周波数に変更する(ステップS16)。保護制御装置10は、演算制御部153によって、CPU22が行う予定であった処理の実行を、FPGA23に実行させる再割り当てを行う(ステップS17)。演算制御部153は、FPGA23に再割り当てした処理の演算結果をCPU22に取得させる(ステップS18)。保護制御装置10は、ステップS14に示される処理を行う。
【0072】
以上説明したように、第1の実施形態の保護制御装置10は、CPU演算部13(「プロセッサ演算部」の一例)又は、FPGA演算部14(「プロセッサ演算部」の一例)と、クロック制御部152とを備える。CPU演算部13は、供給される動作クロックに同期した演算を実行するCPU22(「プロセッサ」の一例)が、プログラムを実行することにより、電力系統の状態を示すアナログ情報をデジタル情報に変換した情報に基づく判定をし、前記判定をした結果を用いて、前記電力系統に設けられた遮断器を制御する。FPGA演算部14は、供給される動作クロックに同期した演算を実行するFPGA23(「プロセッサ」の一例)が、プログラムを実行することにより、電力系統の状態を示すアナログ情報をデジタル情報に変換した情報に基づく判定をし、前記判定をした結果を用いて、前記電力系統に設けられた遮断器を制御する。クロック制御部152は、CPU22又はFPGA23が実行する処理に応じて、CPU22又はFPGA23に供給される動作クロックの周波数を変更する。
【0073】
これにより、第1の実施形態の保護制御装置10は、CPU22又はFPGA23の処理状況に応じて、CPU22又はFPGA23の動作クロックの周波数を変更することができる。このため、CPU22又はFPGA23から発熱が予測される処理状況である場合に、動作クロックの周波数をより小さい周波数に変更することが可能である。したがって、高温となり得る環境であってもプロセッサの発熱を抑えて故障を抑制することができる。また、第1の実施形態の保護制御装置10は、状変時など、通常時と比較して演算処理が増加した場合に、動作クロックの周波数をより大きい周波数に変更することが可能である。したがって、CPU22又はFPGA23に実行させる演算処理が増加する状況であってもリアルタイムに処理を行うことができる。
【0074】
また、第1の実施形態の保護制御装置10では、演算負荷測定部151を備える。演算負荷測定部151は、CPU22又はFPGA23の演算負荷を測定する。クロック制御部152は、演算負荷測定部151によって測定された演算負荷に基づいて、CPU22又はFPGA23に供給される動作クロックの周波数を変更する。これにより、第1の実施形態の保護制御装置10は、演算負荷もしくは温度という直接的で客観的な指標に基づいて動作クロックの周波数を変更することができる。したがって、精度よく発熱を抑制したり、増加する処理をリアルタイムに処理したりすることが可能となる。
【0075】
また、第1の実施形態の保護制御装置10では、HMI部150(「外部情報取得部」の一例)、又は通信部154(「外部情報取得部」の一例)を備える。HMI部150は、タッチパネルなどの入力部(「外部」の一例)から、操作入力情報(「外部情報」の一例)を取得する。通信部154は、外部機器(「外部」の一例)から受信信号(「外部情報」の一例)を受信(取得)する。クロック制御部152は、HMI部150によって操作入力情報が取得された場合、又は通信部154によって受信信号が受信(取得)された場合、CPU22又はFPGA23に供給される動作クロックの周波数を、変更前の周波数より大きい値に変更する。これにより、第1の実施形態の保護制御装置10は、外部から取得した情報を処理するために通常時と比較して必要な演算処理が増加した場合であっても、動作クロックの周波数をより大きい周波数に変更することが可能である。したがって、上述した効果と同様の効果を奏する。
【0076】
また、第1の実施形態の保護制御装置10では、演算負荷測定部151と、演算制御部153とを備える。演算負荷測定部151は、CPU22の演算負荷を測定する。演算制御部153は、CPU22の演算負荷が第1閾値より大きい場合、CPU22によって実行される予定の第1プログラム(「第1演算処理における少なくとも一部の第2演算処理」の一例)を、FPGA23に実行させ、FPGA23によって実行された第1プログラムの実行結果をCPU22に取得させる。これにより、第1の実施形態の保護制御装置10では、CPU22の演算負荷が増大した場合に、処理の一部をFPGA23に実行させることが可能である。したがって、CPU22の演算負荷が増大した場合に、動作クロックの周波数を小さくして発熱を抑えつつ、リアルタイムに処理を行うことが可能となる。
【0077】
また、第1の実施形態の保護制御装置10では、演算負荷測定部151と、演算制御部153とを備える。演算負荷測定部151は、FPGA23の演算負荷を測定する。演算制御部153は、FPGA23の演算負荷が第2閾値より大きい場合、FPGA23によって実行される予定の第2プログラム(「第3演算処理における少なくとも一部の第4演算処理」の一例)を、CPU22に実行させ、CPU22によって実行された第2プログラムの実行結果をFPGA23に取得させる。これにより、第1の実施形態の保護制御装置10では、FPGA23の演算負荷が増大した場合に、処理の一部をCPU22に実行させることが可能である。したがって、FPGA23の演算負荷が増大した場合に、動作クロックの周波数を小さくして発熱を抑えつつ、リアルタイムに処理を行うことが可能となる。
【0078】
また、第1の実施形態の保護制御装置10では、状態変化検出部155を備える。状態変化検出部155は、アナログ情報、又はアナログ情報をデジタル情報に変換した情報に基づいて、電力系統の状態変化を検出する。クロック制御部152は、状態変化検出部155によって状態変化が検出された場合、CPU22又はFPGA23に供給される動作クロックの周波数を、変更前の周波数より大きい値に変更する。これにより、第1の実施形態の保護制御装置10では、CPU22又はFPGA23の処理により状変の検出を行う場合と比較して、より早く状変を検出することができる。したがって、より早くCPU22又はFPGA23に供給される動作クロックの周波数を変更でき、処理の増大に備えることができる。
【0079】
(第2の実施形態)
第2の実施形態について説明する。本実施形態では、保護制御装置10Aが冗長構成となる点において、上述した第1の実施形態と相違する。以下では、上述した第1の実施形態と相違する構成についてのみ説明する。上述した第1の実施形態と同等の構成については、同じ符号を付してその説明を省略する。
【0080】
図5は、第2実施形態の保護制御装置10Aの構成の例を示すブロック図である。保護制御装置10Aは、メイン部MAINと、フェールセーフ部FSとを備える。メイン部MAINは、演算制御部153Aを除き、保護制御装置10と同等の構成である。フェールセーフ部FSは、演算制御部153Bを除き、保護制御装置10と同等の構成である。
【0081】
演算制御部153Aは、メイン部MAINのCPU22の演算負荷が所定の閾値より大きくなった場合、もしくはメイン部MAINの温度が所定の閾値より上昇した場合、メイン部MAINのCPU22が行う予定であった処理の全部又は一部の処理(以下、当該処理に対応するプログラムを、第3プログラムという)をフェールセーフ部FSのCPU22に実行させる(再割り当てする)。演算制御部153Aは、フェールセーフ部FSのCPU22に実行させた処理の演算結果を、メイン部MAINのCPU22に取得させる。これにより、メイン部MAINのCPU22が行う処理をリアルタイムに処理できるようにする。
【0082】
演算制御部153Aは、第3プログラムをフェールセーフ部FSのCPU22に実行させる前に、ヘルスチェックを行う。ヘルスチェックは、フェールセーフ部FSのCPU22が健全であるか否かを確認する処理である。ヘルスチェックを行うことにより、フェールセーフ部FSのCPU22に処理を実行させた場合に、一過性の不良による誤作動が発生するなどして、第3プログラムが正しく実行できなくなってしまう事態を抑制できる。
【0083】
演算制御部153Aは、例えば、フェールセーフ部FSのCPU22に鍵コードに基づく鍵合成コードを演算させ、当該演算させた結果が、正しい結果であるか否かを判定することにより、ヘルスチェックを行う。この場合、メイン部MAINのMEMORY24におけるCPU22が実行するプログラムや変数を書込む領域には、鍵コード、及び鍵合成コードを演算するプログラムが記憶される。また、フェールセーフ部FSのMEMORY24におけるCPU22が実行するプログラムを書込む領域には、鍵合成コードを演算するプログラムが記憶される。
【0084】
演算制御部153Aは、例えば、メイン部MAINとフェールセーフ部FSとの通信(例えば、IOポートを用いたシリアル通信など)を介して、フェールセーフ部FSに、鍵コードを送信すると共に、送付した鍵コードを用いた鍵合成コードを演算する指示を行う。フェールセーフ部FSのCPU22は、当該指示にしたがって、鍵合成コードを演算するプログラムを実行し、演算結果(鍵合成コード)をメイン部MAINに通知する。演算制御部153Aは、予めメイン部MAINのCPU22に実行させておいた演算結果(鍵合成コード)と、フェールセーフ部FSから通知された演算結果(鍵合成コード)とを比較する。演算制御部153Aは、双方の演算結果が一致する場合、フェールセーフ部FSのCPU22が健全であると判定する。
【0085】
演算制御部153Aは、フェールセーフ部FSのCPU22が健全であると判定した場合、第3プログラムをフェールセーフ部FSのCPU22に実行させる。演算制御部153Aは、メイン部とフェールセーフ部FSとの通信(例えば、IOポートを用いたシリアル通信など)を介して、フェールセーフ部FSに、第3プログラムを実行する指示を行う。フェールセーフ部FSのCPU22は、当該指示にしたがって、第3プログラムを実行し、演算結果をメイン部MAINに通知する。
【0086】
なお、演算制御部153Aは、メイン部MAINのCPU22の演算負荷が所定の閾値より大きくなった場合、もしくはメイン部MAINの温度が所定の閾値より上昇した場合、第3プログラムをフェールセーフ部FSのFPGA23に実行させるようにしてもよい。演算制御部153Aが、第3プログラムをフェールセーフ部FSのFPGA23に実行させる方法は、第3プログラムをフェールセーフ部FSのCPU22に実行させる方法と同様の方法を適用することが可能である。
【0087】
また、演算制御部153Aは、メイン部MAINのFPGA23の演算負荷が所定の閾値より大きくなった場合、もしくはメイン部MAINの温度が所定の閾値より上昇した場合、メイン部MAINのFPGA23が行う予定であった処理の全部又は一部の処理(以下、当該処理に対応するプログラムを、第4プログラムという)をフェールセーフ部FSのFPGA23に実行させるようにしてもよい。演算制御部153Aが、第4プログラムをフェールセーフ部FSのFPGA23に実行させる方法は、第3プログラムをフェールセーフ部FSのCPU22に実行させる方法と同様の方法を適用することが可能である。
【0088】
また、演算制御部153Aは、メイン部MAINのFPGA23の演算負荷が所定の閾値より大きくなった場合、もしくはメイン部MAINの温度が所定の閾値より上昇した場合、第4プログラムを、フェールセーフ部FSのCPU22に実行させるようにしてもよい。演算制御部153Aが、第4プログラムをフェールセーフ部FSのCPU22に実行させる方法は、第3プログラムをフェールセーフ部FSのCPU22に実行させる方法と同様の方法を適用することが可能である。
【0089】
演算制御部153Bは、フェールセーフ部FSのCPU22の演算負荷が所定の閾値より大きくなった場合、もしくはフェールセーフ部FSの温度が所定の閾値より上昇した場合、フェールセーフ部FSのCPU22が行う予定であった処理の全部又は一部の処理(以下、当該処理に対応するプログラムを、第5プログラムという)をメイン部MAINのCPU22に実行させる(再割り当てする)。演算制御部153Bは、メイン部MAINのCPU22に実行させた処理の演算結果を、フェールセーフ部FSのCPU22に取得させる。これにより、フェールセーフ部FSのCPU22が行う処理をリアルタイムに処理できるようにする。
【0090】
演算制御部153Bは、第5プログラムをメイン部MAINのCPU22に実行させる前に、ヘルスチェックを行う。ヘルスチェックは、メイン部MAINのCPU22が健全であるか否かを確認する処理である。ヘルスチェックを行うことにより、メイン部MAINのCPU22に処理を実行させた場合に、一過性の不良による誤作動が発生するなどして、第5プログラムが正しく実行できなくなってしまう事態を抑制できる。
【0091】
演算制御部153Bは、例えば、メイン部MAINのCPU22に鍵コードに基づく鍵合成コードを演算させ、当該演算させた結果が、正しい結果であるか否かを判定することにより、ヘルスチェックを行う。この場合、メイン部MAINのMEMORY24におけるCPU22が実行するプログラムを書込む領域には、鍵合成コードを演算するプログラムが記憶される。また、フェールセーフ部FSのMEMORY24におけるCPU22が実行するプログラムや変数を書込む領域には、鍵コード、及び鍵合成コードを演算するプログラムが記憶される。
【0092】
演算制御部153Bは、例えば、メイン部MAINとフェールセーフ部FSとの通信(例えば、IOポートを用いたシリアル通信など)を介して、メイン部MAINに、鍵コードを送付すると共に、送付した鍵コードを用いた鍵合成コードを演算する指示を行う。メイン部MAINのCPU22は、当該指示にしたがって、鍵合成コードを演算するプログラムを実行し、演算結果(鍵合成コード)をフェールセーフ部FSに通知する。演算制御部153Bは、予めフェールセーフ部FSのCPU22に実行させておいた演算結果(鍵合成コード)と、メイン部MAINから通知された演算結果(鍵合成コード)とを比較する。演算制御部153Bは、双方の演算結果が一致する場合、メイン部MAINのCPU22が健全であると判定する。
【0093】
演算制御部153Bは、メイン部MAINのCPU22が健全であると判定した場合、第5プログラムをメイン部MAINのCPU22に実行させる。演算制御部153Bは、メイン部とフェールセーフ部FSとの通信(例えば、IOポートを用いたシリアル通信など)を介して、メイン部MAINに、第5プログラムを実行する指示を行う。メイン部MAINのCPU22は、当該指示にしたがって、第5プログラムを実行し、演算結果をフェールセーフ部FSに通知する。
【0094】
なお、演算制御部153Bは、フェールセーフ部FSのCPU22の演算負荷が所定の閾値より大きくなった場合、もしくはフェールセーフ部FSの温度が所定の閾値より上昇した場合、第5プログラムをメイン部MAINのFPGA23に実行させるようにしてもよい。演算制御部153Bが、第5プログラムをメイン部MAINのFPGA23に実行させる方法は、第5プログラムをメイン部MAINのCPU22に実行させる方法と同様の方法を適用することが可能である。
【0095】
また、演算制御部153Bは、フェールセーフ部FSのFPGA23の演算負荷が所定の閾値より大きくなった場合、もしくはフェールセーフ部FSの温度が所定の閾値より上昇した場合、フェールセーフ部FSのFPGA23が行う予定であった処理の全部又は一部の処理(以下、当該処理に対応するプログラムを、第6プログラムという)をメイン部MAINのFPGA23に実行させるようにしてもよい。演算制御部153Bが、第6プログラムをメイン部MAINのFPGA23に実行させる方法は、第5プログラムをメイン部MAINのCPU22に実行させる方法と同様の方法を適用することが可能である。
【0096】
また、演算制御部153Bは、メイン部MAINのFPGA23の演算負荷が所定の閾値より大きくなった場合、もしくはメイン部MAINの温度が所定の閾値より上昇した場合、第6プログラムを、メイン部MAINのCPU22に実行させるようにしてもよい。演算制御部153Bが、第6プログラムをメイン部MAINのCPU22に実行させる方法は、第5プログラムをメイン部MAINのCPU22に実行させる方法と同様の方法を適用することが可能である。
【0097】
以上説明したように、第2の実施形態の保護制御装置10Aは、メイン部MAINとフェールセーフ部FSとを有する冗長構成である。保護制御装置10Aは、演算負荷測定部151と、演算制御部153A又は演算制御部153Bを備える。演算負荷測定部151は、メイン部MAINとフェールセーフ部FSのいずれか一方に搭載されたCPU22又はFPGA23の演算負荷を測定する。演算制御部153Aは、メイン部MAINに搭載されたCPU22又はFPGA23の演算負荷が所定の閾値(「第4閾値」の一例)よりも大きい場合、メイン部MAINに搭載されたCPU22又はFPGA23によって実行される予定の第3プログラム(「第7演算処理における少なくとも一部の第8演算処理」の一例)を、フェールセーフ部FSに実行させ、フェールセーフ部FSによって実行された第3プログラムの実行結果をメイン部MAINに搭載されたCPU22又はFPGA23に取得させる。演算制御部153Bは、フェールセーフ部FSに搭載されたCPU22又はFPGA23の演算負荷が所定の閾値(「第4閾値」の一例)よりも大きい場合、フェールセーフ部FSに搭載されたCPU22又はFPGA23によって実行される予定の第5プログラム(「第7演算処理における少なくとも一部の第8演算処理」の一例)を、メイン部MAINに実行させ、メイン部MAINによって実行された第5プログラムの実行結果をフェールセーフ部FSに搭載されたCPU22又はFPGA23に取得させる。これにより、第2の実施形態の保護制御装置10Aは、メイン部MAINのプロセッサの演算負荷が増大した場合に、動作クロックの周波数を小さくして発熱を抑えつつ、リアルタイムに処理を行うことが可能となる。また、第2の実施形態の保護制御装置10Aは、フェールセーフ部FSのプロセッサの演算負荷が増大した場合に、動作クロックの周波数を小さくして発熱を抑えつつ、リアルタイムに処理を行うことが可能となる。
【0098】
また、第2の実施形態の保護制御装置10Aでは、演算制御部153Aは、第3プログラムをフェールセーフ部FSの転送先プロセッサに実行させる前に、当該転送先プロセッサのヘルスチェックを行う。ヘルスチェックは、例えば、鍵コードを通知し、通知した鍵コードを用いた演算結果が正しいか否かに基づいて行われる。ヘルスチェックを行うことより、転送先プロセッサが健全であるか否かを確認することができる。したがって、転送先のプロセッサに誤作動が発生するなどして、第3プログラムが正しく実行できなくなってしまう事態を抑制できる。
【0099】
(第3の実施形態)
第3の実施形態について説明する。本実施形態では、保護制御装置10Cが外部機器に処理の再割り当てを行う点において、上述した第1の実施形態と相違する。以下では、上述した第1の実施形態と相違する構成についてのみ説明する。上述した第1の実施形態と同等の構成については、同じ符号を付してその説明を省略する。
【0100】
図6は、第3の実施形態の保護制御装置10Cが適用される電力系統保護制御システム100の構成の例を示す図である。電力系統保護制御システム100は、例えば、複数の保護制御装置10Cと、監視サーバ30と、複数のBCU(Bay Control Unit)40と、電力系統50と、操作端末60とを備える。電力系統保護制御システム100の各構成要素は、通信ネットワークLANを介して、通信可能に接続される。ここで、BCU40は、保護制御装置10Cの一構成例である。
【0101】
監視サーバ30は、複数の保護制御装置10Cの各々を監視する。監視サーバ30は、電力系統50から取得した系統情報、及び保護制御装置10Cの状況に基づいて、保護制御装置10Cが監視する(つまり、状態監視とその制御責務を負う)遮断器を制御するか否かを判定する。監視サーバ30は、保護制御装置10Cが接続される遮断器を制御する場合、当該制御を命ずる指令を通知する。
【0102】
BCU40は、変電所において負荷に電力を供給する回線ごと設けられ、回線に設けられた保護制御装置10Cを含む電力設備の監視、及び制御を行う。BCU40は、回線に設けられた保護制御装置10C、及び遮断器等から、電力の状態等、電力の状態を示す情報を取得する。BCU40は、取得した情報を、監視サーバ30に送信する。
【0103】
操作端末60は、運転員からの操作指令に基づいて、複数の保護制御装置10の各々を制御する。操作端末60は、保護制御装置10Cが監視する遮断器を制御する操作指令がなされた場合、当該制御を命ずる指令を通知する。
【0104】
保護制御装置10Cは、演算制御部153Cを備える。演算制御部153Cは、保護制御装置10CのCPU22の演算負荷もしくは温度が所定の閾値より大きくなった場合、CPU22が行う予定であった処理の全部又は一部の処理(以下、当該処理に対応するプログラムを、第7プログラムという)を外部装置に実行させる(再割り当てする)。ここでの外部装置は、例えば、電力系統保護制御システム100に設けられた複数の保護制御装置10Cのうち、再割り当てを行う保護制御装置10Cとは異なる、他の保護制御装置10Cである。演算制御部153Cは、外部装置に実行させた処理の演算結果を、CPU22に取得させる。これにより、CPU22が行う処理をリアルタイムに処理できるようにする。
【0105】
演算制御部153Cは、通信部154、及び通信ネットワークLANを介して、外部装置に、第7プログラムを実行する旨の指示を行う。外部装置は、当該指示にしたがって、第7プログラムを実行し、通信部154、及び通信ネットワークLANを介して、保護制御装置10Cに通知する。
【0106】
演算制御部153Cは、保護制御装置10CのFPGA23の演算負荷もしくは温度が所定の閾値より大きくなった場合、FPGA23が行う予定であった処理の全部又は一部の処理(以下、当該処理に対応するプログラムを、第8プログラムという)を外部装置に実行させるようにしてもよい。演算制御部153Cが、第8プログラムを外部装置に実行させる方法は、第7プログラムを外部装置に実行させる方法と同様の方法を適用することが可能である。
【0107】
以上、説明した通り、第3の実施形態の保護制御装置10Cでは、演算制御部153Cは、CPU22又はFPGA23の演算負荷もしくは温度が所定の閾値より大きい場合、CPU22によって実行される予定の第7プログラム、又はFPGA23によって実行される予定の第8プログラムを、外部装置に実行させる。演算制御部153は、外部装置によって実行された第7プログラムの実行結果をCPU22に取得させる。又は、演算制御部153は、外部装置によって実行された第8プログラムの実行結果をFPGA23に取得させる。これにより、第3の実施形態の保護制御装置10Cでは、CPU22又はFPGA23の演算負荷が増大した場合もしくは温度が上昇した場合に、処理の一部を外部装置に実行させることが可能である。したがって、CPU22の演算負荷が増大した場合もしくは温度が上昇した場合に、動作クロックの周波数を小さくして発熱を抑えつつ、リアルタイムに処理を行うことが可能となる。
【0108】
以上説明した少なくとも一つの実施形態によれば、保護制御装置10では、CPU演算部13又はFPGA演算部14の処理に応じて、動作クロックの周波数を変更する。これにより、CPU22又はFPGA23から発熱が予測される処理状況である場合に、動作クロックの周波数をより小さい周波数に変更することが可能である。したがって、高温となり得る環境であってもプロセッサの発熱を抑えて故障を抑制することができる。
【0109】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0110】
10…保護制御装置、13…CPU演算部(プロセッサ演算部)、14…FPGA演算部(プロセッサ演算部)、22…CPU(プロセッサ)、23…FPGA(プロセッサ)、150…HMI部(外部情報取得部)、151…演算負荷測定部、152…クロック制御部、153…演算制御部、154…通信部(外部情報取得部)、155…状態変化検出部、156…温度測定部